Procházet zdrojové kódy

//AwardsItem

release_toaliyun_real
xiaohu před 1 rokem
rodič
revize
f506302ce7
6 změnil soubory, kde provedl 142 přidání a 230 odebrání
  1. +18
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java
  4. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java
  5. +115
    -227
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java
  6. +4
    -1
      mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml

+ 18
- 1
mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java Zobrazit soubor

@@ -227,7 +227,8 @@ public class WxOfflineActivityController extends BaseController {


TenantEntity tenantInfo = getTenantInfo(); TenantEntity tenantInfo = getTenantInfo();
offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo); offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo);
wxOfflineActivityGrantAwardService.activityGrantItemExport(request,response,offlineActivityAwardsItemVo);
offlineActivityAwardsItemVo.setGrantAwardsMode(EnumOfflineActivityAwardsModeType.AMOUNT.getCode());
wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo);
} }


@ApiOperation("活动奖项联单发放明细导出") @ApiOperation("活动奖项联单发放明细导出")
@@ -240,6 +241,22 @@ public class WxOfflineActivityController extends BaseController {
throw new MallinkException(Result.ERROR,"活动ID 为空"); 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(); TenantEntity tenantInfo = getTenantInfo();
offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo); offlineActivityAwardsItemVo.updateTenantInfo(tenantInfo);
wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo); wxOfflineActivityGrantAwardService.activityGrantItemCountExport(request,response,offlineActivityAwardsItemVo);


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java Zobrazit soubor

@@ -15,6 +15,8 @@ public class OfflineActivityAwardsItemVo extends TenantEntity {


private Long activityItemId; private Long activityItemId;


private Integer grantAwardsMode;

private Long activityId; private Long activityId;


} }

+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java Zobrazit soubor

@@ -27,6 +27,8 @@ public class OfflineActivityGrantItemVo extends TenantEntity {
private Long activityItemId; private Long activityItemId;
private String activityItemName; private String activityItemName;


private Integer grantAwardsMode;

private Long awardItamId; private Long awardItamId;
private String awardName; private String awardName;




+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java Zobrazit soubor

@@ -34,7 +34,7 @@ public interface WxOfflineActivityGrantAwardService {


void activityGrantExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivity wxOfflineActivity); 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<WxOfflineActivityGrantAward> selectListByIds(List<Long> grantIds, TenantEntity tenantEntity); List<WxOfflineActivityGrantAward> selectListByIds(List<Long> grantIds, TenantEntity tenantEntity);




+ 115
- 227
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java Zobrazit soubor

@@ -1934,7 +1934,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
} }


@Override @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()); WxOfflineActivityItem activityItem = wxOfflineActivityItemMapper.selectById(offlineActivityAwardsItemVo.getActivityItemId(), offlineActivityAwardsItemVo.getTenantId());
if(activityItem == null){ if(activityItem == null){
throw new MallinkException(Result.ERROR, "未查询到活动数据"); throw new MallinkException(Result.ERROR, "未查询到活动数据");
@@ -2003,8 +2003,20 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement(); WxOfflineActivityGrantSettlement grantSettlement = new WxOfflineActivityGrantSettlement();
grantSettlement.updateTenantInfo(activityItem); grantSettlement.updateTenantInfo(activityItem);
grantSettlement.setActivityItemId(activityItem.getId()); 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<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement);

if(grantItemList != null && !grantItemList.isEmpty()){ if(grantItemList != null && !grantItemList.isEmpty()){
Map<Long, List<String>> grantItemRecordMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getGrantItemId,Collectors.mapping(OfflineActivityGrantItemVo::getOrderNo,Collectors.toList()))); Map<Long, List<String>> grantItemRecordMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getGrantItemId,Collectors.mapping(OfflineActivityGrantItemVo::getOrderNo,Collectors.toList())));


@@ -2017,138 +2029,16 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
List<WxOfflineActivityGrantAward> grantList = this.selectListByIds(grantIds,activityItem); List<WxOfflineActivityGrantAward> grantList = this.selectListByIds(grantIds,activityItem);
Map<Long, WxOfflineActivityGrantAward> grantMap = grantList.stream().collect(toMap(WxOfflineActivityGrantAward::getId, Function.identity())); Map<Long, WxOfflineActivityGrantAward> 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<Long, Long> 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<Long, List<OfflineActivityGrantItemVo>> grantItemMap = grantItemList.stream().collect(groupingBy(OfflineActivityGrantItemVo::getRecordId));
recordIds.forEach(recordId -> {
List<OfflineActivityGrantItemVo> recordgrantItemList = grantItemMap.get(recordId);
Long grantId = recordgrantItemList.get(0).getGrantId();
WxOfflineActivityRecord record = recordMap.get(recordId);
WxOfflineActivityGrantAward grant = grantMap.get(grantId);

Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant);
List<String> orderNos = grantItemRecordMap.get(recordgrantItemList.get(0).getGrantItemId());
grantItemObject.put("countRecords",String.join(";", orderNos));
for (int i=0;i<recordgrantItemList.size();i++){
OfflineActivityGrantItemVo grantItemCount = recordgrantItemList.get(i);
grantItemObject.put("countAwardName_"+i,grantItemCount.getAwardName());
grantItemObject.put("countAwardCount_"+i,grantItemCount.getAwardCount());
grantItemObject.put("countAwardPrice_"+i,grantItemCount.getAwardPrice());
grantItemObject.put("countRealGrantPrice_"+i,grantItemCount.getRealGrantPrice());
grantItemObject.put("countMallShareRate_"+i,grantItemCount.getMallShareRate());
grantItemObject.put("countMerchantShareRate_"+i,grantItemCount.getMerchantShareRate());
grantItemObject.put("countRealMallSharePrice_"+i,grantItemCount.getRealMallSharePrice());
grantItemObject.put("countRealMerchantSharePrice_"+i,grantItemCount.getRealMerchantSharePrice());
}
grantItemObjectList.add(grantItemObject);
});
} else if (EnumOfflineActivityType.GIFT.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_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<String,Object> grantItemObject= getGrantItemExportObject(record,grant);
List<String> 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<String,Object> grantItemObject= getGrantItemExportObject(record,grant);
List<String> 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<String,Object> grantItemObject= getGrantItemExportObject(record,grant);
List<String> orderNos = grantItemRecordMap.get(grantItem.getGrantItemId());
handleGrantExportObject(grantItemObject,grantItem,orderNos);
grantItemObjectList.add(grantItemObject);
});
} }
excelService.exportExcel(exportHead, grantItemObjectList, null, "活动("+activityItem.getName()+")联单发放明细", "活动("+activityItem.getName()+")联单发放明细.xlsx",true, response); excelService.exportExcel(exportHead, grantItemObjectList, null, "活动("+activityItem.getName()+")联单发放明细", "活动("+activityItem.getName()+")联单发放明细.xlsx",true, response);


@@ -2225,27 +2115,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantItemObjectList.add(grantItemObject); grantItemObjectList.add(grantItemObject);
}); });
}); });

// recordIds.forEach(recordId -> {
// List<OfflineActivityGrantItemVo> recordgrantItemList = grantItemMap.get(recordId);
// Long grantId = recordgrantItemList.get(0).getGrantId();
// WxOfflineActivityRecord record = recordMap.get(recordId);
// WxOfflineActivityGrantAward grant = grantMap.get(grantId);
// Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant);
//
// for (int i=0;i<recordgrantItemList.size();i++){
// OfflineActivityGrantItemVo grantItem = recordgrantItemList.get(i);
// grantItemObject.put("awardName_"+i,grantItem.getAwardName());
// grantItemObject.put("awardCount_"+i,grantItem.getAwardCount());
// grantItemObject.put("awardPrice_"+i,grantItem.getAwardPrice());
// grantItemObject.put("realGrantPrice_"+i,grantItem.getRealGrantPrice());
// grantItemObject.put("mallShareRate_"+i,grantItem.getMallShareRate());
// grantItemObject.put("merchantShareRate_"+i,grantItem.getMerchantShareRate());
// grantItemObject.put("realMallSharePrice_"+i,grantItem.getRealMallSharePrice());
// grantItemObject.put("realMerchantSharePrice_"+i,grantItem.getRealMerchantSharePrice());
// }
// grantItemObjectList.add(grantItemObject);
// });
} }


excelService.exportExcel(exportHead, grantItemObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response); excelService.exportExcel(exportHead, grantItemObjectList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response);
@@ -2266,25 +2135,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId()); grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId());
} }
List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); List<OfflineActivityGrantItemVo> 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<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); List<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList());
List<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); List<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList());
@@ -2300,14 +2154,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId());


Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant); Map<String,Object> 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); grantItemObjectList.add(grantItemObject);
}); });
} }
@@ -2331,36 +2178,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId()); grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId());
} }
List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement); List<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement);

handleGrantExportHead(exportHead,activityItem);

if(grantItemList != null && !grantItemList.isEmpty()){ 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<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList()); List<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).distinct().collect(toList());
List<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList()); List<Long> grantIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getGrantId).distinct().collect(toList());
@@ -2376,24 +2197,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId()); WxOfflineActivityGrantAward grant = grantMap.get(grantItem.getGrantId());


Map<String,Object> grantItemObject= getGrantItemExportObject(record,grant); Map<String,Object> 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); grantItemObjectList.add(grantItemObject);
}); });
} }
@@ -2484,6 +2288,90 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
return grantItemObject; return grantItemObject;
} }


private void handleGrantExportHead(List<ExcelExportEntity> 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<String,Object> grantItemObject,OfflineActivityGrantItemVo grantItem,List<String> 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());
}
}

} }






+ 4
- 1
mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml Zobrazit soubor

@@ -344,6 +344,7 @@
select gi.grant_id, select gi.grant_id,
gi.activity_id,gi.activity_name, gi.activity_id,gi.activity_name,
gi.activity_item_id,gi.activity_item_name, gi.activity_item_id,gi.activity_item_name,
gi.grant_awards_mode,
gi.award_itam_id,gi.award_name, gi.award_itam_id,gi.award_name,
gi.cash_back_ratio,gi.award_price,gi.award_count, gi.cash_back_ratio,gi.award_price,gi.award_count,
gi.starting_tax_point,gi.tax_points,gi.tax_points_amount, gi.starting_tax_point,gi.tax_points,gi.tax_points_amount,
@@ -357,13 +358,15 @@
from wx_offline_activity_grant_settlement gs from wx_offline_activity_grant_settlement gs
left join wx_offline_activity_grant_item gi on gs.grant_item_id = gi.id left join wx_offline_activity_grant_item gi on gs.grant_item_id = gi.id
where gi.status = 1 where gi.status = 1
and gi.grant_awards_mode = #{grantAwardsMode}
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and gi.`tenant_id` = #{tenantId} and gi.`tenant_id` = #{tenantId}
</if> </if>
<if test=" null != parentTenantId and '' != parentTenantId"> <if test=" null != parentTenantId and '' != parentTenantId">
and gi.`parent_tenant_id` = #{parentTenantId} and gi.`parent_tenant_id` = #{parentTenantId}
</if> </if>
<if test=" null != grantAwardsMode">
and gi.grant_awards_mode = #{grantAwardsMode}
</if>
<if test=" null != activityItemId "> <if test=" null != activityItemId ">
and gi.`activity_item_id` = #{activityItemId} and gi.`activity_item_id` = #{activityItemId}
</if> </if>


Načítá se…
Zrušit
Uložit