## 三阶段奖金生成;
This commit is contained in:
parent
93926f6932
commit
b18b984b5a
|
@ -163,43 +163,43 @@ public abstract class BonusSettleHandle {
|
||||||
.pkRate(pkRate)
|
.pkRate(pkRate)
|
||||||
.incomeStatus(incomeStatus)
|
.incomeStatus(incomeStatus)
|
||||||
.directIncome(BigDecimal.ZERO)
|
.directIncome(BigDecimal.ZERO)
|
||||||
// .expandIncome(BigDecimal.ZERO)
|
.expandIncome(BigDecimal.ZERO)
|
||||||
// .expandNoCapping(BigDecimal.ZERO)
|
.expandNoCapping(BigDecimal.ZERO)
|
||||||
// .expandCapping(BigDecimal.ZERO)
|
.expandCapping(BigDecimal.ZERO)
|
||||||
// .coachIncome(BigDecimal.ZERO)
|
.coachIncome(BigDecimal.ZERO)
|
||||||
// .shareIncome(BigDecimal.ZERO)
|
.shareIncome(BigDecimal.ZERO)
|
||||||
// .serviceIncome(BigDecimal.ZERO)
|
.serviceIncome(BigDecimal.ZERO)
|
||||||
// .backPoints(BigDecimal.ZERO)
|
.backPoints(BigDecimal.ZERO)
|
||||||
// .serviceSpend(BigDecimal.ZERO)
|
.serviceSpend(BigDecimal.ZERO)
|
||||||
// .purRealSubtotal(BigDecimal.ZERO)
|
.purRealSubtotal(BigDecimal.ZERO)
|
||||||
// .repurPushIncome(BigDecimal.ZERO)
|
.repurPushIncome(BigDecimal.ZERO)
|
||||||
// .repurRangeIncome(BigDecimal.ZERO)
|
.repurRangeIncome(BigDecimal.ZERO)
|
||||||
// .repurExpandIncome(BigDecimal.ZERO)
|
.repurExpandIncome(BigDecimal.ZERO)
|
||||||
// .repurRealSubtotal(BigDecimal.ZERO)
|
.repurRealSubtotal(BigDecimal.ZERO)
|
||||||
// .cloudDirectIncome(BigDecimal.ZERO)
|
.cloudDirectIncome(BigDecimal.ZERO)
|
||||||
// .cloudPurIncome(BigDecimal.ZERO)
|
.cloudPurIncome(BigDecimal.ZERO)
|
||||||
// .cloudRepurIncome(BigDecimal.ZERO)
|
.cloudRepurIncome(BigDecimal.ZERO)
|
||||||
// .cloudRealSubtotal(BigDecimal.ZERO)
|
.cloudRealSubtotal(BigDecimal.ZERO)
|
||||||
// .repurCoupon(BigDecimal.ZERO)
|
.repurCoupon(BigDecimal.ZERO)
|
||||||
// .repurCouponShare(BigDecimal.ZERO)
|
.repurCouponShare(BigDecimal.ZERO)
|
||||||
// .repurCouponSubtotal(BigDecimal.ZERO)
|
.repurCouponSubtotal(BigDecimal.ZERO)
|
||||||
.globalPoints(BigDecimal.ZERO)
|
.globalPoints(BigDecimal.ZERO)
|
||||||
// .carAwardPoints(BigDecimal.ZERO)
|
.carAwardPoints(BigDecimal.ZERO)
|
||||||
// .hiFunIncome(BigDecimal.ZERO)
|
.hiFunIncome(BigDecimal.ZERO)
|
||||||
// .haiFunIncome(BigDecimal.ZERO)
|
.haiFunIncome(BigDecimal.ZERO)
|
||||||
.storeIncome(BigDecimal.ZERO)
|
.storeIncome(BigDecimal.ZERO)
|
||||||
// .makerDirectIncome(BigDecimal.ZERO)
|
.makerDirectIncome(BigDecimal.ZERO)
|
||||||
// .makerShareIncome(BigDecimal.ZERO)
|
.makerShareIncome(BigDecimal.ZERO)
|
||||||
// .makerRealSubtotal(BigDecimal.ZERO)
|
.makerRealSubtotal(BigDecimal.ZERO)
|
||||||
.realIncomeTotal(BigDecimal.ZERO)
|
.realIncomeTotal(BigDecimal.ZERO)
|
||||||
// .retailRangeIncome(BigDecimal.ZERO)
|
.retailRangeIncome(BigDecimal.ZERO)
|
||||||
// .retailSameLevelIncome(BigDecimal.ZERO)
|
.retailSameLevelIncome(BigDecimal.ZERO)
|
||||||
// .retailAreaIncome(BigDecimal.ZERO)
|
.retailAreaIncome(BigDecimal.ZERO)
|
||||||
// .retailBenefitRangeIncome(BigDecimal.ZERO)
|
.retailBenefitRangeIncome(BigDecimal.ZERO)
|
||||||
// .retailMonthRepurchaseIncome(BigDecimal.ZERO)
|
.retailMonthRepurchaseIncome(BigDecimal.ZERO)
|
||||||
// .retailBenefitAvgIncome(BigDecimal.ZERO)
|
.retailBenefitAvgIncome(BigDecimal.ZERO)
|
||||||
// .retailBenefitIncome(BigDecimal.ZERO)
|
.retailBenefitIncome(BigDecimal.ZERO)
|
||||||
// .retailRealSubtotal(BigDecimal.ZERO)
|
.retailRealSubtotal(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||||
cuMemberBonus.setPkCountry(pkCountry);
|
cuMemberBonus.setPkCountry(pkCountry);
|
||||||
|
|
|
@ -1003,6 +1003,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
.pointType(EBonusStageType.NORMAL.getValue())
|
.pointType(EBonusStageType.NORMAL.getValue())
|
||||||
.pointGift(0)
|
.pointGift(0)
|
||||||
.creationTime(settleDate)
|
.creationTime(settleDate)
|
||||||
|
.thirdBonus1(0)
|
||||||
|
.thirdBonus2(0)
|
||||||
|
.thirdBonus3(0)
|
||||||
.updateBool(0)
|
.updateBool(0)
|
||||||
.build();
|
.build();
|
||||||
detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
|
detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
|
||||||
|
|
|
@ -278,6 +278,9 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
case BonusConstants.POINT_37:
|
case BonusConstants.POINT_37:
|
||||||
case BonusConstants.POINT_38:
|
case BonusConstants.POINT_38:
|
||||||
// 如果填充的点位是第三层,理论上有可能已经全部填满,需要判断是否已经完成
|
// 如果填充的点位是第三层,理论上有可能已经全部填满,需要判断是否已经完成
|
||||||
|
if (EBonusStageStatus.YES.getValue() == targetRetailDetail.getStageStatus()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
boolean isFinish = true;
|
boolean isFinish = true;
|
||||||
for (String suffix : BonusConstants.FIELD_LIST) {
|
for (String suffix : BonusConstants.FIELD_LIST) {
|
||||||
if (null == ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix)) {
|
if (null == ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix)) {
|
||||||
|
@ -308,6 +311,9 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
.pointType(targetRetailDetail.getPointType())
|
.pointType(targetRetailDetail.getPointType())
|
||||||
.pointGift(targetRetailDetail.getPointGift())
|
.pointGift(targetRetailDetail.getPointGift())
|
||||||
.creationTime(settleDate)
|
.creationTime(settleDate)
|
||||||
|
.thirdBonus1(0)
|
||||||
|
.thirdBonus2(0)
|
||||||
|
.thirdBonus3(0)
|
||||||
.updateBool(0)
|
.updateBool(0)
|
||||||
.build());
|
.build());
|
||||||
bonusStageDataList.add(bonusStageData);
|
bonusStageDataList.add(bonusStageData);
|
||||||
|
@ -330,6 +336,9 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
.pointType(targetRetailDetail.getPointType())
|
.pointType(targetRetailDetail.getPointType())
|
||||||
.pointGift(targetRetailDetail.getPointGift())
|
.pointGift(targetRetailDetail.getPointGift())
|
||||||
.creationTime(settleDate)
|
.creationTime(settleDate)
|
||||||
|
.thirdBonus1(0)
|
||||||
|
.thirdBonus2(0)
|
||||||
|
.thirdBonus3(0)
|
||||||
.updateBool(0)
|
.updateBool(0)
|
||||||
.build());
|
.build());
|
||||||
bonusStageDataList.add(bonusStageData);
|
bonusStageDataList.add(bonusStageData);
|
||||||
|
@ -632,8 +641,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
if (null != secondMemberRetail) {
|
if (null != secondMemberRetail) {
|
||||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(secondMemberRetail, eBonusStage).get(downSecondPoint);
|
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(secondMemberRetail, eBonusStage).get(downSecondPoint);
|
||||||
if (null != memberDetail) {
|
if (null != memberDetail) {
|
||||||
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPkMember());
|
newRetailDetail.setPointMemberSecond(memberDetail.getPkMember());
|
||||||
newRetailDetail.setPointSecond(newParentRetailDetail.getChildNode());
|
newRetailDetail.setPointSecond(memberDetail.getChildNode());
|
||||||
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 2, settleDate, eBonusStage,
|
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 2, settleDate, eBonusStage,
|
||||||
bonusStageDataList);
|
bonusStageDataList);
|
||||||
}
|
}
|
||||||
|
@ -644,8 +653,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
||||||
if (null != firstMemberRetail) {
|
if (null != firstMemberRetail) {
|
||||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
|
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
|
||||||
if (null != memberDetail) {
|
if (null != memberDetail) {
|
||||||
newRetailDetail.setPointMemberFirst(newParentRetailDetail.getPkMember());
|
newRetailDetail.setPointMemberFirst(memberDetail.getPkMember());
|
||||||
newRetailDetail.setPointFirst(newParentRetailDetail.getChildNode());
|
newRetailDetail.setPointFirst(memberDetail.getChildNode());
|
||||||
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 1, settleDate, eBonusStage,
|
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 1, settleDate, eBonusStage,
|
||||||
bonusStageDataList);
|
bonusStageDataList);
|
||||||
}
|
}
|
||||||
|
|
|
@ -388,7 +388,7 @@
|
||||||
#{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third,
|
#{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third,
|
||||||
#{item.thirdBonus1, jdbcType=NUMERIC} third_bonus_1,
|
#{item.thirdBonus1, jdbcType=NUMERIC} third_bonus_1,
|
||||||
#{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2,
|
#{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2,
|
||||||
#{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_2
|
#{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_3
|
||||||
from dual
|
from dual
|
||||||
</foreach>
|
</foreach>
|
||||||
) b
|
) b
|
||||||
|
|
|
@ -335,9 +335,9 @@
|
||||||
point_second NUMBER(8),
|
point_second NUMBER(8),
|
||||||
point_member_third NUMBER(20),
|
point_member_third NUMBER(20),
|
||||||
point_third NUMBER(8),
|
point_third NUMBER(8),
|
||||||
third_bonus_1 NUMBER(8),
|
third_bonus_1 NUMBER(8) default 0 not null,
|
||||||
third_bonus_2 NUMBER(8),
|
third_bonus_2 NUMBER(8) default 0 not null,
|
||||||
third_bonus_3 NUMBER(8)
|
third_bonus_3 NUMBER(8) default 0 not null
|
||||||
)
|
)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
|
@ -56,10 +56,124 @@ public class CuMemberBonus extends BaseEntity {
|
||||||
private BigDecimal directIncome;
|
private BigDecimal directIncome;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 阶段收益-众康
|
* 拓展收益
|
||||||
*/
|
*/
|
||||||
@TableField("STORE_INCOME")
|
@TableField("EXPAND_INCOME")
|
||||||
private BigDecimal storeIncome;
|
private BigDecimal expandIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
|
||||||
|
*/
|
||||||
|
@TableField("EXPAND_NO_CAPPING")
|
||||||
|
private BigDecimal expandNoCapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
|
||||||
|
*/
|
||||||
|
@TableField("EXPAND_CAPPING")
|
||||||
|
private BigDecimal expandCapping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 培育津贴
|
||||||
|
*/
|
||||||
|
@TableField("COACH_INCOME")
|
||||||
|
private BigDecimal coachIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红收益
|
||||||
|
*/
|
||||||
|
@TableField("SHARE_INCOME")
|
||||||
|
private BigDecimal shareIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报单收益
|
||||||
|
*/
|
||||||
|
@TableField("SERVICE_INCOME")
|
||||||
|
private BigDecimal serviceIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商城重消
|
||||||
|
*/
|
||||||
|
@TableField("BACK_POINTS")
|
||||||
|
private BigDecimal backPoints;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台服务费
|
||||||
|
*/
|
||||||
|
@TableField("SERVICE_SPEND")
|
||||||
|
private BigDecimal serviceSpend;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首购实发小计
|
||||||
|
*/
|
||||||
|
@TableField("PUR_REAL_SUBTOTAL")
|
||||||
|
private BigDecimal purRealSubtotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购推荐收益 修改为互助收益 cu_member_bonus_push
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_PUSH_INCOME")
|
||||||
|
private BigDecimal repurPushIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购级差收益
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_RANGE_INCOME")
|
||||||
|
private BigDecimal repurRangeIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购拓展收益
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_EXPAND_INCOME")
|
||||||
|
private BigDecimal repurExpandIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购实发小计
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_REAL_SUBTOTAL")
|
||||||
|
private BigDecimal repurRealSubtotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 云代直推收益 修改为幸运收益 cu_member_bonus_coach
|
||||||
|
*/
|
||||||
|
@TableField("CLOUD_DIRECT_INCOME")
|
||||||
|
private BigDecimal cloudDirectIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 云代首购收益 修改为极差收益 cu_member_bonus_range
|
||||||
|
*/
|
||||||
|
@TableField("CLOUD_PUR_INCOME")
|
||||||
|
private BigDecimal cloudPurIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 云代复购收益 修改为平级收益 cu_member_bonus_range
|
||||||
|
*/
|
||||||
|
@TableField("CLOUD_REPUR_INCOME")
|
||||||
|
private BigDecimal cloudRepurIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 云代实发小计 修改为 极差小计
|
||||||
|
*/
|
||||||
|
@TableField("CLOUD_REAL_SUBTOTAL")
|
||||||
|
private BigDecimal cloudRealSubtotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购券
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_COUPON")
|
||||||
|
private BigDecimal repurCoupon;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购券均分收益
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_COUPON_SHARE")
|
||||||
|
private BigDecimal repurCouponShare;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购券小计
|
||||||
|
*/
|
||||||
|
@TableField("REPUR_COUPON_SUBTOTAL")
|
||||||
|
private BigDecimal repurCouponSubtotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复购见点收益-众康
|
* 复购见点收益-众康
|
||||||
|
@ -67,7 +181,95 @@ public class CuMemberBonus extends BaseEntity {
|
||||||
@TableField("GLOBAL_POINTS")
|
@TableField("GLOBAL_POINTS")
|
||||||
private BigDecimal globalPoints;
|
private BigDecimal globalPoints;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车奖积分
|
||||||
|
*/
|
||||||
|
@TableField("CAR_AWARD_POINTS")
|
||||||
|
private BigDecimal carAwardPoints;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 阶段收益-众康
|
||||||
|
*/
|
||||||
|
@TableField("STORE_INCOME")
|
||||||
|
private BigDecimal storeIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 嗨粉推荐收益
|
||||||
|
*/
|
||||||
|
@TableField("HI_FUN_INCOME")
|
||||||
|
private BigDecimal hiFunIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 海粉推荐收益
|
||||||
|
*/
|
||||||
|
@TableField("HAI_FUN_INCOME")
|
||||||
|
private BigDecimal haiFunIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创客空间直推收益
|
||||||
|
*/
|
||||||
|
@TableField("MAKER_DIRECT_INCOME")
|
||||||
|
private BigDecimal makerDirectIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创客共享收益
|
||||||
|
*/
|
||||||
|
@TableField("MAKER_SHARE_INCOME")
|
||||||
|
private BigDecimal makerShareIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创客空间收益小计
|
||||||
|
*/
|
||||||
|
@TableField("MAKER_REAL_SUBTOTAL")
|
||||||
|
private BigDecimal makerRealSubtotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售直推收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_RANGE_INCOME")
|
||||||
|
private BigDecimal retailRangeIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售平级收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_SAME_LEVEL_INCOME")
|
||||||
|
private BigDecimal retailSameLevelIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售区域分红
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_AREA_INCOME")
|
||||||
|
private BigDecimal retailAreaIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售福利级差收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_BENEFIT_RANGE_INCOME")
|
||||||
|
private BigDecimal retailBenefitRangeIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售复购级差收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_MONTH_REPURCHASE_INCOME")
|
||||||
|
private BigDecimal retailMonthRepurchaseIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 福利分红平均收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_BENEFIT_AVG_INCOME")
|
||||||
|
private BigDecimal retailBenefitAvgIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 福利分红加权收益
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_BENEFIT_INCOME")
|
||||||
|
private BigDecimal retailBenefitIncome;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售收益小计
|
||||||
|
*/
|
||||||
|
@TableField("RETAIL_REAL_SUBTOTAL")
|
||||||
|
private BigDecimal retailRealSubtotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实发收益总计
|
* 实发收益总计
|
||||||
|
|
Loading…
Reference in New Issue