From 241a081913a675267c00eee0c7fa6265d7603edb Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Sun, 9 Nov 2025 17:55:50 +0800 Subject: [PATCH] fix --- .../WxVtwoPrizeDrawActivityServiceImpl.java | 134 +++++++++--------- 1 file changed, 65 insertions(+), 69 deletions(-) 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 cd0ddc10f..acb2ac77b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java @@ -641,87 +641,83 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl orderGrantAward = JSONObject.parseArray(aget.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); - if(orderGrantAward != null && !orderGrantAward.isEmpty()){ - - //联单 - List jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class); + //联单 + List jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class); //统计每个订单发奖的列表,针对单个订单计算的 Map> orderGrantAwardMap = null; //单笔订单计算,数据里面才有orderId if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId)); + if (orderGrantAward != null && !orderGrantAward.isEmpty()) { + orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId)); + } } //根据每个订单发奖的列表来循环生成多行 if (null != aget.getOrderList() && !aget.getOrderList().isEmpty()) { for (int p = 0 ; p < aget.getOrderList().size(); p++) { - WxVtwoActivityPrizeDrawOrderData order = aget.getOrderList().get(p); + WxVtwoActivityPrizeDrawOrderData order = aget.getOrderList().get(p); - List orderGrantList = new ArrayList(); - //这个订单里面有多少个奖品 - List grantAwardList = null; - if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - grantAwardList = orderGrantAwardMap.get(order.getId()); - }else { - grantAwardList = orderGrantAward; - } - - if (null != grantAwardList && grantAwardList.size() > 0 ) { - for (int i = 0; i < grantAwardList.size(); i++) { - WxVtwoActivityGrantAward ga = grantAwardList.get(i); - WxVtwoActivityPrizeDrawPrizeDetailData awardd = new WxVtwoActivityPrizeDrawPrizeDetailData(); - awardd.initByWxVtwoActivityGrantAward(ga); - //单笔订单计算 - if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - WxVtwoActivityGrantSettlement grantSettlement = ga.getGrantSettlementList().get(0); - awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); - awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); - }else { - Map grantSettlementMap = ga.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); - WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); - if(grantSettlement != null){ - awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); - awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); - }else{ - awardd.setMallSharePrice(new BigDecimal(0)); - awardd.setMerchantSharePrice(new BigDecimal(0)); - } - } - orderGrantList.add(awardd); - } - } - order.setOrderGrantList(orderGrantList); - - List orderLinkList = new ArrayList(); - if(jointGrantAward != null && !jointGrantAward.isEmpty()){ - for (int i = 0 ; i < jointGrantAward.size() ; i ++) { - WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i); - WxVtwoActivityPrizeDrawPrizeDetailData awarddLink = new WxVtwoActivityPrizeDrawPrizeDetailData(); - awarddLink.initByWxVtwoActivityGrantAward(jointOne); - - Map grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); - WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); - if(grantSettlement != null){ - awarddLink.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); - awarddLink.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice());; - }else{ - awarddLink.setMallSharePrice(new BigDecimal(0)); - awarddLink.setMerchantSharePrice(new BigDecimal(0)); - } - - orderLinkList.add(awarddLink); - } - } - - - + if (orderGrantAward != null && !orderGrantAward.isEmpty()) { + List orderGrantList = new ArrayList(); + //这个订单里面有多少个奖品 + List grantAwardList = null; + if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ + grantAwardList = orderGrantAwardMap.get(order.getId()); + }else { + grantAwardList = orderGrantAward; + } + + if (null != grantAwardList && grantAwardList.size() > 0 ) { + for (int i = 0; i < grantAwardList.size(); i++) { + WxVtwoActivityGrantAward ga = grantAwardList.get(i); + WxVtwoActivityPrizeDrawPrizeDetailData awardd = new WxVtwoActivityPrizeDrawPrizeDetailData(); + awardd.initByWxVtwoActivityGrantAward(ga); + //单笔订单计算 + if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ + WxVtwoActivityGrantSettlement grantSettlement = ga.getGrantSettlementList().get(0); + awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); + awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); + }else { + Map grantSettlementMap = ga.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + if(grantSettlement != null){ + awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); + awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice()); + }else{ + awardd.setMallSharePrice(new BigDecimal(0)); + awardd.setMerchantSharePrice(new BigDecimal(0)); + } + } + orderGrantList.add(awardd); + } + } + order.setOrderGrantList(orderGrantList); + } + + if (jointGrantAward != null && !jointGrantAward.isEmpty()) { + List orderLinkList = new ArrayList(); + for (int i = 0 ; i < jointGrantAward.size() ; i ++) { + WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i); + WxVtwoActivityPrizeDrawPrizeDetailData awarddLink = new WxVtwoActivityPrizeDrawPrizeDetailData(); + awarddLink.initByWxVtwoActivityGrantAward(jointOne); + + Map grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + if(grantSettlement != null){ + awarddLink.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); + awarddLink.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice());; + }else{ + awarddLink.setMallSharePrice(new BigDecimal(0)); + awarddLink.setMerchantSharePrice(new BigDecimal(0)); + } + + orderLinkList.add(awarddLink); + } + order.setOrderLinkList(orderLinkList); + } } - } - - - } - + } } } return activityGrantExportList;