Browse Source

//AwardsItem

release_toaliyun_real
xiaohu 1 year ago
parent
commit
e8e282aebe
1 changed files with 45 additions and 25 deletions
  1. +45
    -25
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java

+ 45
- 25
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java View File

@@ -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);


Loading…
Cancel
Save