diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/gift/query/ActivityGiftListQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/gift/query/ActivityGiftListQryExe.java index 08dcd9df..1560bba2 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/gift/query/ActivityGiftListQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/gift/query/ActivityGiftListQryExe.java @@ -42,16 +42,15 @@ public class ActivityGiftListQryExe { } // 构建 giftId -> bannerId 的映射(取第一个遇到的 bannerId) - Map giftIdToBannerIdMap = new HashMap<>(); + Map giftIdToBannerIdMap = new HashMap<>(); List giftIds = new ArrayList<>(); for (ActivityConfig activity : activities) { - Long bannerId = activity.getBannerId(); if (CollectionUtils.isNotEmpty(activity.getGiftIds())) { for (Object giftIdObj : activity.getGiftIds()) { Long giftId = Long.valueOf(giftIdObj.toString()); if (!giftIdToBannerIdMap.containsKey(giftId)) { - giftIdToBannerIdMap.put(giftId, bannerId); + giftIdToBannerIdMap.put(giftId, activity); giftIds.add(giftId); } } @@ -64,7 +63,7 @@ public class ActivityGiftListQryExe { // 收集所有需要查询的 bannerId(去重) List bannerIds = giftIdToBannerIdMap.values().stream() - .filter(Objects::nonNull).distinct().collect(Collectors.toList()); + .filter(Objects::nonNull).map(ActivityConfig::getBannerId).distinct().collect(Collectors.toList()); Map bannerUrlMap; if (!bannerIds.isEmpty()) { @@ -88,7 +87,7 @@ public class ActivityGiftListQryExe { } private ActivityGiftCO convertToActivityGiftCO(GiftConfig giftConfig, - Map giftIdToBannerIdMap, + Map giftIdToBannerIdMap, Map bannerUrlMap) { ActivityGiftCO activityGiftCO = new ActivityGiftCO(); activityGiftCO.setId(giftConfig.getId()); @@ -103,9 +102,10 @@ public class ActivityGiftListQryExe { activityGiftCO.setExpiredTime(giftConfig.getExpiredTime()); // 设置 bannerUrl - Long bannerId = giftIdToBannerIdMap.get(giftConfig.getId()); - String bannerUrl = (bannerId != null) ? bannerUrlMap.get(bannerId) : null; + ActivityConfig activityConfig = giftIdToBannerIdMap.get(giftConfig.getId()); + String bannerUrl = (activityConfig.getBannerId() != null) ? bannerUrlMap.get(activityConfig.getBannerId()) : null; activityGiftCO.setBannerUrl(bannerUrl); + activityGiftCO.setActivityId(activityConfig.getId()); return activityGiftCO; } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/gift/ActivityGiftCO.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/gift/ActivityGiftCO.java index 8de2568b..beb2d263 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/gift/ActivityGiftCO.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/gift/ActivityGiftCO.java @@ -72,6 +72,11 @@ public class ActivityGiftCO extends ClientObject { */ private Timestamp expiredTime; + /** + * 活动ID + */ + private Long activityId; + /** * banner地址. */