| @@ -276,7 +276,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| record_limit_count = activityAwardsModel.getAwardsCount(); | record_limit_count = activityAwardsModel.getAwardsCount(); | ||||
| } | } | ||||
| } | } | ||||
| if(record_limit_count > 0){ | |||||
| if(record_limit_count != null && record_limit_count > 0){ | |||||
| OfflineActivityGrantRule grantRule = new OfflineActivityGrantRule(); | OfflineActivityGrantRule grantRule = new OfflineActivityGrantRule(); | ||||
| grantRule.setRecordId(record.getId()); | grantRule.setRecordId(record.getId()); | ||||
| grantRule.setRecord(record); | grantRule.setRecord(record); | ||||
| @@ -330,7 +330,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| private void handleGiftAwards(WxOfflineActivity activity, WxOfflineActivityItem activityItem, List<WxOfflineActivityRecord> recordList){ | private void handleGiftAwards(WxOfflineActivity activity, WxOfflineActivityItem activityItem, List<WxOfflineActivityRecord> recordList){ | ||||
| List<WxOfflineActivityGrantItem> grantItemList = new ArrayList<>(); | List<WxOfflineActivityGrantItem> grantItemList = new ArrayList<>(); | ||||
| Map<Integer, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getGrade, Function.identity())); | |||||
| // Map<Integer, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getGrade, Function.identity())); | |||||
| if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ | if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ | ||||
| for(WxOfflineActivityRecord record :recordList){ | for(WxOfflineActivityRecord record :recordList){ | ||||
| @@ -344,14 +344,23 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| if(awardsGrade == null){ | if(awardsGrade == null){ | ||||
| continue; | continue; | ||||
| } | } | ||||
| WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade); | |||||
| if(awardsItem != null){ | |||||
| WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); | |||||
| grantGrantItem.setRecordId(record.getId()); | |||||
| grantGrantItem.setRecord(record); | |||||
| handlerGrantItem(grantGrantItem,EnumOfflineActivityAwardsModeType.AMOUNT,activity,activityItem,awardsItem); | |||||
| grantItemList.add(grantGrantItem); | |||||
| } | |||||
| WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); | |||||
| grantGrantItem.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.AMOUNT.getCode()); | |||||
| grantGrantItem.setRecordId(record.getId()); | |||||
| grantGrantItem.setRecord(record); | |||||
| grantGrantItem.setAwardGrade(awardsGrade); | |||||
| grantGrantItem.setAwardCount(1); | |||||
| grantItemList.add(grantGrantItem); | |||||
| // WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade); | |||||
| // if(awardsItem != null){ | |||||
| // WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); | |||||
| // grantGrantItem.setRecordId(record.getId()); | |||||
| // grantGrantItem.setRecord(record); | |||||
| // handlerGrantItem(grantGrantItem,EnumOfflineActivityAwardsModeType.AMOUNT,activity,activityItem,awardsItem); | |||||
| // grantItemList.add(grantGrantItem); | |||||
| // } | |||||
| } | } | ||||
| }else{ | }else{ | ||||
| BigDecimal orderMoneySum = activityItem.getRecordList().stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); | BigDecimal orderMoneySum = activityItem.getRecordList().stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); | ||||
| @@ -363,12 +372,18 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| } | } | ||||
| if(awardsGrade != null){ | if(awardsGrade != null){ | ||||
| WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade); | |||||
| if(awardsItem != null){ | |||||
| WxOfflineActivityGrantItem wxOfflineActivityGrantItem = new WxOfflineActivityGrantItem(); | |||||
| handlerGrantItem(wxOfflineActivityGrantItem,EnumOfflineActivityAwardsModeType.AMOUNT,activity,activityItem,awardsItem); | |||||
| grantItemList.add(wxOfflineActivityGrantItem); | |||||
| } | |||||
| WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); | |||||
| grantGrantItem.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.AMOUNT.getCode()); | |||||
| grantGrantItem.setAwardGrade(awardsGrade); | |||||
| grantGrantItem.setAwardCount(1); | |||||
| grantItemList.add(grantGrantItem); | |||||
| // WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(awardsGrade); | |||||
| // if(awardsItem != null){ | |||||
| // WxOfflineActivityGrantItem wxOfflineActivityGrantItem = new WxOfflineActivityGrantItem(); | |||||
| // handlerGrantItem(wxOfflineActivityGrantItem,EnumOfflineActivityAwardsModeType.AMOUNT,activity,activityItem,awardsItem); | |||||
| // grantItemList.add(wxOfflineActivityGrantItem); | |||||
| // } | |||||
| } | } | ||||
| } | } | ||||
| @@ -378,12 +393,18 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| Map<Integer, WxOfflineActivityAwardsModel> jointCountMap = activityItem.getActivityAwardsModelSecondList().stream().collect(toMap(WxOfflineActivityAwardsModel::getMerchantCount, Function.identity())); | Map<Integer, WxOfflineActivityAwardsModel> jointCountMap = activityItem.getActivityAwardsModelSecondList().stream().collect(toMap(WxOfflineActivityAwardsModel::getMerchantCount, Function.identity())); | ||||
| WxOfflineActivityAwardsModel activityAwardsModel = jointCountMap.get(jointCount); | WxOfflineActivityAwardsModel activityAwardsModel = jointCountMap.get(jointCount); | ||||
| if(activityAwardsModel != null && activityAwardsModel.getAwardsGrade() != null){ | if(activityAwardsModel != null && activityAwardsModel.getAwardsGrade() != null){ | ||||
| WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(activityAwardsModel.getAwardsGrade()); | |||||
| if(awardsItem != null){ | |||||
| WxOfflineActivityGrantItem wxOfflineActivityGrantItem = new WxOfflineActivityGrantItem(); | |||||
| handlerGrantItem(wxOfflineActivityGrantItem,EnumOfflineActivityAwardsModeType.COUNT,activity,activityItem,awardsItem); | |||||
| grantItemList.add(wxOfflineActivityGrantItem); | |||||
| } | |||||
| WxOfflineActivityGrantItem grantGrantItem = new WxOfflineActivityGrantItem(); | |||||
| grantGrantItem.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.COUNT.getCode()); | |||||
| grantGrantItem.setAwardGrade(activityAwardsModel.getAwardsGrade()); | |||||
| grantGrantItem.setAwardCount(1); | |||||
| grantItemList.add(grantGrantItem); | |||||
| // WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(activityAwardsModel.getAwardsGrade()); | |||||
| // if(awardsItem != null){ | |||||
| // WxOfflineActivityGrantItem wxOfflineActivityGrantItem = new WxOfflineActivityGrantItem(); | |||||
| // handlerGrantItem(wxOfflineActivityGrantItem,EnumOfflineActivityAwardsModeType.COUNT,activity,activityItem,awardsItem); | |||||
| // grantItemList.add(wxOfflineActivityGrantItem); | |||||
| // } | |||||
| } | } | ||||
| } | } | ||||
| @@ -405,7 +426,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| grantAwardsItem = awardsItem; | grantAwardsItem = awardsItem; | ||||
| } | } | ||||
| } | } | ||||
| if(grantAwardsItem != null){ | |||||
| if(grantAwardsItem != null && grantAwardsItem.getCashBackRatio() != null){ | |||||
| //计算返现金额 | //计算返现金额 | ||||
| BigDecimal cashBackPrice = record.getOrderMoney().multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); | BigDecimal cashBackPrice = record.getOrderMoney().multiply(grantAwardsItem.getCashBackRatio().divide(new BigDecimal(100))); | ||||
| if(grantAwardsItem.getLimitPrice() != null && grantAwardsItem.getLimitPrice().compareTo(BigDecimal.ZERO) > 0 | if(grantAwardsItem.getLimitPrice() != null && grantAwardsItem.getLimitPrice().compareTo(BigDecimal.ZERO) > 0 | ||||
| @@ -437,7 +458,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| grantAwardsItem = awardsItem; | grantAwardsItem = awardsItem; | ||||
| } | } | ||||
| } | } | ||||
| if(grantAwardsItem != null){ | |||||
| if(grantAwardsItem != null && grantAwardsItem.getCashBackRatio() != null){ | |||||
| //计算返现金额 | //计算返现金额 | ||||
| BigDecimal cashBackPrice = orderMoneySum | BigDecimal cashBackPrice = orderMoneySum | ||||
| @@ -460,7 +481,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| if(jointCount != 0 && activityItem.getActivityAwardsItemSecondList() != null && !activityItem.getActivityAwardsItemSecondList().isEmpty()){ | if(jointCount != 0 && activityItem.getActivityAwardsItemSecondList() != null && !activityItem.getActivityAwardsItemSecondList().isEmpty()){ | ||||
| Map<Integer, WxOfflineActivityAwardsItem> jointCountMap = activityItem.getActivityAwardsItemSecondList().stream().collect(toMap(WxOfflineActivityAwardsItem::getMerchantCount, Function.identity())); | Map<Integer, WxOfflineActivityAwardsItem> jointCountMap = activityItem.getActivityAwardsItemSecondList().stream().collect(toMap(WxOfflineActivityAwardsItem::getMerchantCount, Function.identity())); | ||||
| WxOfflineActivityAwardsItem awardsSecondItem = jointCountMap.get(jointCount); | WxOfflineActivityAwardsItem awardsSecondItem = jointCountMap.get(jointCount); | ||||
| if(awardsSecondItem != null){ | |||||
| if(awardsSecondItem != null && awardsSecondItem.getCashBackRatio() != null){ | |||||
| BigDecimal orderMoneySum = recordList.stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); | BigDecimal orderMoneySum = recordList.stream().map(WxOfflineActivityRecord::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); | ||||
| //计算返现金额 | //计算返现金额 | ||||
| BigDecimal cashBackPrice = orderMoneySum | BigDecimal cashBackPrice = orderMoneySum | ||||
| @@ -757,7 +778,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| // if(wxOfflineActivityGrantAward.getOrderMoneySum().compareTo(activityItem.getLimitMoney()) < 0){ | // if(wxOfflineActivityGrantAward.getOrderMoneySum().compareTo(activityItem.getLimitMoney()) < 0){ | ||||
| // throw new MallinkException(Result.ERROR, "活动项"+activityItem.getName()+"金额不满足"); | // throw new MallinkException(Result.ERROR, "活动项"+activityItem.getName()+"金额不满足"); | ||||
| // } | // } | ||||
| boolean isAwardItamId = activityGrantItemList.stream().anyMatch(grantItem -> grantItem.getAwardItamId() == null); | |||||
| if(isAwardItamId){ | |||||
| throw new MallinkException(Result.ERROR, "请检查抽奖活动是否都选择奖项"); | |||||
| } | |||||
| //所得奖项不能重复, 后续计算问题 | //所得奖项不能重复, 后续计算问题 | ||||
| boolean isRepeat = activityGrantItemList.stream() | boolean isRepeat = activityGrantItemList.stream() | ||||
| .collect(groupingBy(e -> String.valueOf(e.getAwardItamId())+String.valueOf(e.getRecordId()), counting())) | .collect(groupingBy(e -> String.valueOf(e.getAwardItamId())+String.valueOf(e.getRecordId()), counting())) | ||||
| @@ -767,9 +791,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) { | for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) { | ||||
| if(grantGrantItem.getAwardItamId() == null){ | |||||
| throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | |||||
| } | |||||
| // if(grantGrantItem.getAwardItamId() == null){ | |||||
| // throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | |||||
| // } | |||||
| WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(grantGrantItem.getAwardItamId()); | WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(grantGrantItem.getAwardItamId()); | ||||
| if(awardsItem == null){ | if(awardsItem == null){ | ||||
| throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | ||||
| @@ -789,10 +813,47 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ | else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ | ||||
| handleGiftAwards(activity,activityItem,wxOfflineActivityGrantAward.getRecordList()); | |||||
| if(activityItem.getActivityGrantItemList().isEmpty()){ | |||||
| if(activityGrantItemList == null || activityGrantItemList.isEmpty()){ | |||||
| continue; | continue; | ||||
| } | } | ||||
| boolean isAwardItamId = activityGrantItemList.stream().anyMatch(grantItem -> grantItem.getAwardItamId() == null); | |||||
| if(isAwardItamId){ | |||||
| throw new MallinkException(Result.ERROR, "请检查赠礼活动是否都选择奖项"); | |||||
| } | |||||
| //所得奖项不能重复, 后续计算问题 | |||||
| boolean isRepeat = activityGrantItemList.stream() | |||||
| .collect(groupingBy(e -> String.valueOf(e.getAwardItamId())+String.valueOf(e.getGrantAwardsMode())+String.valueOf(e.getRecordId()), counting())) | |||||
| .entrySet().stream().anyMatch(e -> e.getValue() > 1); | |||||
| if(isRepeat){ | |||||
| throw new MallinkException(Result.ERROR, "请检查赠礼活动奖项存在重复"); | |||||
| } | |||||
| for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) { | |||||
| // if(grantGrantItem.getAwardItamId() == null){ | |||||
| // throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | |||||
| // } | |||||
| WxOfflineActivityAwardsItem awardsItem = awardsItemMap.get(grantGrantItem.getAwardItamId()); | |||||
| if(awardsItem == null){ | |||||
| throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项参数"); | |||||
| } | |||||
| if(grantGrantItem.getGrantAwardsMode() == null){ | |||||
| throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项类型参数"); | |||||
| } | |||||
| EnumOfflineActivityAwardsModeType modeType = EnumOfflineActivityAwardsModeType.getEnum(grantGrantItem.getGrantAwardsMode()); | |||||
| if(modeType == null){ | |||||
| throw new MallinkException(Result.ERROR, "请检查活动"+activityItem.getName()+"奖项类型参数"); | |||||
| } | |||||
| handlerGrantItem(grantGrantItem, modeType, activity, activityItem, awardsItem); | |||||
| } | |||||
| activityItem.setActivityGrantItemList(activityGrantItemList); | |||||
| // handleGiftAwards(activity,activityItem,wxOfflineActivityGrantAward.getRecordList()); | |||||
| // if(activityItem.getActivityGrantItemList().isEmpty()){ | |||||
| // continue; | |||||
| // } | |||||
| } | } | ||||
| else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { | else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { | ||||
| handleCashback(activity,activityItem,wxOfflineActivityGrantAward.getRecordList()); | handleCashback(activity,activityItem,wxOfflineActivityGrantAward.getRecordList()); | ||||
| @@ -2099,8 +2160,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| List<Map<String,Object>> grantItemObjectList = new ArrayList<>(); | List<Map<String,Object>> grantItemObjectList = new ArrayList<>(); | ||||
| //单笔订单 | |||||
| Map<Long, List<OfflineActivityGrantItemVo>> grantItemMap; | |||||
| WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); | WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); | ||||
| grantSettlement.updateTenantInfo(activityItem); | grantSettlement.updateTenantInfo(activityItem); | ||||
| grantSettlement.setActivityItemId(activityItem.getId()); | grantSettlement.setActivityItemId(activityItem.getId()); | ||||
| @@ -2111,10 +2170,9 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| } | } | ||||
| List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); | List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); | ||||
| if(grantItemList != null && !grantItemList.isEmpty()){ | 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()); | Long maxGrantItemSize = Collections.max(grantItemSizeMap.values()); | ||||
| for (int i = 0; i < maxGrantItemSize.intValue(); i++) { | for (int i = 0; i < maxGrantItemSize.intValue(); i++) { | ||||
| ExcelExportEntity entity_1 = new ExcelExportEntity("奖品名称","awardName_"+i,20); | ExcelExportEntity entity_1 = new ExcelExportEntity("奖品名称","awardName_"+i,20); | ||||
| @@ -2135,7 +2193,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| exportHead.add(entity_7); | 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<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); | ||||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordService.selectListByIds(recordIds,activityItem); | List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordService.selectListByIds(recordIds,activityItem); | ||||
| @@ -2144,27 +2202,50 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||||
| List<WxOfflineActivityGrantAward> grantList = this.selectListByIds(grantIds,activityItem); | List<WxOfflineActivityGrantAward> grantList = this.selectListByIds(grantIds,activityItem); | ||||
| Map<Long, WxOfflineActivityGrantAward> grantMap = grantList.stream().collect(toMap(WxOfflineActivityGrantAward::getId, Function.identity())); | 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); | excelService.exportExcel(exportHead, grantItemObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); | ||||