Browse Source

fix

release_toaliyun_real
winter 7 months ago
parent
commit
73665c23fa
5 changed files with 121 additions and 142 deletions
  1. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  2. +4
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java
  3. +4
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java
  4. +32
    -9
      mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java
  5. +80
    -127
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java

+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java View File

@@ -163,7 +163,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/logout", "authc");

filterChainDefinitionMap.put("/**", "corsFilter,token,authc");
// filterChainDefinitionMap.put("/**", "anon");
filterChainDefinitionMap.put("/**", "anon");


shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);


+ 4
- 4
mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java View File

@@ -80,10 +80,10 @@ public class BaseController {
*/
public TenantEntity getTenantInfo(){
Session session = SecurityUtils.getSubject().getSession();
String tenantId = (String)session.getAttribute(UserSession.tenantId);
String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId);
// String tenantId = "789";
// String parentTenantId = null;
// String tenantId = (String)session.getAttribute(UserSession.tenantId);
// String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId);
String tenantId = "789";
String parentTenantId = null;
TenantEntity tenantEntity = new TenantEntity();
tenantEntity.setTenantId(tenantId);
tenantEntity.setParentTenantId(parentTenantId);


+ 4
- 1
mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawOrderData.java View File

@@ -76,9 +76,12 @@ public class WxVtwoActivityPrizeDrawOrderData implements Serializable {
@Excel(name="审核时间",format = "yyyy-MM-dd HH:mm:ss", width = 20,orderNum = "18")
private Date auditTime;
@ExcelCollection(name="发奖列表")
@ExcelCollection(name="发奖列表",orderNum = "19")
private List<WxVtwoActivityPrizeDrawPrizeDetailData> orderGrantList;
@ExcelCollection(name="联单列表",orderNum = "20")
private List<WxVtwoActivityPrizeDrawPrizeDetailData> orderLinkList;
public void initByWxVtwoActivityOrder(WxVtwoActivityOrder ao) {
this.id = ao.getId();
this.orderNo = ao.getOrderNo();


+ 32
- 9
mallinkService/src/main/java/com/iformall/domain/vo/excel/vtwoPrize/WxVtwoActivityPrizeDrawPrizeDetailData.java View File

@@ -3,8 +3,11 @@ package com.iformall.domain.vo.excel.vtwoPrize;
import cn.afterturn.easypoi.excel.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.iformall.domain.po.WxVtwoActivityGrantAward;

import lombok.Data;
import lombok.ToString;

@@ -14,15 +17,35 @@ public class WxVtwoActivityPrizeDrawPrizeDetailData implements Serializable {

private static final long serialVersionUID = 1L;
public WxVtwoActivityPrizeDrawPrizeDetailData(String key,Object value) {
this.key = key;
this.value = value;
}

@Excel(name="属性名")
private String key;
@Excel(name="奖项名称",width = 20,orderNum = "1")
private String awardName;
@Excel(name="奖项数量",width = 20,orderNum = "2")
private Integer awardCount;
@Excel(name="奖项价值",width = 20,orderNum = "3")
private BigDecimal grantPrice;
@Excel(name="商管承担比例(%)",width = 20,orderNum = "4")
private BigDecimal mallShareRate;
@Excel(name="商户承担比例(%)",width = 20,orderNum = "5")
private BigDecimal merchantShareRate;
@Excel(name="商管承担金额",width = 20,orderNum = "6")
private BigDecimal mallSharePrice;
@Excel(name="商户承担金额",width = 20,orderNum = "7")
private BigDecimal merchantSharePrice;
@Excel(name="属性值")
private Object value;
public void initByWxVtwoActivityGrantAward(WxVtwoActivityGrantAward ga) {
this.awardName = ga.getAwardName();
this.awardCount = ga.getAwardCount();
this.grantPrice = ga.getGrantPrice();
this.mallShareRate = ga.getMallShareRate();
this.merchantShareRate = ga.getMerchantShareRate();
this.mallSharePrice = ga.getMallSharePrice();
this.merchantSharePrice = ga.getMerchantSharePrice();
}
}

+ 80
- 127
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java View File

@@ -15,6 +15,7 @@ import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.*;
import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawMainData;
import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawOrderData;
import com.iformall.domain.vo.excel.vtwoPrize.WxVtwoActivityPrizeDrawPrizeDetailData;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
@@ -624,49 +625,6 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD
throw new MallinkException(Result.ERROR,"未查询到活动");
}

List<ExcelExportEntity> headList = wxVtwoActivityGrantExportTwoService.getExportHeadList();
ExcelExportEntity entity14 = new ExcelExportEntity(null,"orderGrantList",220);
List<ExcelExportEntity> entity14_list = new ArrayList<>();
ExcelExportEntity entity14_2 = new ExcelExportEntity("订单奖项名称","awardName",20);
entity14_list.add(entity14_2);
ExcelExportEntity entity14_3 = new ExcelExportEntity("订单奖项数量","awardCount",20);
entity14_list.add(entity14_3);
ExcelExportEntity entity14_4 = new ExcelExportEntity("订单奖项价值","grantPrice",20);
entity14_list.add(entity14_4);
ExcelExportEntity entity14_5 = new ExcelExportEntity("商管承担比例(%)","mallShareRate",20);
entity14_list.add(entity14_5);
ExcelExportEntity entity14_6 = new ExcelExportEntity("商户承担比例(%)","merchantShareRate",20);
entity14_list.add(entity14_6);
ExcelExportEntity entity14_7 = new ExcelExportEntity("商管承担金额","mallSharePrice",20);
entity14_list.add(entity14_7);
ExcelExportEntity entity14_8 = new ExcelExportEntity("商户承担金额","merchantSharePrice",20);
entity14_list.add(entity14_8);
entity14.setList(entity14_list);
headList.add(entity14);
//联单
ExcelExportEntity entity15_c = new ExcelExportEntity("联单奖项名称","awardNameLink",20);
entity15_c.setNeedMerge(true);
headList.add(entity15_c);
ExcelExportEntity entity16_c = new ExcelExportEntity("联单奖项数量","awardCountLink",20);
entity16_c.setNeedMerge(true);
headList.add(entity16_c);
ExcelExportEntity entity17_c = new ExcelExportEntity("联单奖项价值","grantPriceLink",20);
entity17_c.setNeedMerge(true);
headList.add(entity17_c);
ExcelExportEntity entity18_c = new ExcelExportEntity("商管承担比例(%)","mallShareRateLink",20);
entity18_c.setNeedMerge(true);
headList.add(entity18_c);
ExcelExportEntity entity19_c = new ExcelExportEntity("商户承担比例(%)","merchantShareRateLink",20);
entity19_c.setNeedMerge(true);
headList.add(entity19_c);
ExcelExportEntity entity20_c = new ExcelExportEntity("商管承担金额","mallSharePriceLink",20);
entity19_c.setNeedMerge(true);
headList.add(entity20_c);
ExcelExportEntity entity21_c = new ExcelExportEntity("商户承担金额","merchantSharePriceLink",20);
entity19_c.setNeedMerge(true);
headList.add(entity21_c);

List<WxVtwoActivityPrizeDrawMainData> activityGrantExportList = wxVtwoActivityGrantExportTwoService.findActivityGrantExportList(activityGrant.getActivityId(),activityGrant.getTenantId());
if(activityGrantExportList != null && !activityGrantExportList.isEmpty()){
for (int k = 0 ; k < activityGrantExportList.size(); k++) {
@@ -676,95 +634,90 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD
List<WxVtwoActivityGrantAward> orderGrantAward = JSONObject.parseArray(aget.getOrderGrantDetail(), WxVtwoActivityGrantAward.class);
if(orderGrantAward != null && !orderGrantAward.isEmpty()){
//联单
List<WxVtwoActivityGrantAward> jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class);
//统计每个订单发奖的列表
Map<Long, List<WxVtwoActivityGrantAward>> orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId));
//联单
List<WxVtwoActivityGrantAward> jointGrantAward = JSONObject.parseArray(aget.getJointGrantDetail(), WxVtwoActivityGrantAward.class);
//根据每个订单发奖的列表来循环生成多行
if (null != aget.getOrderList()) {
aget.getOrderList().forEach(order -> {
List<WxVtwoActivityPrizeDrawPrizeDetailData> prizeDetailList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>();
//这个订单里面有多少个奖品
List<WxVtwoActivityGrantAward> grantAwardList = orderGrantAwardMap.get(order.getId());
if (null != grantAwardList && grantAwardList.size() > 0 ) {
for (int i = 0; i < grantAwardList.size(); i++) {
WxVtwoActivityGrantAward ga = grantAwardList.get(i);
WxVtwoActivityPrizeDrawPrizeDetailData awardName = new WxVtwoActivityPrizeDrawPrizeDetailData("awardName",ga.getAwardName());
prizeDetailList.add(awardName);
WxVtwoActivityPrizeDrawPrizeDetailData awardCount = new WxVtwoActivityPrizeDrawPrizeDetailData("awardCount",ga.getAwardCount());
prizeDetailList.add(awardCount);
WxVtwoActivityPrizeDrawPrizeDetailData grantPrice = new WxVtwoActivityPrizeDrawPrizeDetailData("grantPrice",ga.getGrantPrice());
prizeDetailList.add(grantPrice);
WxVtwoActivityPrizeDrawPrizeDetailData mallShareRate = new WxVtwoActivityPrizeDrawPrizeDetailData("mallShareRate",ga.getMallShareRate());
prizeDetailList.add(mallShareRate);
WxVtwoActivityPrizeDrawPrizeDetailData merchantShareRate = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantShareRate",ga.getMerchantShareRate());
prizeDetailList.add(merchantShareRate);
//单笔订单计算
if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){
WxVtwoActivityGrantSettlement grantSettlement = ga.getGrantSettlementList().get(0);
WxVtwoActivityPrizeDrawPrizeDetailData mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice());
prizeDetailList.add(mallSharePrice);
WxVtwoActivityPrizeDrawPrizeDetailData merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice());
prizeDetailList.add(merchantSharePrice);
}else {
Map<Long, WxVtwoActivityGrantSettlement> grantSettlementMap = ga.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity()));
WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId());
if(grantSettlement != null){
WxVtwoActivityPrizeDrawPrizeDetailData _mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice());
prizeDetailList.add(_mallSharePrice);
WxVtwoActivityPrizeDrawPrizeDetailData _merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice());
prizeDetailList.add(_merchantSharePrice);
}else{
prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",0));
prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",0));
}
}
}
}
if(jointGrantAward != null && !jointGrantAward.isEmpty()){
for (int i = 0 ; i < jointGrantAward.size() ; i ++) {
WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i);
WxVtwoActivityPrizeDrawPrizeDetailData awardNameLink = new WxVtwoActivityPrizeDrawPrizeDetailData("awardNameLink",jointOne.getAwardName());
prizeDetailList.add(awardNameLink);
WxVtwoActivityPrizeDrawPrizeDetailData awardCountLink = new WxVtwoActivityPrizeDrawPrizeDetailData("awardCountLink",jointOne.getAwardCount());
prizeDetailList.add(awardCountLink);
WxVtwoActivityPrizeDrawPrizeDetailData grantPriceLink = new WxVtwoActivityPrizeDrawPrizeDetailData("grantPriceLink",jointOne.getGrantPrice());
prizeDetailList.add(grantPriceLink);
WxVtwoActivityPrizeDrawPrizeDetailData mallShareRateLink = new WxVtwoActivityPrizeDrawPrizeDetailData("mallShareRateLink",jointOne.getMallShareRate());
prizeDetailList.add(mallShareRateLink);
WxVtwoActivityPrizeDrawPrizeDetailData merchantShareRateLink = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantShareRateLink",jointOne.getMerchantShareRate());
prizeDetailList.add(merchantShareRateLink);
Map<Long, WxVtwoActivityGrantSettlement> grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity()));
WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId());
if(grantSettlement != null){
WxVtwoActivityPrizeDrawPrizeDetailData _mallSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",grantSettlement.getOrderMallSharePrice());
prizeDetailList.add(_mallSharePrice);
WxVtwoActivityPrizeDrawPrizeDetailData _merchantSharePrice = new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",grantSettlement.getOrderMerchantSharePrice());
prizeDetailList.add(_merchantSharePrice);
}else{
prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("mallSharePrice",0));
prizeDetailList.add(new WxVtwoActivityPrizeDrawPrizeDetailData("merchantSharePrice",0));
}
}
}
//统计每个订单发奖的列表,针对单个订单计算的
Map<Long, List<WxVtwoActivityGrantAward>> orderGrantAwardMap = null;
//单笔订单计算,数据里面才有orderId
if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){
orderGrantAwardMap = orderGrantAward.stream().collect(groupingBy(WxVtwoActivityGrantAward::getOrderId));
}
//根据每个订单发奖的列表来循环生成多行
if (null != aget.getOrderList() && !aget.getOrderList().isEmpty()) {
for (int p = 0 ; p < aget.getOrderList().size(); p++) {
WxVtwoActivityPrizeDrawOrderData order = aget.getOrderList().get(p);
List<WxVtwoActivityPrizeDrawPrizeDetailData> orderGrantList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>();
//这个订单里面有多少个奖品
List<WxVtwoActivityGrantAward> grantAwardList = null;
if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){
grantAwardList = orderGrantAwardMap.get(order.getId());
}else {
grantAwardList = orderGrantAward;
}
order.setOrderGrantList(prizeDetailList);
if (null != grantAwardList && grantAwardList.size() > 0 ) {
for (int i = 0; i < grantAwardList.size(); i++) {
WxVtwoActivityGrantAward ga = grantAwardList.get(i);
WxVtwoActivityPrizeDrawPrizeDetailData awardd = new WxVtwoActivityPrizeDrawPrizeDetailData();
awardd.initByWxVtwoActivityGrantAward(ga);
//单笔订单计算
if(EnumOfflineActivityMode.ONE.getCode().equals(activity.getAmountModel())){
WxVtwoActivityGrantSettlement grantSettlement = ga.getGrantSettlementList().get(0);
awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice());
awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice());
}else {
Map<Long, WxVtwoActivityGrantSettlement> grantSettlementMap = ga.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity()));
WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId());
if(grantSettlement != null){
awardd.setMallSharePrice(grantSettlement.getOrderMallSharePrice());
awardd.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice());
}else{
awardd.setMallSharePrice(new BigDecimal(0));
awardd.setMerchantSharePrice(new BigDecimal(0));
}
}
orderGrantList.add(awardd);
}
}
order.setOrderGrantList(orderGrantList);
List<WxVtwoActivityPrizeDrawPrizeDetailData> orderLinkList = new ArrayList<WxVtwoActivityPrizeDrawPrizeDetailData>();
if(jointGrantAward != null && !jointGrantAward.isEmpty()){
for (int i = 0 ; i < jointGrantAward.size() ; i ++) {
WxVtwoActivityGrantAward jointOne = jointGrantAward.get(i);
WxVtwoActivityPrizeDrawPrizeDetailData awarddLink = new WxVtwoActivityPrizeDrawPrizeDetailData();
awarddLink.initByWxVtwoActivityGrantAward(jointOne);
Map<Long, WxVtwoActivityGrantSettlement> grantSettlementMap = jointOne.getGrantSettlementList().stream().collect(toMap(WxVtwoActivityGrantSettlement::getOrderId, Function.identity()));
WxVtwoActivityGrantSettlement grantSettlement = grantSettlementMap.get(order.getId());
if(grantSettlement != null){
awarddLink.setMallSharePrice(grantSettlement.getOrderMallSharePrice());
awarddLink.setMerchantSharePrice(grantSettlement.getOrderMerchantSharePrice());;
}else{
awarddLink.setMallSharePrice(new BigDecimal(0));
awarddLink.setMerchantSharePrice(new BigDecimal(0));
}
orderLinkList.add(awarddLink);
}
}
});
}
}
}
}
}
}
}
excelService.exportExcel(headList, activityGrantExportList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response);

//excelService.exportExcel(headList, activityGrantExportList, null, "抽奖活动发放明细", "抽奖活动发放明细.xlsx",true, response);
excelService.exportExcel(activityGrantExportList, null, "抽奖活动发放明细",WxVtwoActivityPrizeDrawMainData.class, "抽奖活动发放明细.xlsx",true, response);
}

}


Loading…
Cancel
Save