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 8ae753608..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,7 +326,8 @@ public class WxVtwoPrizeDrawActivityController extends BaseController { throw new MallinkException(Result.ERROR,"活动ID 为空"); } activityGrant.updateTenantInfo(getTenantInfo()); - wxVtwoPrizeDrawActivityService.grantExportTwo(request,response,activityGrant); + //wxVtwoPrizeDrawActivityService.grantExportTwo(request,response,activityGrant); + wxVtwoPrizeDrawActivityService.grantExportTwoNew(request,response,activityGrant); } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java index f3396e945..17447f05b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxVtwoPrizeDrawActivityService.java @@ -33,5 +33,7 @@ public interface WxVtwoPrizeDrawActivityService extends IService 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) { + public void grantExportTwoNew(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{ + 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"+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); - } + 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); } //联单 - for(int j=1;j<=jointGrantCount;j++){ ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称", - "awardName_c"+j,20); + "awardName_c",20); entity15_c.setNeedMerge(true); headList.add(entity15_c); ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量", - "awardCount_c"+j,20); + "awardCount_c",20); entity16_c.setNeedMerge(true); headList.add(entity16_c); ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值", - "grantPrice_c"+j,20); + "grantPrice_c",20); entity17_c.setNeedMerge(true); headList.add(entity17_c); ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)", - "mallShareRate_c"+j,20); + "mallShareRate_c",20); entity18_c.setNeedMerge(true); headList.add(entity18_c); ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)", - "merchantShareRate_c"+j,20); + "merchantShareRate_c",20); entity19_c.setNeedMerge(true); headList.add(entity19_c); ExcelExportEntity entity20_c = new ExcelExportEntity(null, - "sharePriceList_c"+j,40); + "sharePriceList_c",40); List entity20_c_list = new ArrayList<>(); ExcelExportEntity entity20_c_1 = new ExcelExportEntity("商管承担金额","mallSharePrice",20); entity20_c_list.add(entity20_c_1); @@ -510,7 +711,6 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantList(activityGrant.getActivityId(),activityGrant.getTenantId()); List> grantObjectList = new ArrayList<>(); @@ -525,16 +725,10 @@ 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(groupingBy(WxVtwoActivityGrantAward::getOrderId)); - for(int i=1;i<=orderGrantCount;i++){ + Map orderGrantAwardMap = orderGrantAward.stream().collect(toMap(WxVtwoActivityGrantAward::getOrderId,Function.identity())); 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); - } + WxVtwoActivityGrantAward grantAward = orderGrantAwardMap.get(order.getId());; if(grantAward != null){ WxVtwoActivityGrantSettlement grantSettlement = grantAward.getGrantSettlementList().get(0); grantAward.setMallSharePrice(grantSettlement.getOrderMallSharePrice()); @@ -545,8 +739,7 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl