diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java index 17f842f12..ff7351554 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java @@ -623,6 +623,10 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl headList = wxVtwoActivityGrantExportTwoService.getExportHeadList(); +// //获得最大奖项数量 + Integer orderGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxOrderGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); + Integer jointGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxJointGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); + if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ ExcelExportEntity entity14 = new ExcelExportEntity(null,"orderGrantList",220); List entity14_list = new ArrayList<>(); @@ -725,45 +729,51 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl orderGrantAward = JSONObject.parseArray(e.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); if(orderGrantAward != null && !orderGrantAward.isEmpty()){ if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - Map orderGrantAwardMap = orderGrantAward.stream().collect(toMap(WxVtwoActivityGrantAward::getOrderId,Function.identity())); - List sortList = new ArrayList<>(); - e.getOrderList().forEach(order -> { - WxVtwoActivityGrantAward grantAward = orderGrantAwardMap.get(order.getId());; - if(grantAward != null){ - WxVtwoActivityGrantSettlement grantSettlement = grantAward.getGrantSettlementList().get(0); - grantAward.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); - grantAward.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); - sortList.add(grantAward); - } else{ - sortList.add(new WxVtwoActivityGrantAward()); - } - }); - - map.put("orderGrantList",sortList); + Map> orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId)); + List sortList = new ArrayList<>(); + for(int i=1;i<=orderGrantCount;i++){ + int finalI = i-1; + e.getOrderList().forEach(order -> { + List grantAwardList = orderGrantAwardMap.get(order.getId()); + WxVtwoActivityGrantAward grantAward = null; + if(grantAwardList != null && !grantAwardList.isEmpty() && grantAwardList.size() > finalI){ + grantAward = grantAwardList.get(finalI); + } + if(grantAward != null){ + WxVtwoActivityGrantSettlement grantSettlement = grantAward.getGrantSettlementList().get(0); + grantAward.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); + grantAward.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); + sortList.add(grantAward); + } else{ + sortList.add(new WxVtwoActivityGrantAward()); + } + }); + } + map.put("orderGrantList",sortList); }else{ - WxVtwoActivityGrantAward grantAward = orderGrantAward.get(0); - map.put("awardName_o",grantAward.getAwardName()); - map.put("awardCount_o",grantAward.getAwardCount()); - map.put("grantPrice_o",grantAward.getGrantPrice()); - map.put("mallShareRate_o",grantAward.getMallShareRate()); - map.put("merchantShareRate_o",grantAward.getMerchantShareRate()); - - List> sharePriceList = new ArrayList<>(); - - Map grantSettlementMap = grantAward.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); - e.getOrderList().forEach(order -> { - WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); - Map sharePriceObject = new HashMap<>(); - if(grantSettlement != null){ - sharePriceObject.put("mallSharePrice",grantSettlement.getOrderMallSharePrice()); - sharePriceObject.put("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); - }else{ - sharePriceObject.put("mallSharePrice",0); - sharePriceObject.put("merchantSharePrice",0); - } - sharePriceList.add(sharePriceObject); - }); + WxVtwoActivityGrantAward grantAward = orderGrantAward.get(0); + map.put("awardName_o",grantAward.getAwardName()); + map.put("awardCount_o",grantAward.getAwardCount()); + map.put("grantPrice_o",grantAward.getGrantPrice()); + map.put("mallShareRate_o",grantAward.getMallShareRate()); + map.put("merchantShareRate_o",grantAward.getMerchantShareRate()); + + List> sharePriceList = new ArrayList<>(); + + Map grantSettlementMap = grantAward.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + e.getOrderList().forEach(order -> { + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + Map sharePriceObject = new HashMap<>(); + if(grantSettlement != null){ + sharePriceObject.put("mallSharePrice",grantSettlement.getOrderMallSharePrice()); + sharePriceObject.put("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); + }else{ + sharePriceObject.put("mallSharePrice",0); + sharePriceObject.put("merchantSharePrice",0); + } + sharePriceList.add(sharePriceObject); + }); map.put("sharePriceList_o",sharePriceList); } @@ -771,30 +781,30 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl jointGrantAward = JSONObject.parseArray(e.getJointGrantDetail(), WxVtwoActivityGrantAward.class); if(jointGrantAward != null && !jointGrantAward.isEmpty()){ - WxVtwoActivityGrantAward jointOne = jointGrantAward.get(0); - map.put("awardName_c",jointOne.getAwardName()); - map.put("awardCount_c",jointOne.getAwardCount()); - map.put("grantPrice_c",jointOne.getGrantPrice()); - map.put("mallShareRate_c",jointOne.getMallShareRate()); - map.put("merchantShareRate_c",jointOne.getMerchantShareRate()); - - List> jointSharePriceList = new ArrayList<>(); - - Map grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); - e.getOrderList().forEach(order -> { - WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); - Map jointSharePriceObject = new HashMap<>(); - if(grantSettlement != null){ - jointSharePriceObject.put("mallSharePrice",grantSettlement.getOrderMallSharePrice()); - jointSharePriceObject.put("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); - }else{ - jointSharePriceObject.put("mallSharePrice",0); - jointSharePriceObject.put("merchantSharePrice",0); - } - jointSharePriceList.add(jointSharePriceObject); - }); - - map.put("sharePriceList_c",jointSharePriceList); + List> jointSharePriceList = new ArrayList<>(); + for(int j=1;j<=jointGrantAward.size();j++){ + WxVtwoActivityGrantAward jointOne = jointGrantAward.get(j-1); + map.put("awardName_c",jointOne.getAwardName()); + map.put("awardCount_c",jointOne.getAwardCount()); + map.put("grantPrice_c",jointOne.getGrantPrice()); + map.put("mallShareRate_c",jointOne.getMallShareRate()); + map.put("merchantShareRate_c",jointOne.getMerchantShareRate()); + + Map grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + e.getOrderList().forEach(order -> { + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + Map jointSharePriceObject = new HashMap<>(); + if(grantSettlement != null){ + jointSharePriceObject.put("mallSharePrice",grantSettlement.getOrderMallSharePrice()); + jointSharePriceObject.put("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); + }else{ + jointSharePriceObject.put("mallSharePrice",0); + jointSharePriceObject.put("merchantSharePrice",0); + } + jointSharePriceList.add(jointSharePriceObject); + }); + } + map.put("sharePriceList_c",jointSharePriceList); } return map;