diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java index 65a221ec7..b7276ff13 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java @@ -227,7 +227,8 @@ public class WxOfflineActivityController extends BaseController { TenantEntity tenantInfo = getTenantInfo(); offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo); - wxOfflineActivityGrantAwardService.activityGrantItemExport(request,response,offlineActivityAwardsItemVo); + offlineActivityAwardsItemVo.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.AMOUNT.getCode()); + wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo); } @ApiOperation("活动奖项联单发放明细导出") @@ -240,6 +241,22 @@ public class WxOfflineActivityController extends BaseController { throw new MallinkException(Result.ERROR,"活动ID 为空"); } + TenantEntity tenantInfo = getTenantInfo(); + offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo); + offlineActivityAwardsItemVo.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.COUNT.getCode()); + wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo); + } + + @ApiOperation("活动奖项发放明细导出") + @GetMapping("/itemExport") + public void itemExport(@ModelAttribute OfflineActivityAwardsItemVo offlineActivityAwardsItemVo, HttpServletRequest request, HttpServletResponse response) { + if(offlineActivityAwardsItemVo.getActivityItemId() == null){ + throw new MallinkException(Result.ERROR,"活动项ID 为空"); + } + if(offlineActivityAwardsItemVo.getActivityId() == null){ + throw new MallinkException(Result.ERROR,"活动ID 为空"); + } + TenantEntity tenantInfo = getTenantInfo(); offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo); wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo); diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java index 404bf09af..9af59cf53 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java @@ -15,6 +15,8 @@ public class OfflineActivityAwardsItemVo extends TenantEntity { private Long activityItemId; + private Integer grantAwardsMode; + private Long activityId; } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java index 0131bd684..e53db4a90 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java @@ -27,6 +27,8 @@ public class OfflineActivityGrantItemVo extends TenantEntity { private Long activityItemId; private String activityItemName; + private Integer grantAwardsMode; + private Long awardItamId; private String awardName; diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java index 8c13970b5..905583456 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java @@ -34,7 +34,7 @@ public interface WxOfflineActivityGrantAwardService { void activityGrantExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivity wxOfflineActivity); - void activityGrantItemExport(HttpServletRequest request, HttpServletResponse response, OfflineActivityAwardsItemVo offlineActivityAwardsItemVo); + void activityGrantItemAmountExport(HttpServletRequest request, HttpServletResponse response, OfflineActivityAwardsItemVo offlineActivityAwardsItemVo); List selectListByIds(List grantIds, TenantEntity tenantEntity); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java index 25f69aca2..05e6eafb0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java @@ -1934,7 +1934,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity } @Override - public void activityGrantItemExport(HttpServletRequest request, HttpServletResponse response, OfflineActivityAwardsItemVo offlineActivityAwardsItemVo) { + public void activityGrantItemAmountExport(HttpServletRequest request, HttpServletResponse response, OfflineActivityAwardsItemVo offlineActivityAwardsItemVo) { WxOfflineActivityItem activityItem = wxOfflineActivityItemMapper.selectById(offlineActivityAwardsItemVo.getActivityItemId(), offlineActivityAwardsItemVo.getTenantId()); if(activityItem == null){ throw new MallinkException(Result.ERROR, "未查询到活动数据"); @@ -2003,8 +2003,20 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); grantSettlement.updateTenantInfo(activityItem); grantSettlement.setActivityItemId(activityItem.getId()); - grantSettlement.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.COUNT.getCode()); + grantSettlement.setGrantAwardsMode(offlineActivityAwardsItemVo.getGrantAwardsMode()); + if(offlineActivityAwardsItemVo.getId() != null){ + if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ + WxOfflineActivityAwardsModel activityAwardsModel = wxOfflineActivityAwardsModelMapper.selectById(offlineActivityAwardsItemVo.getId(), offlineActivityAwardsItemVo.getTenantId()); + grantSettlement.setMinMoney(activityAwardsModel.getMinAmount()); + grantSettlement.setMaxMoney(activityAwardsModel.getMaxAmount()); + } else if (EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType()) + || EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { + WxOfflineActivityAwardsItem wxOfflineActivityAwardsItem = wxOfflineActivityAwardsItemMapper.selectById(offlineActivityAwardsItemVo.getId(), offlineActivityAwardsItemVo.getTenantId()); + grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId()); + } + } List grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); + if(grantItemList != null && !grantItemList.isEmpty()){ Map> grantItemRecordMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getGrantItemId,Collectors.mapping(OfflineActivityGrantItemVo::getOrderNo,Collectors.toList()))); @@ -2017,138 +2029,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity List grantList = this.selectListByIds(grantIds,activityItem); Map grantMap = grantList.stream().collect(toMap(WxOfflineActivityGrantAward::getId, Function.identity())); - if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){ - //联单表头 - ExcelExportEntity entityC_1 = new ExcelExportEntity("联单订单","countRecords",20); - exportHead.add(entityC_1); - - Map grantItemCountSizeMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId, counting())); - Long maxGrantItemCountSize = Collections.max(grantItemCountSizeMap.values()); - for (int i = 0; i < maxGrantItemCountSize.intValue(); i++) { - ExcelExportEntity entityC_2 = new ExcelExportEntity("联单奖品名称","countAwardName_"+i,20); - exportHead.add(entityC_2); - ExcelExportEntity entityC_3 = new ExcelExportEntity("联单奖品数量","countAwardCount_"+i,20); - exportHead.add(entityC_3); - ExcelExportEntity entityC_4 = new ExcelExportEntity("联单奖品价值","countAwardPrice_"+i,20); - exportHead.add(entityC_4); - ExcelExportEntity entityC_5 = new ExcelExportEntity("联单实际承担价值","countRealGrantPrice_"+i,20); - exportHead.add(entityC_5); - ExcelExportEntity entityC_6 = new ExcelExportEntity("商户承担比例(%)","countMallShareRate_"+i,20); - exportHead.add(entityC_6); - ExcelExportEntity entityC_7 = new ExcelExportEntity("商管承担比例(%)","countMerchantShareRate_"+i,20); - exportHead.add(entityC_7); - ExcelExportEntity entityC_8 = new ExcelExportEntity("商户承担金额","countRealMallSharePrice_"+i,20); - exportHead.add(entityC_8); - ExcelExportEntity entityC_9 = new ExcelExportEntity("商管承担金额","countRealMerchantSharePrice_"+i,20); - exportHead.add(entityC_9); - } - - Map> grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId)); - recordIds.forEach(recordId -> { - List recordgrantItemList = grantItemMap.get(recordId); - Long grantId = recordgrantItemList.get(0).getGrantId(); - WxOfflineActivityRecord record = recordMap.get(recordId); - WxOfflineActivityGrantAward grant = grantMap.get(grantId); - - Map grantItemObject= getGrantItemExportObject(record,grant); - List orderNos = grantItemRecordMap.get(recordgrantItemList.get(0).getGrantItemId()); - grantItemObject.put("countRecords",String.join(";", orderNos)); - for (int i=0;i { - WxOfflineActivityRecord record = recordMap.get(grantItem.getRecordId()); - WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); - Map grantItemObject= getGrantItemExportObject(record,grant); - List orderNos = grantItemRecordMap.get(grantItem.getGrantItemId()); - grantItemObject.put("countRecords",String.join(";", orderNos)); - grantItemObject.put("countAwardName",grantItem.getAwardName()); - grantItemObject.put("countAwardCount",grantItem.getAwardCount()); - grantItemObject.put("countAwardPrice",grantItem.getAwardPrice()); - grantItemObject.put("countRealGrantPrice",grantItem.getRealGrantPrice()); - grantItemObject.put("countMallShareRate",grantItem.getMallShareRate()); - grantItemObject.put("countMerchantShareRate",grantItem.getMerchantShareRate()); - grantItemObject.put("countRealMallSharePrice",grantItem.getRealMallSharePrice()); - grantItemObject.put("countRealMerchantSharePrice",grantItem.getRealMerchantSharePrice()); - - grantItemObjectList.add(grantItemObject); - }); - + handleGrantExportHead(exportHead,activityItem); - } else if (EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())) { - //联单表头 - ExcelExportEntity entityC_1 = new ExcelExportEntity("联单订单","countRecords",20); - exportHead.add(entityC_1); - ExcelExportEntity entityC_2 = new ExcelExportEntity("联单返现名称","countAwardName",20); - exportHead.add(entityC_2); -// ExcelExportEntity entityC_3 = new ExcelExportEntity("联单数量","countAwardCount",20); -// exportHead.add(entityC_3); - ExcelExportEntity entityC_3 = new ExcelExportEntity("联单返现比例(%)","countCashBackRatio",20); - exportHead.add(entityC_3); - ExcelExportEntity entityC_4 = new ExcelExportEntity("联单返现金额","countAwardPrice",20); - exportHead.add(entityC_4); - ExcelExportEntity entityC_5 = new ExcelExportEntity("联单实际承担金额","countRealGrantPrice",20); - exportHead.add(entityC_5); - ExcelExportEntity entityC_6 = new ExcelExportEntity("商户承担比例(%)","countMallShareRate",20); - exportHead.add(entityC_6); - ExcelExportEntity entityC_7 = new ExcelExportEntity("商管承担比例(%)","countMerchantShareRate",20); - exportHead.add(entityC_7); - ExcelExportEntity entityC_8 = new ExcelExportEntity("商户承担金额","countRealMallSharePrice",20); - exportHead.add(entityC_8); - ExcelExportEntity entityC_9 = new ExcelExportEntity("商管承担金额","countRealMerchantSharePrice",20); - exportHead.add(entityC_9); - - grantItemList.forEach(grantItem -> { - WxOfflineActivityRecord record = recordMap.get(grantItem.getRecordId()); - WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); - Map grantItemObject= getGrantItemExportObject(record,grant); - List orderNos = grantItemRecordMap.get(grantItem.getGrantItemId()); - grantItemObject.put("countRecords",String.join(";", orderNos)); - grantItemObject.put("countAwardName",grantItem.getAwardName()); -// grantItemObject.put("countAwardCount",grantItem.getAwardCount()); - grantItemObject.put("countCashBackRatio",grantItem.getCashBackRatio()); - grantItemObject.put("countAwardPrice",grantItem.getAwardPrice()); - grantItemObject.put("countRealGrantPrice",grantItem.getRealGrantPrice()); - grantItemObject.put("countMallShareRate",grantItem.getMallShareRate()); - grantItemObject.put("countMerchantShareRate",grantItem.getMerchantShareRate()); - grantItemObject.put("countRealMallSharePrice",grantItem.getRealMallSharePrice()); - grantItemObject.put("countRealMerchantSharePrice",grantItem.getRealMerchantSharePrice()); - - grantItemObjectList.add(grantItemObject); - }); - - } + grantItemList.forEach(grantItem -> { + WxOfflineActivityRecord record = recordMap.get(grantItem.getRecordId()); + WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); + Map grantItemObject= getGrantItemExportObject(record,grant); + List orderNos = grantItemRecordMap.get(grantItem.getGrantItemId()); + handleGrantExportObject(grantItemObject,grantItem,orderNos); + grantItemObjectList.add(grantItemObject); + }); } excelService.exportExcel(exportHead, grantItemObjectList, null, "活动("+activityItem.getName()+")联单发放明细", "活动("+activityItem.getName()+")联单发放明细.xlsx",true, response); @@ -2225,27 +2115,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantItemObjectList.add(grantItemObject); }); }); - -// recordIds.forEach(recordId -> { -// List recordgrantItemList = grantItemMap.get(recordId); -// Long grantId = recordgrantItemList.get(0).getGrantId(); -// WxOfflineActivityRecord record = recordMap.get(recordId); -// WxOfflineActivityGrantAward grant = grantMap.get(grantId); -// Map grantItemObject= getGrantItemExportObject(record,grant); -// -// for (int i=0;i grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); - if(grantItemList != null && !grantItemList.isEmpty()){ - //订单表头 - ExcelExportEntity entity_1 = new ExcelExportEntity("奖品名称","awardName",20); - exportHead.add(entity_1); - ExcelExportEntity entity_2 = new ExcelExportEntity("奖品数量","awardCount",20); - exportHead.add(entity_2); - ExcelExportEntity entity_3 = new ExcelExportEntity("奖品价值","awardPrice",20); - exportHead.add(entity_3); - ExcelExportEntity entity_3_ = new ExcelExportEntity("实际承担价值","realGrantPrice",20); - exportHead.add(entity_3_); - ExcelExportEntity entity_4 = new ExcelExportEntity("商户承担比例(%)","mallShareRate",20); - exportHead.add(entity_4); - ExcelExportEntity entity_5 = new ExcelExportEntity("商管承担比例(%)","merchantShareRate",20); - exportHead.add(entity_5); - ExcelExportEntity entity_6 = new ExcelExportEntity("商户承担金额","realMallSharePrice",20); - exportHead.add(entity_6); - ExcelExportEntity entity_7 = new ExcelExportEntity("商管承担金额","realMerchantSharePrice",20); - exportHead.add(entity_7); + handleGrantExportHead(exportHead,activityItem); + + if(grantItemList != null && !grantItemList.isEmpty()){ List recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); List grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); @@ -2300,14 +2154,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); Map grantItemObject= getGrantItemExportObject(record,grant); - grantItemObject.put("awardName",grantItem.getAwardName()); - grantItemObject.put("awardCount",grantItem.getAwardCount()); - grantItemObject.put("awardPrice",grantItem.getAwardPrice()); - grantItemObject.put("realGrantPrice",grantItem.getRealGrantPrice()); - grantItemObject.put("mallShareRate",grantItem.getMallShareRate()); - grantItemObject.put("merchantShareRate",grantItem.getMerchantShareRate()); - grantItemObject.put("realMallSharePrice",grantItem.getRealMallSharePrice()); - grantItemObject.put("realMerchantSharePrice",grantItem.getRealMerchantSharePrice()); + handleGrantExportObject(grantItemObject,grantItem,null); grantItemObjectList.add(grantItemObject); }); } @@ -2331,36 +2178,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId()); } List grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); + + handleGrantExportHead(exportHead,activityItem); + if(grantItemList != null && !grantItemList.isEmpty()){ - //订单表头 - ExcelExportEntity entity_1 = new ExcelExportEntity("返现名称","awardName",20); - exportHead.add(entity_1); -// ExcelExportEntity entity_2 = new ExcelExportEntity("数量","awardCount",20); -// exportHead.add(entity_2); - ExcelExportEntity entity_2 = new ExcelExportEntity("返现比例(%)","cashBackRatio",20); - exportHead.add(entity_2); - ExcelExportEntity entity_3 = new ExcelExportEntity("返现金额","awardPrice",20); - exportHead.add(entity_3); - ExcelExportEntity entity_3_ = new ExcelExportEntity("实际承担金额","realGrantPrice",20); - exportHead.add(entity_3_); - ExcelExportEntity entity_4 = new ExcelExportEntity("商户承担比例(%)","mallShareRate",20); - exportHead.add(entity_4); - ExcelExportEntity entity_5 = new ExcelExportEntity("商管承担比例(%)","merchantShareRate",20); - exportHead.add(entity_5); - ExcelExportEntity entity_6 = new ExcelExportEntity("商户承担金额","realMallSharePrice",20); - exportHead.add(entity_6); - ExcelExportEntity entity_7 = new ExcelExportEntity("商管承担金额","realMerchantSharePrice",20); - exportHead.add(entity_7); - if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ - ExcelExportEntity entity_8 = new ExcelExportEntity("税点金额起点","startingTaxPoint",20); - exportHead.add(entity_8); - ExcelExportEntity entity_9 = new ExcelExportEntity("税点比例(%)","taxPoints",20); - exportHead.add(entity_9); - ExcelExportEntity entity_10 = new ExcelExportEntity("税点金额","taxPointsAmount",20); - exportHead.add(entity_10); - ExcelExportEntity entity_11 = new ExcelExportEntity("实际返现金额","realCashBackPrice",20); - exportHead.add(entity_11); - } List recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); List grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); @@ -2376,24 +2197,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); Map grantItemObject= getGrantItemExportObject(record,grant); - grantItemObject.put("awardName",grantItem.getAwardName()); -// grantItemObject.put("awardCount",grantItem.getAwardCount()); - grantItemObject.put("cashBackRatio",grantItem.getCashBackRatio()); - grantItemObject.put("awardPrice",grantItem.getAwardPrice()); - grantItemObject.put("realGrantPrice",grantItem.getRealGrantPrice()); - grantItemObject.put("mallShareRate",grantItem.getMallShareRate()); - grantItemObject.put("merchantShareRate",grantItem.getMerchantShareRate()); - grantItemObject.put("realMallSharePrice",grantItem.getRealMallSharePrice()); - grantItemObject.put("realMerchantSharePrice",grantItem.getRealMerchantSharePrice()); - - grantItemObject.put("startingTaxPoint",grantItem.getStartingTaxPoint()); - grantItemObject.put("taxPoints",grantItem.getTaxPoints()); - grantItemObject.put("taxPointsAmount",grantItem.getTaxPointsAmount()); - if(grantItem.getTaxPointsAmount() != null){ - grantItemObject.put("realCashBackPrice",grantItem.getRealGrantPrice().subtract(grantItem.getTaxPointsAmount())); - }else{ - grantItemObject.put("realCashBackPrice",grantItem.getAwardPrice()); - } + handleGrantExportObject(grantItemObject,grantItem,null); grantItemObjectList.add(grantItemObject); }); } @@ -2484,6 +2288,90 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity return grantItemObject; } + private void handleGrantExportHead(List headList,WxOfflineActivityItem activityItem){ + + ExcelExportEntity entityC = new ExcelExportEntity("联单订单","countRecords",20); + headList.add(entityC); + + if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType()) + || EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){ + + ExcelExportEntity entity_1 = new ExcelExportEntity("奖品名称","awardName",20); + headList.add(entity_1); + ExcelExportEntity entity_2 = new ExcelExportEntity("奖品数量","awardCount",20); + headList.add(entity_2); + ExcelExportEntity entity_3 = new ExcelExportEntity("奖品价值","awardPrice",20); + headList.add(entity_3); + ExcelExportEntity entity_3_ = new ExcelExportEntity("实际承担价值","realGrantPrice",20); + headList.add(entity_3_); + ExcelExportEntity entity_4 = new ExcelExportEntity("商户承担比例(%)","mallShareRate",20); + headList.add(entity_4); + ExcelExportEntity entity_5 = new ExcelExportEntity("商管承担比例(%)","merchantShareRate",20); + headList.add(entity_5); + ExcelExportEntity entity_6 = new ExcelExportEntity("商户承担金额","realMallSharePrice",20); + headList.add(entity_6); + ExcelExportEntity entity_7 = new ExcelExportEntity("商管承担金额","realMerchantSharePrice",20); + headList.add(entity_7); + + }else if(EnumOfflineActivityType.CASHBACK.getCode().equals(activityItem.getType())){ + + ExcelExportEntity entity_1 = new ExcelExportEntity("返现名称","awardName",20); + headList.add(entity_1); +// ExcelExportEntity entity_2 = new ExcelExportEntity("数量","awardCount",20); +// headList.add(entity_2); + ExcelExportEntity entity_2 = new ExcelExportEntity("返现比例(%)","cashBackRatio",20); + headList.add(entity_2); + ExcelExportEntity entity_3 = new ExcelExportEntity("返现金额","awardPrice",20); + headList.add(entity_3); + ExcelExportEntity entity_3_ = new ExcelExportEntity("实际承担金额","realGrantPrice",20); + headList.add(entity_3_); + ExcelExportEntity entity_4 = new ExcelExportEntity("商户承担比例(%)","mallShareRate",20); + headList.add(entity_4); + ExcelExportEntity entity_5 = new ExcelExportEntity("商管承担比例(%)","merchantShareRate",20); + headList.add(entity_5); + ExcelExportEntity entity_6 = new ExcelExportEntity("商户承担金额","realMallSharePrice",20); + headList.add(entity_6); + ExcelExportEntity entity_7 = new ExcelExportEntity("商管承担金额","realMerchantSharePrice",20); + headList.add(entity_7); + if(EnumOfflineActivityMode.ONE.getCode().equals(activityItem.getModeType())){ + ExcelExportEntity entity_8 = new ExcelExportEntity("税点金额起点","startingTaxPoint",20); + headList.add(entity_8); + ExcelExportEntity entity_9 = new ExcelExportEntity("税点比例(%)","taxPoints",20); + headList.add(entity_9); + ExcelExportEntity entity_10 = new ExcelExportEntity("税点金额","taxPointsAmount",20); + headList.add(entity_10); + ExcelExportEntity entity_11 = new ExcelExportEntity("实际返现金额","realCashBackPrice",20); + headList.add(entity_11); + } + } + } + + private void handleGrantExportObject(Map grantItemObject,OfflineActivityGrantItemVo grantItem,List orderNoList){ + if(EnumOfflineActivityAwardsModeType.COUNT.getCode().equals(grantItem.getGrantAwardsMode()) + && orderNoList != null){ + grantItemObject.put("countRecords",String.join(";", orderNoList)); + } + + grantItemObject.put("awardName",grantItem.getAwardName()); + grantItemObject.put("awardCount",grantItem.getAwardCount()); + grantItemObject.put("cashBackRatio",grantItem.getCashBackRatio()); + grantItemObject.put("awardPrice",grantItem.getAwardPrice()); + grantItemObject.put("realGrantPrice",grantItem.getRealGrantPrice()); + grantItemObject.put("mallShareRate",grantItem.getMallShareRate()); + grantItemObject.put("merchantShareRate",grantItem.getMerchantShareRate()); + grantItemObject.put("realMallSharePrice",grantItem.getRealMallSharePrice()); + grantItemObject.put("realMerchantSharePrice",grantItem.getRealMerchantSharePrice()); + + grantItemObject.put("startingTaxPoint",grantItem.getStartingTaxPoint()); + grantItemObject.put("taxPoints",grantItem.getTaxPoints()); + grantItemObject.put("taxPointsAmount",grantItem.getTaxPointsAmount()); + if(grantItem.getTaxPointsAmount() != null){ + grantItemObject.put("realCashBackPrice",grantItem.getRealGrantPrice().subtract(grantItem.getTaxPointsAmount())); + }else{ + grantItemObject.put("realCashBackPrice",grantItem.getAwardPrice()); + } + } + } diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml index db77dacd4..c1d715f48 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml @@ -344,6 +344,7 @@ select gi.grant_id, gi.activity_id,gi.activity_name, gi.activity_item_id,gi.activity_item_name, + gi.grant_awards_mode, gi.award_itam_id,gi.award_name, gi.cash_back_ratio,gi.award_price,gi.award_count, gi.starting_tax_point,gi.tax_points,gi.tax_points_amount, @@ -357,13 +358,15 @@ from wx_offline_activity_grant_settlement gs left join wx_offline_activity_grant_item gi on gs.grant_item_id = gi.id where gi.status = 1 - and gi.grant_awards_mode = #{grantAwardsMode} and gi.`tenant_id` = #{tenantId} and gi.`parent_tenant_id` = #{parentTenantId} + + and gi.grant_awards_mode = #{grantAwardsMode} + and gi.`activity_item_id` = #{activityItemId}