From c906010ebf6899aec13bf9698a30c887b36c6320 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 23 Apr 2025 09:56:50 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=BB=B6=E7=BC=93=E6=94=B6=E7=9B=8A?= =?UTF-8?q?=E5=8F=91=E6=94=BE=E6=B7=BB=E5=8A=A0=E4=BC=9A=E5=91=98=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BonusSettleFirstPurchaseHandle.java | 69 ++++++------------- .../bonus/service/impl/BonusSettleHandle.java | 41 +++++++++++ .../common/core/enums/EBonusIncomeStatus.java | 6 +- .../hzs/common/core/enums/EExpireStatus.java | 4 -- .../hzs/common/core/enums/EIncomeStatus.java | 8 +-- .../hzs/common/core/enums/EProfitState.java | 7 +- 6 files changed, 65 insertions(+), 70 deletions(-) diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java index a7e9bf89..1406de39 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleFirstPurchaseHandle.java @@ -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); // 处理实发小计、实发收益总计 diff --git a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java index 6371fca0..9a2b768c 100644 --- a/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java +++ b/hzs-business/hzs-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleHandle.java @@ -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; } diff --git a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java index 6c9a6d83..2e9606fd 100644 --- a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java +++ b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EBonusIncomeStatus.java @@ -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 diff --git a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EExpireStatus.java b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EExpireStatus.java index ebd8a681..ce218404 100644 --- a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EExpireStatus.java +++ b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EExpireStatus.java @@ -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 diff --git a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java index 48140810..1b3248c6 100644 --- a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java +++ b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EIncomeStatus.java @@ -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"), diff --git a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EProfitState.java b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EProfitState.java index 407b7c0b..c61316d5 100644 --- a/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EProfitState.java +++ b/hzs-common/hzs-common-core/src/main/java/com/hzs/common/core/enums/EProfitState.java @@ -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"), - ; /**