Browse Source

//AwardsItem

release_toaliyun_real
xiaohu 1 year ago
parent
commit
f506302ce7
6 changed files with 142 additions and 230 deletions
  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 View File

@@ -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);


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityAwardsItemVo.java View File

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

private Long activityItemId;

private Integer grantAwardsMode;

private Long activityId;

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/vo/OfflineActivityGrantItemVo.java View File

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

private Integer grantAwardsMode;

private Long awardItamId;
private String awardName;



+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxOfflineActivityGrantAwardService.java View File

@@ -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<WxOfflineActivityGrantAward> selectListByIds(List<Long> grantIds, TenantEntity tenantEntity);



+ 115
- 227
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java View File

@@ -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<OfflineActivityGrantItemVo> grantItemList = wxOfflineActivityGrantSettlementMapper.findAwardItemGrantList(grantSettlement);

if(grantItemList != null && !grantItemList.isEmpty()){
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);
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);

@@ -2225,27 +2115,6 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
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);
@@ -2266,25 +2135,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId());
}
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> 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<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);
});
}
@@ -2331,36 +2178,10 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantSettlement.setAwardItamId(wxOfflineActivityAwardsItem.getId());
}
List<OfflineActivityGrantItemVo> 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<Long> recordIds = grantItemList.stream().map(OfflineActivityGrantItemVo::getRecordId).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());

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);
});
}
@@ -2484,6 +2288,90 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
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 View File

@@ -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}
<if test=" null != tenantId and '' != tenantId">
and gi.`tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and gi.`parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != grantAwardsMode">
and gi.grant_awards_mode = #{grantAwardsMode}
</if>
<if test=" null != activityItemId ">
and gi.`activity_item_id` = #{activityItemId}
</if>


Loading…
Cancel
Save