| @@ -2160,8 +2160,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| List<Map<String,Object>> grantItemObjectList = new ArrayList<>(); | |||
| //单笔订单 | |||
| Map<Long, List<OfflineActivityGrantItemVo>> grantItemMap; | |||
| WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); | |||
| grantSettlement.updateTenantInfo(activityItem); | |||
| grantSettlement.setActivityItemId(activityItem.getId()); | |||
| @@ -2172,10 +2170,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| } | |||
| List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); | |||
| if(grantItemList != null && !grantItemList.isEmpty()){ | |||
| grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId)); | |||
| //订单表头 | |||
| Map<Long, Long> grantItemSizeMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId, counting())); | |||
| Map<String, Long> 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<Long> recordIds = new ArrayList<>(grantItemMap.keySet()); | |||
| List<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); | |||
| List<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordService.selectListByIds(recordIds,activityItem); | |||
| @@ -2205,27 +2202,50 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| List<WxOfflineActivityGrantAward> grantList = this.selectListByIds(grantIds,activityItem); | |||
| Map<Long, WxOfflineActivityGrantAward> grantMap = grantList.stream().collect(toMap(WxOfflineActivityGrantAward::getId, Function.identity())); | |||
| recordIds.forEach(recordId -> { | |||
| List<OfflineActivityGrantItemVo> recordgrantItemList = grantItemMap.get(recordId); | |||
| Long grantId = recordgrantItemList.get(0).getGrantId(); | |||
| WxOfflineActivityRecord record = recordMap.get(recordId); | |||
| WxOfflineActivityGrantAward grant = grantMap.get(grantId); | |||
| Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant); | |||
| for (int i=0;i<recordgrantItemList.size();i++){ | |||
| OfflineActivityGrantItemVo grantItem = recordgrantItemList.get(i); | |||
| grantItemObject.put("awardName_"+i,grantItem.getAwardName()); | |||
| grantItemObject.put("awardCount_"+i,grantItem.getAwardCount()); | |||
| grantItemObject.put("awardPrice_"+i,grantItem.getAwardPrice()); | |||
| grantItemObject.put("realGrantPrice_"+i,grantItem.getRealGrantPrice()); | |||
| grantItemObject.put("mallShareRate_"+i,grantItem.getMallShareRate()); | |||
| grantItemObject.put("merchantShareRate_"+i,grantItem.getMerchantShareRate()); | |||
| grantItemObject.put("realMallSharePrice_"+i,grantItem.getRealMallSharePrice()); | |||
| grantItemObject.put("realMerchantSharePrice_"+i,grantItem.getRealMerchantSharePrice()); | |||
| } | |||
| grantItemObjectList.add(grantItemObject); | |||
| Map<Long, List<OfflineActivityGrantItemVo>> grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getGrantId)); | |||
| grantItemMap.keySet().forEach(grantId -> { | |||
| List<OfflineActivityGrantItemVo> offlineActivityGrantItemVos = grantItemMap.get(grantId); | |||
| Map<Long, List<OfflineActivityGrantItemVo>> recordGrantItemMap = offlineActivityGrantItemVos.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId)); | |||
| recordGrantItemMap.keySet().forEach(recordId -> { | |||
| List<OfflineActivityGrantItemVo> recordGrantItemList = recordGrantItemMap.get(recordId); | |||
| WxOfflineActivityRecord record = recordMap.get(recordId); | |||
| WxOfflineActivityGrantAward grant = grantMap.get(grantId); | |||
| Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant); | |||
| for (int i=0;i<recordGrantItemList.size();i++){ | |||
| OfflineActivityGrantItemVo grantItem = recordGrantItemList.get(i); | |||
| grantItemObject.put("awardName_"+i,grantItem.getAwardName()); | |||
| grantItemObject.put("awardCount_"+i,grantItem.getAwardCount()); | |||
| grantItemObject.put("awardPrice_"+i,grantItem.getAwardPrice()); | |||
| grantItemObject.put("realGrantPrice_"+i,grantItem.getRealGrantPrice()); | |||
| grantItemObject.put("mallShareRate_"+i,grantItem.getMallShareRate()); | |||
| grantItemObject.put("merchantShareRate_"+i,grantItem.getMerchantShareRate()); | |||
| grantItemObject.put("realMallSharePrice_"+i,grantItem.getRealMallSharePrice()); | |||
| grantItemObject.put("realMerchantSharePrice_"+i,grantItem.getRealMerchantSharePrice()); | |||
| } | |||
| grantItemObjectList.add(grantItemObject); | |||
| }); | |||
| }); | |||
| // recordIds.forEach(recordId -> { | |||
| // List<OfflineActivityGrantItemVo> recordgrantItemList = grantItemMap.get(recordId); | |||
| // Long grantId = recordgrantItemList.get(0).getGrantId(); | |||
| // WxOfflineActivityRecord record = recordMap.get(recordId); | |||
| // WxOfflineActivityGrantAward grant = grantMap.get(grantId); | |||
| // Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant); | |||
| // | |||
| // for (int i=0;i<recordgrantItemList.size();i++){ | |||
| // OfflineActivityGrantItemVo grantItem = recordgrantItemList.get(i); | |||
| // grantItemObject.put("awardName_"+i,grantItem.getAwardName()); | |||
| // grantItemObject.put("awardCount_"+i,grantItem.getAwardCount()); | |||
| // grantItemObject.put("awardPrice_"+i,grantItem.getAwardPrice()); | |||
| // grantItemObject.put("realGrantPrice_"+i,grantItem.getRealGrantPrice()); | |||
| // grantItemObject.put("mallShareRate_"+i,grantItem.getMallShareRate()); | |||
| // grantItemObject.put("merchantShareRate_"+i,grantItem.getMerchantShareRate()); | |||
| // grantItemObject.put("realMallSharePrice_"+i,grantItem.getRealMallSharePrice()); | |||
| // grantItemObject.put("realMerchantSharePrice_"+i,grantItem.getRealMerchantSharePrice()); | |||
| // } | |||
| // grantItemObjectList.add(grantItemObject); | |||
| // }); | |||
| } | |||
| excelService.exportExcel(exportHead, grantItemObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); | |||