## 延缓收益发放添加会员收益状态判断;

This commit is contained in:
cabbage 2025-04-23 09:56:50 +08:00
parent 68dd3cca99
commit c906010ebf
6 changed files with 65 additions and 70 deletions

View File

@ -1372,31 +1372,19 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 获取拓展收益奖项
Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, cuMemberBonusDelayAddDetail.getPkCountry(), EBonusItems.EXPANSION_INCOME.getValue());
BdGrade bdGrade = gradeMap.get(cuMemberSettleExt.getPkGrade());
// 创建一条拓展收益明细
CuMemberBonusExpand cuMemberBonusExpand = CuMemberBonusExpand.builder()
.pkBonus(pkMember)
.pkBonusItems(pkBonusItems)
.incomeStatus(EBonusIncomeStatus.NORMAL.getValue())
.pkOrder(0L)
.calType(null != cuMemberBonusDelayAddDetail.getFirCalType() ? cuMemberBonusDelayAddDetail.getFirCalType() : cuMemberBonusDelayAddDetail.getRepCalType())
.calValue(null != cuMemberBonusDelayAddDetail.getFirCalValue() ? cuMemberBonusDelayAddDetail.getFirCalValue() : cuMemberBonusDelayAddDetail.getRepCalValue())
.calAchieve(BigDecimal.ZERO)
.pretaxIncome(pretaxIncome)
.expandNoCapping(pretaxIncome)
.expandCapping(cuMemberBonusDelayAddDetail.getExpandCapping())
.expandNormalHalf(ComputeUtil.computeMultiplyHalf(cuMemberBonusDelayAddDetail.getExpandCapping()))
.expandNormalReal(ComputeUtil.computeMultiplyHalf(pretaxIncome))
.remark(String.format(BonusMsgConstants.BONUS_EXPAND_DELAY, cuMemberSettleExt.getMemberCode() + cuMemberSettleExt.getMemberName()))
.currentTouch(0)
.expandTouch(0)
.addTouch(BigDecimal.ZERO)
.incomeRatio(BigDecimal.ZERO)
.incomeDialRatio(BigDecimal.ZERO)
.orderDialRatio(BigDecimal.ZERO)
.build();
cuMemberBonusExpand.setPkCreator(cuMemberBonusDelayAddDetail.getPkCreator());
cuMemberBonusExpand.setPkCountry(cuMemberBonusDelayAddDetail.getPkCountry());
cuMemberBonusExpand.setPkModified(pkMember);
CuMemberBonusExpand cuMemberBonusExpand = this.getCuMemberBonusExpandDelay(cuMemberSettleExt, cuMemberBonus, bdGrade.getExpandRatio(),
pkBonusItems, bdGrade);
cuMemberBonusExpand.setCalType(null != cuMemberBonusDelayAddDetail.getFirCalType() ? cuMemberBonusDelayAddDetail.getFirCalType() : cuMemberBonusDelayAddDetail.getRepCalType());
cuMemberBonusExpand.setCalValue(null != cuMemberBonusDelayAddDetail.getFirCalValue() ? cuMemberBonusDelayAddDetail.getFirCalValue() : cuMemberBonusDelayAddDetail.getRepCalValue());
cuMemberBonusExpand.setPretaxIncome(pretaxIncome);
cuMemberBonusExpand.setExpandNoCapping(pretaxIncome);
cuMemberBonusExpand.setExpandCapping(cuMemberBonusDelayAddDetail.getExpandCapping());
cuMemberBonusExpand.setExpandNormalHalf(ComputeUtil.computeMultiplyHalf(cuMemberBonusDelayAddDetail.getExpandCapping()));
cuMemberBonusExpand.setExpandNormalReal(ComputeUtil.computeMultiplyHalf(pretaxIncome));
cuMemberBonusExpand.setRemark(String.format(BonusMsgConstants.BONUS_EXPAND_DELAY, cuMemberSettleExt.getMemberCode() + cuMemberSettleExt.getMemberName()));
// 处理扣项计算最终收益
BdBonusDeduct bdBonusDeduct = setDeplyBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand);
// 处理实发小计实发收益总计
@ -1509,7 +1497,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 结算会员信息
getMemberSettle(cuMemberSettleExtMap, cuMemberSettleExt);
// TODO new 生成一条拓展收益明细并且添加收益奖金
// 追加会员奖金收益
CuMemberBonus cuMemberBonus = this.getCuMemberBonus(period, cuMemberBonusMap, pkMember,
cuMemberSettleExt.getIncomeStatus(), cuMemberSettleExt.getPkSettleCountry(), cuMemberSettleExt.getPkRate());
@ -1520,30 +1507,14 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 获取拓展收益奖项
Integer pkBonusItems = getPkBonusItems(bonusConfigDTO, cuMemberSettleExt.getPkSettleCountry(), EBonusItems.EXPANSION_INCOME.getValue());
// 创建一条拓展收益明细
CuMemberBonusExpand cuMemberBonusExpand = CuMemberBonusExpand.builder()
.pkBonus(pkMember)
.pkBonusItems(pkBonusItems)
.incomeStatus(EBonusIncomeStatus.NORMAL.getValue())
.pkOrder(0L)
.calType(ECalType.RATIO.getValue())
.calValue(bdGrade.getExpandRatio())
.calAchieve(BigDecimal.ZERO)
.pretaxIncome(pretaxIncome)
.expandNoCapping(pretaxIncome)
.expandCapping(expandCapping)
.expandNormalHalf(ComputeUtil.computeMultiplyHalf(expandCapping))
.expandNormalReal(ComputeUtil.computeMultiplyHalf(pretaxIncome))
.remark(String.format(BonusMsgConstants.BONUS_EXPAND_DELAY, cuMemberSettleExt.getMemberCode() + cuMemberSettleExt.getMemberName()))
.currentTouch(0)
.expandTouch(0)
.addTouch(BigDecimal.ZERO)
.incomeRatio(BigDecimal.ZERO)
.incomeDialRatio(BigDecimal.ZERO)
.orderDialRatio(BigDecimal.ZERO)
.build();
cuMemberBonusExpand.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonusExpand.setPkCountry(cuMemberSettleExt.getPkCountry());
cuMemberBonusExpand.setPkModified(pkMember);
CuMemberBonusExpand cuMemberBonusExpand = this.getCuMemberBonusExpandDelay(cuMemberSettleExt, cuMemberBonus, bdGrade.getExpandRatio(),
pkBonusItems, bdGrade);
cuMemberBonusExpand.setPretaxIncome(pretaxIncome);
cuMemberBonusExpand.setExpandNoCapping(pretaxIncome);
cuMemberBonusExpand.setExpandCapping(expandCapping);
cuMemberBonusExpand.setExpandNormalHalf(ComputeUtil.computeMultiplyHalf(expandCapping));
cuMemberBonusExpand.setExpandNormalReal(ComputeUtil.computeMultiplyHalf(pretaxIncome));
cuMemberBonusExpand.setRemark(String.format(BonusMsgConstants.BONUS_EXPAND_DELAY, cuMemberSettleExt.getMemberCode() + cuMemberSettleExt.getMemberName()));
// 处理扣项计算最终收益
BdBonusDeduct bdBonusDeduct = setDeplyBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand);
// 处理实发小计实发收益总计

View File

@ -840,6 +840,9 @@ public abstract class BonusSettleHandle {
}
}
/**
* 获取会员拓展收益明细
*/
protected CuMemberBonusExpand getCuMemberBonusExpand(SaOrderExt saOrderExt, int touchNum, int i, CuMemberSettleExt targetMemberSettleExt, BigDecimal countryExpandRatio,
CuMemberBonus cuMemberBonus, BigDecimal calAchieve, Integer pkBonusItems, BigDecimal addTouch, BdGrade bdGrade) {
CuMemberBonusExpand cuMemberBonusExpand = CuMemberBonusExpand.builder()
@ -865,6 +868,7 @@ public abstract class BonusSettleHandle {
.build();
cuMemberBonusExpand.setPkCountry(targetMemberSettleExt.getPkSettleCountry());
cuMemberBonusExpand.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonusExpand.setPkModified(targetMemberSettleExt.getPkMember());
if (EAccountStatus.STOP_PROFIT.getValue() == targetMemberSettleExt.getAccountStatus()) {
cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.STOP_INCOME.getValue());
}
@ -878,7 +882,44 @@ public abstract class BonusSettleHandle {
cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.DELAY_GRANT.getValue());
}
}
return cuMemberBonusExpand;
}
/**
* 获取会员拓展收益延缓明细
*/
protected CuMemberBonusExpand getCuMemberBonusExpandDelay(CuMemberSettleExt targetMemberSettleExt, CuMemberBonus cuMemberBonus,
BigDecimal expandRatio, Integer pkBonusItems, BdGrade bdGrade) {
CuMemberBonusExpand cuMemberBonusExpand = CuMemberBonusExpand.builder()
.pkBonus(cuMemberBonus.getPkId())
.pkBonusItems(pkBonusItems)
.incomeStatus(targetMemberSettleExt.getIncomeStatus())
.pkOrder(0L)
.calType(ECalType.RATIO.getValue())
.calValue(expandRatio)
.calAchieve(BigDecimal.ZERO)
.currentTouch(0)
.expandTouch(0)
.addTouch(BigDecimal.ZERO)
.pretaxIncome(BigDecimal.ZERO)
.incomeRatio(BigDecimal.ZERO)
.incomeDialRatio(BigDecimal.ZERO)
.orderDialRatio(BigDecimal.ZERO)
.incomeTax(BigDecimal.ZERO)
.realIncome(BigDecimal.ZERO)
.pkMember(targetMemberSettleExt.getPkMember())
.delayExpandCapping(bdGrade.getExpandCapping())
.unGrantIncome(null != targetMemberSettleExt.getUnGrantIncome() ? targetMemberSettleExt.getUnGrantIncome() : BigDecimal.ZERO)
.build();
cuMemberBonusExpand.setPkCountry(targetMemberSettleExt.getPkSettleCountry());
cuMemberBonusExpand.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuMemberBonusExpand.setPkModified(targetMemberSettleExt.getPkMember());
if (EAccountStatus.STOP_PROFIT.getValue() == targetMemberSettleExt.getAccountStatus()) {
cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.STOP_INCOME.getValue());
}
if (EExpireStatus.TERMINATED.getValue() == targetMemberSettleExt.getExpireStatus()) {
cuMemberBonusExpand.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue());
}
return cuMemberBonusExpand;
}

View File

@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Description: 奖金收益状态 奖金明细表
* @Author: sui q
* @Time: 2022/11/10 16:03
* @Classname: EBonusIncomeStatus
* @PackageName: com.hzs.common.core.enums
* @Description: 奖金收益状态 奖金明细表cu_member_bonus_XX
*/
@AllArgsConstructor
@Getter

View File

@ -5,10 +5,6 @@ import lombok.Getter;
/**
* @Description: 会员有效状态
* @Author: jiang chao
* @Time: 2024/6/4 11:07
* @Classname: EExpireStatus
* @PackageName: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter

View File

@ -5,17 +5,13 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Description: 会员收益状态 会员表会员网体表奖金汇总表
* @Author: sui q
* @Time: 2022/11/4 11:03
* @Classname: EIncomeStatus
* @PackageName: com.hzs.common.core.enums
* @Description: 会员收益状态 会员表cu_member会员网体表cu_member_tree奖金汇总表cu_member_bonus
*/
@AllArgsConstructor
@Getter
public enum EIncomeStatus {
/**
*正常
* 正常
*/
NORMAL(0, "正常", 0, EnumsPrefixConstants.INCOME_STATUS + "0"),

View File

@ -5,11 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* Description: 修改收益状态枚举
* Author: zhangjing
* Time: 2022/9/1 9:06
* Classname: EProfitState
* PackageName: com.hzs.common.core.enums
* Description: 修改收益状态枚举 -- 办理业务使用
*/
@AllArgsConstructor
@Getter
@ -25,7 +21,6 @@ public enum EProfitState {
PROHIBIT(1, "禁止收益", 0, EnumsPrefixConstants.EPROFIT_STATE + "1"),
;
/**