## 奖金表添加冗余字段;

This commit is contained in:
cabbage 2025-10-10 17:08:39 +08:00
parent 8861cda499
commit b05518994c
6 changed files with 76 additions and 6 deletions

View File

@ -172,6 +172,11 @@ public abstract class BonusSettleHandle {
.retailRangeIncome(BigDecimal.ZERO)
.retailSameLevelIncome(BigDecimal.ZERO)
.storeIncome(BigDecimal.ZERO)
.rangeIncome41(BigDecimal.ZERO)
.rangeIncome43(BigDecimal.ZERO)
.rangeIncome47(BigDecimal.ZERO)
.sameLevelIncome41(BigDecimal.ZERO)
.sameLevelIncome43(BigDecimal.ZERO)
.build();
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonus.setPkCountry(pkCountry);

View File

@ -1198,6 +1198,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailRangeIncome(), cuMemberBonusRange.getPretaxIncome()));
// 级差冗余计算波比
if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue())
|| saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) {
// 精品甄选
cuMemberBonus.setRangeIncome41(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome41(), cuMemberBonusRange.getPretaxIncome()));
} else if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REPURCHASE.getValue())) {
// 商城
cuMemberBonus.setRangeIncome43(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome43(), cuMemberBonusRange.getPretaxIncome()));
} else if (saOrderExt.getOrderType().equals(EOrderType.DISCOUNT_ORDER.getValue())) {
// 五折
cuMemberBonus.setRangeIncome47(ComputeUtil.computeAdd(cuMemberBonus.getRangeIncome47(), cuMemberBonusRange.getPretaxIncome()));
}
setRetailTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusRange);
}
cuMemberBonusRangeList.add(cuMemberBonusRange);
@ -1216,6 +1230,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, sameLevelMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
if (EBonusIncomeStatus.NORMAL.getValue() == sameLevelMemberBonusRange.getIncomeStatus()) {
cuMemberBonus.setRetailSameLevelIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailSameLevelIncome(), sameLevelMemberBonusRange.getPretaxIncome()));
// 平级冗余计算波比
if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue())
|| saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) {
// 精品甄选
cuMemberBonus.setSameLevelIncome41(ComputeUtil.computeAdd(cuMemberBonus.getSameLevelIncome41(), sameLevelMemberBonusRange.getPretaxIncome()));
} else if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REPURCHASE.getValue())) {
// 商城
cuMemberBonus.setSameLevelIncome43(ComputeUtil.computeAdd(cuMemberBonus.getSameLevelIncome43(), sameLevelMemberBonusRange.getPretaxIncome()));
}
setRetailTotal(bdBonusDeduct, cuMemberBonus, sameLevelMemberBonusRange);
}
cuMemberBonusRangeList.add(sameLevelMemberBonusRange);

View File

@ -105,7 +105,9 @@
store_income, real_income_total, pk_country, pk_creator, grant_status, income_status,
retail_range_income, retail_same_level_income, retail_area_income,
retail_benefit_range_income, retail_month_repurchase_income,
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal,
range_income_41, range_income_43, range_income_47,
same_level_income_41, same_level_income_43
from (
<foreach item="item" index="index" collection="cuMemberBonusList" separator=" union ">
select #{item.pkId} pk_id, #{item.pkMember} pk_member, #{item.period} period, #{item.pkRate,jdbcType=INTEGER} pk_rate,
@ -121,7 +123,9 @@
#{item.retailRangeIncome} retail_range_income, #{item.retailSameLevelIncome} retail_same_level_income, #{item.retailAreaIncome} retail_area_income,
#{item.retailBenefitRangeIncome} retail_benefit_range_income, #{item.retailMonthRepurchaseIncome} retail_month_repurchase_income,
#{item.retailBenefitAvgIncome} retail_benefit_avg_income, #{item.retailBenefitIncome} retail_benefit_income,
#{item.retailRealSubtotal} retail_real_subtotal
#{item.retailRealSubtotal} retail_real_subtotal,
#{item.rangeIncome41} range_income_41, #{item.rangeIncome43} range_income_43, #{item.rangeIncome47} range_income_47,
#{item.sameLevelIncome41} same_level_income_41, #{item.sameLevelIncome43} same_level_income_43
from dual
</foreach>) )b
on (cb.pk_member = b.pk_member and cb.period = b.period)
@ -136,7 +140,10 @@
pk_country, pk_creator, grant_status, income_status,
retail_range_income, retail_same_level_income,
retail_area_income, retail_benefit_range_income, retail_month_repurchase_income,
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal)
retail_benefit_avg_income, retail_benefit_income, retail_real_subtotal,
range_income_41, range_income_43, range_income_47,
same_level_income_41, same_level_income_43
)
values (
b.pk_id, b.pk_member, b.period, b.pk_rate, b.direct_income, b.global_points,
b.expand_income,b.expand_no_capping,
@ -147,7 +154,10 @@
b.pk_country, b.pk_creator, b.grant_status, b.income_status,
b.retail_range_income, b.retail_same_level_income,
b.retail_area_income, b.retail_benefit_range_income, b.retail_month_repurchase_income,
b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal)
b.retail_benefit_avg_income, b.retail_benefit_income, b.retail_real_subtotal
b.range_income_41, b.range_income_43, b.range_income_47,
b.same_level_income_41, b.same_level_income_43
)
</insert>
<insert id="insertOrUpdateCuMemberBonus">

View File

@ -27,7 +27,7 @@ public enum EBonusItems {
STAGE_INCOME(21, "阶段收益", 0),
/**
* 领导奖收益 -- 精品专区商城专区
* 领导奖收益 -- 精品专区商城专区五折专区
*/
RANGE_INCOME(22, "领导奖收益", 0),
/**

View File

@ -288,6 +288,36 @@ public class CuMemberBonus extends BaseEntity {
*/
@TableField("GRANT_STATUS")
private Integer grantStatus;
/**
* 精品专区领导奖级差统计波比使用
*/
@TableField("RANGE_INCOME_41")
private BigDecimal rangeIncome41;
/**
* 商城专区领导奖级差统计波比使用
*/
@TableField("RANGE_INCOME_43")
private BigDecimal rangeIncome43;
/**
* 五折专区领导奖级差统计波比使用
*/
@TableField("RANGE_INCOME_47")
private BigDecimal rangeIncome47;
/**
* 精品专区平级统计波比使用
*/
@TableField("SAME_LEVEL_INCOME_41")
private BigDecimal sameLevelIncome41;
/**
* 商城专区平级统计波比使用
*/
@TableField("SAME_LEVEL_INCOME_43")
private BigDecimal sameLevelIncome43;
/**
* 隶属团队
*/

View File

@ -136,7 +136,7 @@ public class BonusSettleJob {
*/
@XxlJob("autoSecondBonus")
public void autoSettleMemberBonusBySecond() {
log.info("开始进行会员业绩计算");
log.info("开始进行补偿秒结处理");
iMemberSettleBonusApi.calculateCuMemberRetailRangeBonusBySaOrder();
}