| @@ -641,87 +641,83 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD | |||
| //发奖记录,针对客户发奖,可一次发多个订单 | |||
| List<WxVtwoActivityGrantAward> orderGrantAward = JSONObject.parseArray(aget.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); | |||
| if(orderGrantAward != null && !orderGrantAward.isEmpty()){ | |||
| //联单 | |||
| List<WxVtwoActivityGrantAward> jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class); | |||
| //联单 | |||
| List<WxVtwoActivityGrantAward> jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class); | |||
| //统计每个订单发奖的列表,针对单个订单计算的 | |||
| Map<Long, List<WxVtwoActivityGrantAward>> 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<WxVtwoActivityPrizeDrawPrizeDetailData> orderGrantList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>(); | |||
| //这个订单里面有多少个奖品 | |||
| List<WxVtwoActivityGrantAward> 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<Long, WxVtwoActivityGrantSettlement> 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<WxVtwoActivityPrizeDrawPrizeDetailData> orderLinkList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>(); | |||
| 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<Long, WxVtwoActivityGrantSettlement> 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<WxVtwoActivityPrizeDrawPrizeDetailData> orderGrantList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>(); | |||
| //这个订单里面有多少个奖品 | |||
| List<WxVtwoActivityGrantAward> 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<Long, WxVtwoActivityGrantSettlement> 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<WxVtwoActivityPrizeDrawPrizeDetailData> orderLinkList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>(); | |||
| for (int i = 0 ; i < jointGrantAward.size() ; i ++) { | |||
| WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i); | |||
| WxVtwoActivityPrizeDrawPrizeDetailData awarddLink = new WxVtwoActivityPrizeDrawPrizeDetailData(); | |||
| awarddLink.initByWxVtwoActivityGrantAward(jointOne); | |||
| Map<Long, WxVtwoActivityGrantSettlement> 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; | |||