Compare commits
2 Commits
d74ccdb898
...
7e23a37798
Author | SHA1 | Date |
---|---|---|
|
7e23a37798 | |
|
866b52a99a |
|
@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.constant.RetailConstants;
|
||||
import com.hzs.common.core.enums.EOrderType;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.report.CuMemberPerformanceSummary;
|
||||
|
@ -42,10 +43,24 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl<CuMemberP
|
|||
List<SaOrder> orderList = baseMapper.getOrderByDay(startDate, endDate, orderTypeList);
|
||||
Map<Integer, List<SaOrder>> groupedOrders = orderList.stream().collect(Collectors.groupingBy(SaOrder::getOrderType));
|
||||
CuMemberPerformanceSummary summary = CuMemberPerformanceSummary.getInitCuMemberPerformanceSummary(startDate);
|
||||
|
||||
BigDecimal dvSource;
|
||||
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue()))) {
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue())) {
|
||||
summary.setRetailRegisterAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailRegisterPv(summary.getRetailDiscountPv().add(saOrder.getOrderAchieve()));
|
||||
summary.setRetailRegisterAmount(summary.getRetailRegisterAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailRegisterPv(summary.getRetailRegisterPv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
dvSource = getDvSource(summary.getRetailRegisterPv());
|
||||
BigDecimal dvUL = dvSource;
|
||||
if(saOrder.getOrderAmount().compareTo(RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_AMOUNT) > 0){
|
||||
dvUL = RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_VALUE;
|
||||
}
|
||||
summary.setRetailRegisterDvSource(dvSource);
|
||||
summary.setRetailRegisterDvUL(dvUL);
|
||||
|
||||
summary.setTotalDvSource(summary.getTotalDvSource().add(dvSource));
|
||||
summary.setTotalDvUL(summary.getTotalDvUL().add(dvUL));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
|
@ -56,6 +71,17 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl<CuMemberP
|
|||
summary.setRetailUpgradeAmount(summary.getRetailUpgradeAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailUpgradePv(summary.getRetailUpgradePv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
dvSource = getDvSource(summary.getRetailUpgradePv());
|
||||
BigDecimal dvUL = dvSource;
|
||||
if(saOrder.getOrderAmount().compareTo(RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_AMOUNT) > 0){
|
||||
dvUL = RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_VALUE;
|
||||
}
|
||||
summary.setRetailUpgradeDvSource(dvSource);
|
||||
summary.setRetailUpgradeDvUL(dvUL);
|
||||
|
||||
summary.setTotalDvSource(summary.getTotalDvSource().add(dvSource));
|
||||
summary.setTotalDvUL(summary.getTotalDvUL().add(dvUL));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
|
@ -65,12 +91,19 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl<CuMemberP
|
|||
summary.setRetailRepurchaseAmount(summary.getRetailRepurchaseAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setRetailRepurchasePv(summary.getRetailRepurchasePv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
dvSource = getDvSource(summary.getRetailRepurchasePv());
|
||||
summary.setRetailRepurchaseDvSource(dvSource);
|
||||
summary.setRetailRepurchaseDvUL(dvSource);
|
||||
|
||||
summary.setTotalDvSource(summary.getTotalDvSource().add(dvSource));
|
||||
summary.setTotalDvUL(summary.getTotalDvUL().add(dvSource));
|
||||
|
||||
summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue()))){
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue())) {
|
||||
if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.DISCOUNT_ORDER.getValue()))){
|
||||
for (SaOrder saOrder : groupedOrders.get(EOrderType.DISCOUNT_ORDER.getValue())) {
|
||||
summary.setRetailDiscountAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount()));
|
||||
summary.setDividendPv(summary.getDividendPv().add(saOrder.getOrderAchieve()));
|
||||
|
||||
|
@ -78,8 +111,11 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl<CuMemberP
|
|||
summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount()));
|
||||
}
|
||||
}
|
||||
summary.setDividendPv(summary.getTotalPv().multiply(new BigDecimal("0.015")));
|
||||
summary.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
baseMapper.insert(summary);
|
||||
}
|
||||
|
||||
private BigDecimal getDvSource(BigDecimal source){
|
||||
return source.multiply(RetailConstants.SPECIAL_AREA_DIVIDEND_PV_PROPORTION);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,21 @@ public class RetailConstants {
|
|||
*/
|
||||
public static final BigDecimal SPECIAL_AREA_41_MAX_ORDER_AMOUNT = new BigDecimal("20000");
|
||||
|
||||
/**
|
||||
* 分红上限(0.015)金额
|
||||
*/
|
||||
public static final BigDecimal SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_AMOUNT = new BigDecimal("10000");
|
||||
|
||||
/**
|
||||
* 分红上限(0.015)结果值
|
||||
*/
|
||||
public static final BigDecimal SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_VALUE = new BigDecimal("350");
|
||||
|
||||
/**
|
||||
* 分红计算比例
|
||||
*/
|
||||
public static final BigDecimal SPECIAL_AREA_DIVIDEND_PV_PROPORTION = new BigDecimal("0.015");
|
||||
|
||||
/**
|
||||
* 注册是否限制手机号重复
|
||||
*/
|
||||
|
|
|
@ -52,6 +52,18 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
@TableField("RETAIL_REGISTER_PV")
|
||||
private BigDecimal retailRegisterPv;
|
||||
|
||||
/**
|
||||
* 精品专区销售分红(原值)
|
||||
*/
|
||||
@TableField("RETAIL_REGISTER_DV_SOURCE")
|
||||
private BigDecimal retailRegisterDvSource;
|
||||
|
||||
/**
|
||||
* 精品专区销售分红(上限)
|
||||
*/
|
||||
@TableField("RETAIL_REGISTER_DV_UL")
|
||||
private BigDecimal retailRegisterDvUL;
|
||||
|
||||
/**
|
||||
* 甄选专区销售金额
|
||||
*/
|
||||
|
@ -64,6 +76,18 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
@TableField("RETAIL_UPGRADE_PV")
|
||||
private BigDecimal retailUpgradePv;
|
||||
|
||||
/**
|
||||
* 甄选专区销售分红(原值)
|
||||
*/
|
||||
@TableField("RETAIL_UPGRADE_DV_SOURCE")
|
||||
private BigDecimal retailUpgradeDvSource;
|
||||
|
||||
/**
|
||||
* 甄选专区销售分红(上限)
|
||||
*/
|
||||
@TableField("RETAIL_UPGRADE_DV_UL")
|
||||
private BigDecimal retailUpgradeDvUL;
|
||||
|
||||
/**
|
||||
* 商城专区销售金额
|
||||
*/
|
||||
|
@ -76,6 +100,18 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
@TableField("RETAIL_REPURCHASE_PV")
|
||||
private BigDecimal retailRepurchasePv;
|
||||
|
||||
/**
|
||||
* 商城专区销售分红(原值)
|
||||
*/
|
||||
@TableField("RETAIL_REPURCHASE_DV_SOURCE")
|
||||
private BigDecimal retailRepurchaseDvSource;
|
||||
|
||||
/**
|
||||
* 商城专区销售分红(上限)
|
||||
*/
|
||||
@TableField("RETAIL_REPURCHASE_DV_UL")
|
||||
private BigDecimal retailRepurchaseDvUL;
|
||||
|
||||
/**
|
||||
* 五折专区销售金额
|
||||
*/
|
||||
|
@ -88,6 +124,18 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
@TableField("RETAIL_DISCOUNT_PV")
|
||||
private BigDecimal retailDiscountPv;
|
||||
|
||||
/**
|
||||
* 五折专区销售分红(原值)
|
||||
*/
|
||||
@TableField("RETAIL_DISCOUNT_DV_SOURCE")
|
||||
private BigDecimal retailDiscountDvSource;
|
||||
|
||||
/**
|
||||
* 五折专区销售分红(上限)
|
||||
*/
|
||||
@TableField("RETAIL_DISCOUNT_DV_UL")
|
||||
private BigDecimal retailDiscountDvUL;
|
||||
|
||||
/**
|
||||
* 当期销售金额合计
|
||||
*/
|
||||
|
@ -101,10 +149,16 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
private BigDecimal totalPv;
|
||||
|
||||
/**
|
||||
* 当日分红合计(分红:所有专区PV值的1.5%每天进行记录)
|
||||
* 当日分红合计(分红:所有专区PV值的1.5%每天进行记录)(原值)
|
||||
*/
|
||||
@TableField("DIVIDEND_PV")
|
||||
private BigDecimal dividendPv;
|
||||
@TableField("TOTAL_DV_SOURCE")
|
||||
private BigDecimal totalDvSource;
|
||||
|
||||
/**
|
||||
* 当日分红合计(分红:所有专区PV值的1.5%每天进行记录)(上限)
|
||||
*/
|
||||
@TableField("TOTAL_DV_UL")
|
||||
private BigDecimal totalDvUL;
|
||||
|
||||
|
||||
public static CuMemberPerformanceSummary getInitCuMemberPerformanceSummary(Date summaryDate){
|
||||
|
@ -112,15 +166,24 @@ public class CuMemberPerformanceSummary extends BaseEntity {
|
|||
.summaryDate(summaryDate)
|
||||
.retailRegisterAmount(BigDecimal.ZERO)
|
||||
.retailRegisterPv(BigDecimal.ZERO)
|
||||
.retailRegisterDvSource(BigDecimal.ZERO)
|
||||
.retailRegisterDvUL(BigDecimal.ZERO)
|
||||
.retailUpgradeAmount(BigDecimal.ZERO)
|
||||
.retailUpgradePv(BigDecimal.ZERO)
|
||||
.retailUpgradeDvSource(BigDecimal.ZERO)
|
||||
.retailUpgradeDvUL(BigDecimal.ZERO)
|
||||
.retailRepurchaseAmount(BigDecimal.ZERO)
|
||||
.retailRepurchasePv(BigDecimal.ZERO)
|
||||
.retailRepurchaseDvSource(BigDecimal.ZERO)
|
||||
.retailRepurchaseDvUL(BigDecimal.ZERO)
|
||||
.retailDiscountAmount(BigDecimal.ZERO)
|
||||
.retailDiscountPv(BigDecimal.ZERO)
|
||||
.retailDiscountDvSource(BigDecimal.ZERO)
|
||||
.retailDiscountDvUL(BigDecimal.ZERO)
|
||||
.totalAmount(BigDecimal.ZERO)
|
||||
.totalPv(BigDecimal.ZERO)
|
||||
.dividendPv(BigDecimal.ZERO)
|
||||
.totalDvSource(BigDecimal.ZERO)
|
||||
.totalDvUL(BigDecimal.ZERO)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,31 @@ COMMENT ON COLUMN CU_MEMBER_PERFORMANCE_SUMMARY."DIVIDEND_PV" IS '当日分红
|
|||
|
||||
COMMENT ON TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" IS '销售业绩统计表';
|
||||
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" RENAME COLUMN "DIVIDEND_PV" TO "TOTAL_DV_SOURCE";
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_REGISTER_DV_SOURCE" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_REGISTER_DV_UL" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_UPGRADE_DV_SOURCE" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_UPGRADE_DV_UL" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_REPURCHASE_DV_SOURCE" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_REPURCHASE_DV_UL" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_DISCOUNT_DV_SOURCE" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "RETAIL_DISCOUNT_DV_UL" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
ALTER TABLE "CU_MEMBER_PERFORMANCE_SUMMARY" ADD "TOTAL_DV_UL" NUMBER(20) DEFAULT 0 NOT NULL;
|
||||
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_REGISTER_DV_SOURCE" IS '精品专区销售分红(原值)';
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_REGISTER_DV_UL" IS '精品专区销售分红(上限)';
|
||||
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_UPGRADE_DV_SOURCE" IS '甄选专区销售分红(原值)';
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_UPGRADE_DV_UL" IS '甄选专区销售分红(上限)';
|
||||
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_REPURCHASE_DV_SOURCE" IS '商城专区销售分红(原值)';
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_REPURCHASE_DV_UL" IS '商城专区销售分红(上限)';
|
||||
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_DISCOUNT_DV_SOURCE" IS '五折专区销售分红(原值)';
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."RETAIL_DISCOUNT_DV_UL" IS '五折专区销售分红(上限)';
|
||||
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."TOTAL_DV_SOURCE" IS '当日分红合计(分红:所有专区PV值的1.5%每天进行记录)(原值)';
|
||||
COMMENT ON COLUMN "CU_MEMBER_PERFORMANCE_SUMMARY"."TOTAL_DV_UL" IS '当日分红合计(分红:所有专区PV值的1.5%每天进行记录)(上限)';
|
||||
|
||||
|
||||
CREATE SEQUENCE C_M_PERFORMANCE_SUMMARY_SEQ
|
||||
|
|
Loading…
Reference in New Issue