From e8e282aebe4af22210b5d1323914bca276bccd29 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Sun, 27 Apr 2025 11:21:21 +0800 Subject: [PATCH] //AwardsItem --- ...xOfflineActivityGrantAwardServiceImpl.java | 70 ++++++++++++------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index 5a8f77fce..e5e7d476b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -2160,8 +2160,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity List> grantItemObjectList = new ArrayList<>(); - //单笔订单 - Map> grantItemMap; WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); grantSettlement.updateTenantInfo(activityItem); grantSettlement.setActivityItemId(activityItem.getId()); @@ -2172,10 +2170,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } List grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); if(grantItemList != null && !grantItemList.isEmpty()){ - grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId)); //订单表头 - Map grantItemSizeMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId, counting())); + Map grantItemSizeMap = grantItemList.stream().collect(groupingBy(e -> String.valueOf(e.getGrantId())+String.valueOf(e.getRecordId()), counting())); Long maxGrantItemSize = Collections.max(grantItemSizeMap.values()); for (int i = 0; i < maxGrantItemSize.intValue(); i++) { ExcelExportEntity entity_1 = new ExcelExportEntity("奖品名称","awardName_"+i,20); @@ -2196,7 +2193,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity exportHead.add(entity_7); } - List recordIds = new ArrayList<>(grantItemMap.keySet()); + List recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); List grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); List recordList = wxOfflineActivityRecordService.selectListByIds(recordIds,activityItem); @@ -2205,27 +2202,50 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity List grantList = this.selectListByIds(grantIds,activityItem); Map grantMap = grantList.stream().collect(toMap(WxOfflineActivityGrantAward::getId, Function.identity())); - - recordIds.forEach(recordId -> { - List recordgrantItemList = grantItemMap.get(recordId); - Long grantId = recordgrantItemList.get(0).getGrantId(); - WxOfflineActivityRecord record = recordMap.get(recordId); - WxOfflineActivityGrantAward grant = grantMap.get(grantId); - Map grantItemObject= getGrantItemExportObject(record,grant); - - for (int i=0;i> grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getGrantId)); + grantItemMap.keySet().forEach(grantId -> { + List offlineActivityGrantItemVos = grantItemMap.get(grantId); + Map> recordGrantItemMap = offlineActivityGrantItemVos.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId)); + recordGrantItemMap.keySet().forEach(recordId -> { + List recordGrantItemList = recordGrantItemMap.get(recordId); + WxOfflineActivityRecord record = recordMap.get(recordId); + WxOfflineActivityGrantAward grant = grantMap.get(grantId); + Map grantItemObject= getGrantItemExportObject(record,grant); + for (int i=0;i { +// List recordgrantItemList = grantItemMap.get(recordId); +// Long grantId = recordgrantItemList.get(0).getGrantId(); +// WxOfflineActivityRecord record = recordMap.get(recordId); +// WxOfflineActivityGrantAward grant = grantMap.get(grantId); +// Map grantItemObject= getGrantItemExportObject(record,grant); +// +// for (int i=0;i