From 62c06bf65df8d55161b40354dff7a5b8bc3c1e70 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Mon, 20 Oct 2025 21:51:17 +0800 Subject: [PATCH] fix --- .../WxVtwoPrizeDrawActivityController.java | 4 +- .../WxVtwoActivityPrizeDrawMainData.java | 102 +++ .../WxVtwoActivityPrizeDrawOrderData.java | 104 +++ ...xVtwoActivityPrizeDrawPrizeDetailData.java | 28 + .../WxVtwoActivityGrantExportTwoService.java | 3 + .../WxVtwoPrizeDrawActivityService.java | 2 +- ...VtwoActivityGrantExportTwoServiceImpl.java | 37 + .../WxVtwoPrizeDrawActivityServiceImpl.java | 729 ++++++++---------- 8 files changed, 617 insertions(+), 392 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawMainData.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java index 5736df1f0..29eb43d8d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoPrizeDrawActivityController.java @@ -326,8 +326,8 @@ public class WxVtwoPrizeDrawActivityController extends BaseController { throw new MallinkException(Result.ERROR,"活动ID 为空"); } activityGrant.updateTenantInfo(getTenantInfo()); - wxVtwoPrizeDrawActivityService.grantExportTwo(request,response,activityGrant); - //wxVtwoPrizeDrawActivityService.grantExportTwoNew(request,response,activityGrant); + //wxVtwoPrizeDrawActivityService.grantExportTwo(request,response,activityGrant); + wxVtwoPrizeDrawActivityService.grantExportTwoNew(request,response,activityGrant); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawMainData.java b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawMainData.java new file mode 100644 index 000000000..3a344f79c --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawMainData.java @@ -0,0 +1,102 @@ +package com.iformall.domain.vo.excel.vtwoPrize; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import cn.afterturn.easypoi.excel.annotation.ExcelCollection; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.iformall.domain.po.WxVtwoActivityGrantExportTwo; +import com.iformall.domain.po.WxVtwoActivityOrder; + +import lombok.Data; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +public class WxVtwoActivityPrizeDrawMainData implements Serializable { + + private static final long serialVersionUID = 1L; + + @Excel(name="客户姓名",width = 20,orderNum = "1") + private String cusName; + + @Excel(name="客户电话",width = 20,orderNum = "2") + private String cusPhone; + + @Excel(name="订单数量",width = 20,orderNum = "3") + private Integer orderCount; + + @Excel(name="订单总金额",width = 20,orderNum = "4") + private BigDecimal orderMoneySum; + + @Excel(name="领奖人",width = 20,orderNum = "5") + private String realName; + + @Excel(name="领奖人身份证号",width = 20,orderNum = "6") + private String realCard; + + @Excel(name="发奖人",width = 20,orderNum = "7") + private String grantByName; + + @Excel(name="发奖时间",width = 20,orderNum = "8") + private Date grantTime; + + @Excel(name="抽奖券编码",width = 20,orderNum = "9") + private String lotteryNum; + + @Excel(name="抽奖券数量",width = 20,orderNum = "10") + private Integer lotteryCount; + + @Excel(name="周年庆抽奖编码",width = 20,orderNum = "11") + private String anniversaryLotteryNum; + + @Excel(name="签名图片",width = 20,orderNum = "12") + private String signImg; + + @Excel(name="发奖备注",width = 20,orderNum = "13") + private String remark; + + //发奖明细 + private String orderGrantDetail; + //联单发奖 + private String jointGrantDetail; + + @ExcelCollection(name="订单列表") + private List orderList; + + public void initByWxVtwoActivityGrantExportTwo(WxVtwoActivityGrantExportTwo aget) { + this.cusName = aget.getCusName(); + this.cusPhone = aget.getCusPhone(); + this.orderCount = aget.getOrderCount(); + this.orderMoneySum = aget.getOrderMoneySum(); + this.realName = aget.getRealName(); + this.realCard = aget.getRealCard(); + this.grantByName = aget.getGrantByName(); + this.grantTime = aget.getGrantTime(); + this.lotteryNum = aget.getLotteryNum(); + this.lotteryCount = aget.getLotteryCount(); + this.anniversaryLotteryNum = aget.getAnniversaryLotteryNum(); + this.signImg = aget.getSignImg(); + this.remark = aget.getRemark(); + this.orderGrantDetail = aget.getOrderGrantDetail(); + this.jointGrantDetail = aget.getJointGrantDetail(); + } + + public void initOrderListByWxVtwoActivityOrder(List aoList) { + if (null != aoList && aoList.size() > 0 ) { + this.orderList = new ArrayList(); + for (int i = 0 ; i < aoList.size(); i++) { + WxVtwoActivityOrder ao = aoList.get(i); + WxVtwoActivityPrizeDrawOrderData pdod = new WxVtwoActivityPrizeDrawOrderData(); + pdod.initByWxVtwoActivityOrder(ao); + orderList.add(pdod); + } + } + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java new file mode 100644 index 000000000..6eaebab8e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java @@ -0,0 +1,104 @@ +package com.iformall.domain.vo.excel.vtwoPrize; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import cn.afterturn.easypoi.excel.annotation.ExcelCollection; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.iformall.domain.po.WxVtwoActivityOrder; + +import lombok.Data; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +public class WxVtwoActivityPrizeDrawOrderData implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + @Excel(name="订单编号",width = 20,orderNum = "1") + private String orderNo; + + @Excel(name="订单金额",width = 20,orderNum = "2") + private BigDecimal orderMoney; + + @Excel(name="客户姓名",width = 20,orderNum = "3") + private String cusName; + + @Excel(name="客户电话",width = 20,orderNum = "4") + private String cusPhone; + + @Excel(name="vip卡",width = 20,orderNum = "5") + private String vipNum; + + @Excel(name="所属军团",width = 20,orderNum = "6") + private String legionName; + + @Excel(name="所属联盟",width = 20,orderNum = "7") + private String unionName; + + @Excel(name="订单地址",width = 20,orderNum = "8") + private String cusAddress; + + @Excel(name="商户名称",width = 20,orderNum = "9") + private String merchantName; + + @Excel(name="铺位号",width = 20,orderNum = "10") + private String shopNumber; + + @Excel(name="业态",width = 20,orderNum = "11") + private String businessName; + + @Excel(name="抽奖券编码",width = 20,orderNum = "12") + private String lotteryNum; + + @Excel(name="抽奖券数量",width = 20,orderNum = "13") + private Integer lotteryCount; + + @Excel(name="周年庆抽奖编码",width = 20,orderNum = "14") + private String anniversaryLotteryNum; + + @Excel(name="提交时间",format = "yyyy-MM-dd HH:mm:ss",width = 20,orderNum = "15") + private Date createDate; + + @Excel(name="订单状态",width = 20,orderNum = "16", replace = {"审核中_0", "已审批_1", "已驳回_2", "已退单_3", "已发奖_10"}) + private Integer auditStatus; + + @Excel(name="审核人",width = 20,orderNum = "17") + private String auditByName; + + @Excel(name="审核时间",format = "yyyy-MM-dd HH:mm:ss", width = 20,orderNum = "18") + private Date auditTime; + + @ExcelCollection(name="发奖列表") + private List orderGrantList; + + public void initByWxVtwoActivityOrder(WxVtwoActivityOrder ao) { + this.id = ao.getId(); + this.orderNo = ao.getOrderNo(); + this.orderMoney = ao.getOrderMoney(); + this.cusName = ao.getCusName(); + this.cusPhone = ao.getCusPhone(); + this.vipNum = ao.getVipNum(); + this.legionName = ao.getLegionName(); + this.unionName = ao.getUnionName(); + this.cusAddress = ao.getCusAddress(); + this.merchantName = ao.getMerchantName(); + this.shopNumber = ao.getShopNumber(); + this.businessName = ao.getBusinessName(); + this.lotteryNum = ao.getLotteryNum(); + this.lotteryCount = ao.getLotteryCount(); + this.anniversaryLotteryNum = ao.getAnniversaryLotteryNum(); + this.createDate = ao.getCreateDate(); + this.auditStatus = ao.getAuditStatus(); + this.auditByName = ao.getAuditByName(); + this.auditTime = ao.getAuditTime(); + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java new file mode 100644 index 000000000..82753f6fc --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java @@ -0,0 +1,28 @@ +package com.iformall.domain.vo.excel.vtwoPrize; + +import cn.afterturn.easypoi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.List; + +import lombok.Data; +import lombok.ToString; + +@Data +@ToString(callSuper = true) +public class WxVtwoActivityPrizeDrawPrizeDetailData implements Serializable { + + private static final long serialVersionUID = 1L; + + public WxVtwoActivityPrizeDrawPrizeDetailData(String key,Object value) { + this.key = key; + this.value = value; + } + + @Excel(name="属性名") + private String key; + + @Excel(name="属性值") + private Object value; + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportTwoService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportTwoService.java index 1c79f054f..75584d50f 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportTwoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoActivityGrantExportTwoService.java @@ -6,6 +6,7 @@ import com.iformall.domain.po.WxVtwoActivityGrantExportTwo; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.WxVtwoActivityGrantSettlement; import com.iformall.domain.po.WxVtwoCashBackGrant; +import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawMainData; import java.util.List; @@ -23,6 +24,8 @@ public interface WxVtwoActivityGrantExportTwoService extends IService getExportHeadList(); List findActivityGrantList(Long activityId, String tenantId); + + List findActivityGrantExportList(Long activityId, String tenantId); Integer selectMaxOrderGrantCount(Long activityId, String tenantId); diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java index 6af7e8d08..17447f05b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java @@ -33,7 +33,7 @@ public interface WxVtwoPrizeDrawActivityService extends IService findActivityGrantExportList(Long activityId, String tenantId) { + WxVtwoActivityGrantExportTwo exportQ = new WxVtwoActivityGrantExportTwo(); + exportQ.setTenantId(tenantId); + exportQ.setActivityId(activityId); + List exportList = wxVtwoActivityGrantExportTwoMapper.findList(exportQ); + + List retList = null; + if(exportList != null && !exportList.isEmpty()){ + retList = new ArrayList(); + WxVtwoActivityGrantOrder grantOrderQ = new WxVtwoActivityGrantOrder(); + exportQ.setTenantId(tenantId); + exportQ.setActivityId(activityId); + List orderIds = wxVtwoActivityGrantOrderMapper.findOrderIdList(grantOrderQ); + + Map auditDetailMap = wxVtwoActivityOrderService.findAuditDetailMap(orderIds,tenantId); + for(WxVtwoActivityGrantExportTwo export : exportList){ + WxVtwoActivityPrizeDrawMainData pdmd = new WxVtwoActivityPrizeDrawMainData(); + pdmd.initByWxVtwoActivityGrantExportTwo(export); + pdmd.initOrderListByWxVtwoActivityOrder(JSONObject.parseArray(export.getOrderDetail(),WxVtwoActivityOrder.class)); + if (null != pdmd.getOrderList()) { + pdmd.getOrderList().forEach(e -> { + WxVtwoActivityOrder order = auditDetailMap.get(e.getId()); + e.setAuditStatus(order.getAuditStatus()); + //e.setAuditRemark(order.getAuditRemark()); + //e.setAuditBy(order.getAuditBy()); + e.setAuditByName(order.getAuditByName()); + e.setAuditTime(order.getAuditTime()); + }); + } + retList.add(pdmd); + } + } + return retList; + } @Override public Integer selectMaxOrderGrantCount(Long activityId, String tenantId) { 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 c62bad976..e21da5f01 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java @@ -14,6 +14,8 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.*; +import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawMainData; +import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawPrizeDetailData; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; @@ -408,212 +410,212 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl headList = wxVtwoActivityGrantExportTwoService.getExportHeadList(); - //获得最大奖项数量 - Integer orderGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxOrderGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); - Integer jointGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxJointGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); - for(int i=1;i<=orderGrantCount;i++){ - if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - ExcelExportEntity entity14 = new ExcelExportEntity(null,"orderGrantList"+i,220); - List entity14_list = new ArrayList<>(); - ExcelExportEntity entity14_2 = new ExcelExportEntity("订单奖项名称","awardName",20); - entity14_list.add(entity14_2); - ExcelExportEntity entity14_3 = new ExcelExportEntity("订单奖项数量","awardCount",20); - entity14_list.add(entity14_3); - ExcelExportEntity entity14_4 = new ExcelExportEntity("订单奖项价值","grantPrice",20); - entity14_list.add(entity14_4); - ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallShareRate",20); - entity14_list.add(entity14_5); - ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantShareRate",20); - entity14_list.add(entity14_6); - ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity14_list.add(entity14_7); - ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity14_list.add(entity14_8); - - entity14.setList(entity14_list); - headList.add(entity14); - }else{ -// ExcelExportEntity entity14 = new ExcelExportEntity("活动名称", -// "activityName_o",20); -// entity14.setNeedMerge(true); -// headList.add(entity14); - ExcelExportEntity entity16 = new ExcelExportEntity("订单奖项名称", - "awardName_o"+i,20); - entity16.setNeedMerge(true); - headList.add(entity16); - ExcelExportEntity entity16_ = new ExcelExportEntity("订单奖项数量", - "awardCount_o"+i,20); - entity16_.setNeedMerge(true); - headList.add(entity16_); - ExcelExportEntity entity17 = new ExcelExportEntity("订单奖项价值", - "grantPrice_o"+i,20); - entity17.setNeedMerge(true); - headList.add(entity17); - ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", - "mallShareRate_o"+i,20); - entity18.setNeedMerge(true); - headList.add(entity18); - ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", - "merchantShareRate_o"+i,20); - entity19.setNeedMerge(true); - headList.add(entity19); - - ExcelExportEntity entity20 = new ExcelExportEntity(null, - "sharePriceList_o"+i,40); - List entity20_list = new ArrayList<>(); - ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_list.add(entity20_1); - ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_list.add(entity20_2); - entity20.setList(entity20_list); - headList.add(entity20); - } - } - - //联单 - for(int j=1;j<=jointGrantCount;j++){ - ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称", - "awardName_c"+j,20); - entity15_c.setNeedMerge(true); - headList.add(entity15_c); - ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量", - "awardCount_c"+j,20); - entity16_c.setNeedMerge(true); - headList.add(entity16_c); - ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值", - "grantPrice_c"+j,20); - entity17_c.setNeedMerge(true); - headList.add(entity17_c); - ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", - "mallShareRate_c"+j,20); - entity18_c.setNeedMerge(true); - headList.add(entity18_c); - ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", - "merchantShareRate_c"+j,20); - entity19_c.setNeedMerge(true); - headList.add(entity19_c); - - ExcelExportEntity entity20_c = new ExcelExportEntity(null, - "sharePriceList_c"+j,40); - List entity20_c_list = new ArrayList<>(); - ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_c_list.add(entity20_c_1); - ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_c_list.add(entity20_c_2); - entity20_c.setList(entity20_c_list); - headList.add(entity20_c); - } - - List activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); - List> grantObjectList = new ArrayList<>(); - if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ - grantObjectList = activityGrantExportList.stream().map(e -> { - Map map = new HashMap<>(); - try { - map = BeanUtils.toMap(e); - } catch (Exception ex) { - } - - List orderGrantAward = JSONObject.parseArray(e.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); - if(orderGrantAward != null && !orderGrantAward.isEmpty()){ - if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ - Map> orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId)); - for(int i=1;i<=orderGrantCount;i++){ - List sortList = new ArrayList<>(); - 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"+i,sortList); - } - - }else{ - for(int i=1;i<=orderGrantAward.size();i++){ - WxVtwoActivityGrantAward grantAward = orderGrantAward.get(i - 1); - map.put("awardName_o"+i,grantAward.getAwardName()); - map.put("awardCount_o"+i,grantAward.getAwardCount()); - map.put("grantPrice_o"+i,grantAward.getGrantPrice()); - map.put("mallShareRate_o"+i,grantAward.getMallShareRate()); - map.put("merchantShareRate_o"+i,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"+i,sharePriceList); - } - } - } - - List jointGrantAward = JSONObject.parseArray(e.getJointGrantDetail(), WxVtwoActivityGrantAward.class); - if(jointGrantAward != null && !jointGrantAward.isEmpty()){ - for(int j=1;j<=jointGrantAward.size();j++){ - WxVtwoActivityGrantAward jointOne = jointGrantAward.get(j-1); - map.put("awardName_c"+j,jointOne.getAwardName()); - map.put("awardCount_c"+j,jointOne.getAwardCount()); - map.put("grantPrice_c"+j,jointOne.getGrantPrice()); - map.put("mallShareRate_c"+j,jointOne.getMallShareRate()); - map.put("merchantShareRate_c"+j,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"+j,jointSharePriceList); - } - } - - return map; - }).collect(toList()); - } - excelService.exportExcel(headList, grantObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); - - } +// @Override +// public void grantExportTwo(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant) { +// WxVtwoPrizeDrawActivity activity = this.getById(activityGrant.getActivityId(), activityGrant.getTenantId()); +// if(activity == null){ +// throw new MallinkException(Result.ERROR,"未查询到活动"); +// } +// +// List headList = wxVtwoActivityGrantExportTwoService.getExportHeadList(); +// //获得最大奖项数量 +// Integer orderGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxOrderGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); +// Integer jointGrantCount = wxVtwoActivityGrantExportTwoService.selectMaxJointGrantCount(activityGrant.getActivityId(),activityGrant.getTenantId()); +// for(int i=1;i<=orderGrantCount;i++){ +// if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ +// ExcelExportEntity entity14 = new ExcelExportEntity(null,"orderGrantList"+i,220); +// List entity14_list = new ArrayList<>(); +// ExcelExportEntity entity14_2 = new ExcelExportEntity("订单奖项名称","awardName",20); +// entity14_list.add(entity14_2); +// ExcelExportEntity entity14_3 = new ExcelExportEntity("订单奖项数量","awardCount",20); +// entity14_list.add(entity14_3); +// ExcelExportEntity entity14_4 = new ExcelExportEntity("订单奖项价值","grantPrice",20); +// entity14_list.add(entity14_4); +// ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallShareRate",20); +// entity14_list.add(entity14_5); +// ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantShareRate",20); +// entity14_list.add(entity14_6); +// ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); +// entity14_list.add(entity14_7); +// ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); +// entity14_list.add(entity14_8); +// +// entity14.setList(entity14_list); +// headList.add(entity14); +// }else{ +//// ExcelExportEntity entity14 = new ExcelExportEntity("活动名称", +//// "activityName_o",20); +//// entity14.setNeedMerge(true); +//// headList.add(entity14); +// ExcelExportEntity entity16 = new ExcelExportEntity("订单奖项名称", +// "awardName_o"+i,20); +// entity16.setNeedMerge(true); +// headList.add(entity16); +// ExcelExportEntity entity16_ = new ExcelExportEntity("订单奖项数量", +// "awardCount_o"+i,20); +// entity16_.setNeedMerge(true); +// headList.add(entity16_); +// ExcelExportEntity entity17 = new ExcelExportEntity("订单奖项价值", +// "grantPrice_o"+i,20); +// entity17.setNeedMerge(true); +// headList.add(entity17); +// ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", +// "mallShareRate_o"+i,20); +// entity18.setNeedMerge(true); +// headList.add(entity18); +// ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", +// "merchantShareRate_o"+i,20); +// entity19.setNeedMerge(true); +// headList.add(entity19); +// +// ExcelExportEntity entity20 = new ExcelExportEntity(null, +// "sharePriceList_o"+i,40); +// List entity20_list = new ArrayList<>(); +// ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); +// entity20_list.add(entity20_1); +// ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); +// entity20_list.add(entity20_2); +// entity20.setList(entity20_list); +// headList.add(entity20); +// } +// } +// +// //联单 +// for(int j=1;j<=jointGrantCount;j++){ +// ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称", +// "awardName_c"+j,20); +// entity15_c.setNeedMerge(true); +// headList.add(entity15_c); +// ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量", +// "awardCount_c"+j,20); +// entity16_c.setNeedMerge(true); +// headList.add(entity16_c); +// ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值", +// "grantPrice_c"+j,20); +// entity17_c.setNeedMerge(true); +// headList.add(entity17_c); +// ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", +// "mallShareRate_c"+j,20); +// entity18_c.setNeedMerge(true); +// headList.add(entity18_c); +// ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", +// "merchantShareRate_c"+j,20); +// entity19_c.setNeedMerge(true); +// headList.add(entity19_c); +// +// ExcelExportEntity entity20_c = new ExcelExportEntity(null, +// "sharePriceList_c"+j,40); +// List entity20_c_list = new ArrayList<>(); +// ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); +// entity20_c_list.add(entity20_c_1); +// ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); +// entity20_c_list.add(entity20_c_2); +// entity20_c.setList(entity20_c_list); +// headList.add(entity20_c); +// } +// +// List activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); +// List> grantObjectList = new ArrayList<>(); +// if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ +// grantObjectList = activityGrantExportList.stream().map(e -> { +// Map map = new HashMap<>(); +// try { +// map = BeanUtils.toMap(e); +// } catch (Exception ex) { +// } +// +// List orderGrantAward = JSONObject.parseArray(e.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); +// if(orderGrantAward != null && !orderGrantAward.isEmpty()){ +// if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ +// Map> orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId)); +// for(int i=1;i<=orderGrantCount;i++){ +// List sortList = new ArrayList<>(); +// 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"+i,sortList); +// } +// +// }else{ +// for(int i=1;i<=orderGrantAward.size();i++){ +// WxVtwoActivityGrantAward grantAward = orderGrantAward.get(i - 1); +// map.put("awardName_o"+i,grantAward.getAwardName()); +// map.put("awardCount_o"+i,grantAward.getAwardCount()); +// map.put("grantPrice_o"+i,grantAward.getGrantPrice()); +// map.put("mallShareRate_o"+i,grantAward.getMallShareRate()); +// map.put("merchantShareRate_o"+i,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"+i,sharePriceList); +// } +// } +// } +// +// List jointGrantAward = JSONObject.parseArray(e.getJointGrantDetail(), WxVtwoActivityGrantAward.class); +// if(jointGrantAward != null && !jointGrantAward.isEmpty()){ +// for(int j=1;j<=jointGrantAward.size();j++){ +// WxVtwoActivityGrantAward jointOne = jointGrantAward.get(j-1); +// map.put("awardName_c"+j,jointOne.getAwardName()); +// map.put("awardCount_c"+j,jointOne.getAwardCount()); +// map.put("grantPrice_c"+j,jointOne.getGrantPrice()); +// map.put("mallShareRate_c"+j,jointOne.getMallShareRate()); +// map.put("merchantShareRate_c"+j,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"+j,jointSharePriceList); +// } +// } +// +// return map; +// }).collect(toList()); +// } +// excelService.exportExcel(headList, grantObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); +// +// } @Override public void grantExportTwoNew(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityGrant activityGrant) { @@ -623,196 +625,145 @@ 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<>(); - ExcelExportEntity entity14_2 = new ExcelExportEntity("订单奖项名称","awardName",20); - entity14_list.add(entity14_2); - ExcelExportEntity entity14_3 = new ExcelExportEntity("订单奖项数量","awardCount",20); - entity14_list.add(entity14_3); - ExcelExportEntity entity14_4 = new ExcelExportEntity("订单奖项价值","grantPrice",20); - entity14_list.add(entity14_4); - ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallShareRate",20); - entity14_list.add(entity14_5); - ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantShareRate",20); - entity14_list.add(entity14_6); - ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity14_list.add(entity14_7); - ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity14_list.add(entity14_8); - - entity14.setList(entity14_list); - headList.add(entity14); - }else{ -// ExcelExportEntity entity14 = new ExcelExportEntity("活动名称", -// "activityName_o",20); -// entity14.setNeedMerge(true); -// headList.add(entity14); - ExcelExportEntity entity16 = new ExcelExportEntity("订单奖项名称", - "awardName_o",20); - entity16.setNeedMerge(true); - headList.add(entity16); - ExcelExportEntity entity16_ = new ExcelExportEntity("订单奖项数量", - "awardCount_o",20); - entity16_.setNeedMerge(true); - headList.add(entity16_); - ExcelExportEntity entity17 = new ExcelExportEntity("订单奖项价值", - "grantPrice_o",20); - entity17.setNeedMerge(true); - headList.add(entity17); - ExcelExportEntity entity18 = new ExcelExportEntity("商管承担比例(%)", - "mallShareRate_o",20); - entity18.setNeedMerge(true); - headList.add(entity18); - ExcelExportEntity entity19 = new ExcelExportEntity("商户承担比例(%)", - "merchantShareRate_o",20); - entity19.setNeedMerge(true); - headList.add(entity19); - - ExcelExportEntity entity20 = new ExcelExportEntity(null, - "sharePriceList_o",40); - List entity20_list = new ArrayList<>(); - ExcelExportEntity entity20_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_list.add(entity20_1); - ExcelExportEntity entity20_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_list.add(entity20_2); - entity20.setList(entity20_list); - headList.add(entity20); - } - + ExcelExportEntity entity14 = new ExcelExportEntity(null,"orderGrantList",220); + List entity14_list = new ArrayList<>(); + ExcelExportEntity entity14_2 = new ExcelExportEntity("订单奖项名称","awardName",20); + entity14_list.add(entity14_2); + ExcelExportEntity entity14_3 = new ExcelExportEntity("订单奖项数量","awardCount",20); + entity14_list.add(entity14_3); + ExcelExportEntity entity14_4 = new ExcelExportEntity("订单奖项价值","grantPrice",20); + entity14_list.add(entity14_4); + ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallShareRate",20); + entity14_list.add(entity14_5); + ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantShareRate",20); + entity14_list.add(entity14_6); + ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); + entity14_list.add(entity14_7); + ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); + entity14_list.add(entity14_8); + entity14.setList(entity14_list); + headList.add(entity14); + //联单 - ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称", - "awardName_c",20); - entity15_c.setNeedMerge(true); - headList.add(entity15_c); - ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量", - "awardCount_c",20); - entity16_c.setNeedMerge(true); - headList.add(entity16_c); - ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值", - "grantPrice_c",20); - entity17_c.setNeedMerge(true); - headList.add(entity17_c); - ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", - "mallShareRate_c",20); - entity18_c.setNeedMerge(true); - headList.add(entity18_c); - ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", - "merchantShareRate_c",20); - entity19_c.setNeedMerge(true); - headList.add(entity19_c); - - ExcelExportEntity entity20_c = new ExcelExportEntity(null, - "sharePriceList_c",40); - List entity20_c_list = new ArrayList<>(); - ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); - entity20_c_list.add(entity20_c_1); - ExcelExportEntity entity20_c_2 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20); - entity20_c_list.add(entity20_c_2); - entity20_c.setList(entity20_c_list); - headList.add(entity20_c); - - List activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); - List> grantObjectList = new ArrayList<>(); + ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称","awardNameLink",20); + entity15_c.setNeedMerge(true); + headList.add(entity15_c); + ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量","awardCountLink",20); + entity16_c.setNeedMerge(true); + headList.add(entity16_c); + ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值","grantPriceLink",20); + entity17_c.setNeedMerge(true); + headList.add(entity17_c); + ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)","mallShareRateLink",20); + entity18_c.setNeedMerge(true); + headList.add(entity18_c); + ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)","merchantShareRateLink",20); + entity19_c.setNeedMerge(true); + headList.add(entity19_c); + ExcelExportEntity entity20_c = new ExcelExportEntity("商管承担金额","mallSharePriceLink",20); + entity19_c.setNeedMerge(true); + headList.add(entity20_c); + ExcelExportEntity entity21_c = new ExcelExportEntity("商户承担金额","merchantSharePriceLink",20); + entity19_c.setNeedMerge(true); + headList.add(entity21_c); + + List activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantExportList(activityGrant.getActivityId(),activityGrant.getTenantId()); if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){ - grantObjectList = activityGrantExportList.stream().map(e -> { - Map map = new HashMap<>(); - try { - map = BeanUtils.toMap(e); - } catch (Exception ex) { - } - - List orderGrantAward = JSONObject.parseArray(e.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); + for (int k = 0 ; k < activityGrantExportList.size(); k++) { + WxVtwoActivityPrizeDrawMainData aget = activityGrantExportList.get(k); + + //发奖记录,针对客户发奖,可一次发多个订单 + List orderGrantAward = JSONObject.parseArray(aget.getOrderGrantDetail(), WxVtwoActivityGrantAward.class); + if(orderGrantAward != null && !orderGrantAward.isEmpty()){ - if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ + + //统计每个订单发奖的列表 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()); - } - }); + //联单 + List jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class); + //根据每个订单发奖的列表来循环生成多行 + if (null != aget.getOrderList()) { + aget.getOrderList().forEach(order -> { + + List prizeDetailList = new ArrayList(); + + //这个订单里面有多少个奖品 + List grantAwardList = orderGrantAwardMap.get(order.getId()); + if (null != grantAwardList && grantAwardList.size() > 0 ) { + for (int i = 0; i < grantAwardList.size(); i++) { + WxVtwoActivityGrantAward ga = grantAwardList.get(i); + WxVtwoActivityPrizeDrawPrizeDetailData awardName = new WxVtwoActivityPrizeDrawPrizeDetailData("awardName",ga.getAwardName()); + prizeDetailList.add(awardName); + WxVtwoActivityPrizeDrawPrizeDetailData awardCount = new WxVtwoActivityPrizeDrawPrizeDetailData("awardCount",ga.getAwardCount()); + prizeDetailList.add(awardCount); + WxVtwoActivityPrizeDrawPrizeDetailData grantPrice = new WxVtwoActivityPrizeDrawPrizeDetailData("grantPrice",ga.getGrantPrice()); + prizeDetailList.add(grantPrice); + WxVtwoActivityPrizeDrawPrizeDetailData mallShareRate = new WxVtwoActivityPrizeDrawPrizeDetailData("mallShareRate",ga.getMallShareRate()); + prizeDetailList.add(mallShareRate); + WxVtwoActivityPrizeDrawPrizeDetailData merchantShareRate = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantShareRate",ga.getMerchantShareRate()); + prizeDetailList.add(merchantShareRate); + + //单笔订单计算 + if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){ + WxVtwoActivityGrantSettlement grantSettlement = ga.getGrantSettlementList().get(0); + WxVtwoActivityPrizeDrawPrizeDetailData mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice()); + prizeDetailList.add(mallSharePrice); + WxVtwoActivityPrizeDrawPrizeDetailData merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); + prizeDetailList.add(merchantSharePrice); + }else { + Map grantSettlementMap = ga.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + if(grantSettlement != null){ + WxVtwoActivityPrizeDrawPrizeDetailData _mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice()); + prizeDetailList.add(_mallSharePrice); + WxVtwoActivityPrizeDrawPrizeDetailData _merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); + prizeDetailList.add(_merchantSharePrice); + }else{ + prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",0)); + prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",0)); + } + } + + } + } + + + if(jointGrantAward != null && !jointGrantAward.isEmpty()){ + for (int i = 0 ; i < jointGrantAward.size() ; i ++) { + WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i); + WxVtwoActivityPrizeDrawPrizeDetailData awardNameLink = new WxVtwoActivityPrizeDrawPrizeDetailData("awardNameLink",jointOne.getAwardName()); + prizeDetailList.add(awardNameLink); + WxVtwoActivityPrizeDrawPrizeDetailData awardCountLink = new WxVtwoActivityPrizeDrawPrizeDetailData("awardCountLink",jointOne.getAwardCount()); + prizeDetailList.add(awardCountLink); + WxVtwoActivityPrizeDrawPrizeDetailData grantPriceLink = new WxVtwoActivityPrizeDrawPrizeDetailData("grantPriceLink",jointOne.getGrantPrice()); + prizeDetailList.add(grantPriceLink); + WxVtwoActivityPrizeDrawPrizeDetailData mallShareRateLink = new WxVtwoActivityPrizeDrawPrizeDetailData("mallShareRateLink",jointOne.getMallShareRate()); + prizeDetailList.add(mallShareRateLink); + WxVtwoActivityPrizeDrawPrizeDetailData merchantShareRateLink = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantShareRateLink",jointOne.getMerchantShareRate()); + prizeDetailList.add(merchantShareRateLink); + + Map grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity())); + WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId()); + if(grantSettlement != null){ + WxVtwoActivityPrizeDrawPrizeDetailData _mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice()); + prizeDetailList.add(_mallSharePrice); + WxVtwoActivityPrizeDrawPrizeDetailData _merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice()); + prizeDetailList.add(_merchantSharePrice); + }else{ + prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",0)); + prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",0)); + } + } + } + + order.setOrderGrantList(prizeDetailList); + + }); } - map.put("orderGrantList",sortList); - - }else{ - for(int i=1;i<=orderGrantAward.size();i++){ - WxVtwoActivityGrantAward grantAward = orderGrantAward.get(i - 1); - 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); - } - } } - - List jointGrantAward = JSONObject.parseArray(e.getJointGrantDetail(), WxVtwoActivityGrantAward.class); - if(jointGrantAward != null && !jointGrantAward.isEmpty()){ - 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; - }).collect(toList()); + } } - excelService.exportExcel(headList, grantObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); + excelService.exportExcel(headList, activityGrantExportList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); }