## 0元会员不计算奖金;

This commit is contained in:
cabbage 2025-09-15 17:16:29 +08:00
parent 57b990c5f5
commit 4bccdec39f
5 changed files with 53 additions and 46 deletions

View File

@ -97,7 +97,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 死点 停算收益 顾客 没有奖金
if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
return null;
}
@ -349,7 +349,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -378,7 +378,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
if (targetMemberSettleExt == null
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -438,8 +438,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -604,7 +603,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
pkMember = targetMemberSettleExt.getPkParent();
if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员状态不正常 或者 停算收益 顾客等级 直接跳过
continue;
}
@ -812,7 +811,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| ERegistrationAuthority.SERVICE.getValue() != targetMemberSettleExt.getRegisterAuthority()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 非正常会员停算收益不是服务中心都不进行处理
return null;
}

View File

@ -121,7 +121,7 @@ public class BonusSettleNewExpandHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -151,7 +151,7 @@ public class BonusSettleNewExpandHandle extends BonusSettleHandle {
if (targetMemberSettleExt == null
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -189,8 +189,7 @@ public class BonusSettleNewExpandHandle extends BonusSettleHandle {
if (targetMemberSettleExt == null
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}

View File

@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.SysConstants;
import com.hzs.common.core.constant.msg.BonusMsgConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.ComputeUtil;
@ -59,7 +60,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
// 死点 停算 顾客 没有奖金
if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
pkParent = targetMemberSettleExt.getPkParent();
continue;
@ -159,31 +160,31 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
return cuMemberBonusExpandList;
}
/**
* 秒接复购量奖
*
* @return: List<CuMemberBonusExpand>
*/
protected List<CuMemberBonusExpand> calculateRepurchaseExpandSecondBonus(Map<Long, CuMemberRiskControl> riskControlMap, String settleTableName, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO,
Map<String, String> systemConfigMap, Integer period, Map<Long, CuMemberBonus> weekMemberBonusMap,
Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt,
List<CuMemberSettleExt> cuMemberSettleExtList, String settleDateStr, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) {
// 复购订单计算复购级差复购拓展
return calculateRepurchaseExpandBonusOne(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap,
saOrderExt, cuMemberSettleExtList, addTouch, expandRatio, expandNumber);
}
/**
* 秒接复购量奖
*
* @return: List<CuMemberBonusExpand>
*/
protected List<CuMemberBonusPush> calculateRepurchasePushSecondBonus(String settleTableName, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period,
Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt,
List<CuMemberSettleExt> cuMemberSettleExtList, String settleDateStr) {
// 根据订单获取轮次要回写
return calculateRepurchasePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, null, period, cuMemberBonusMap, saOrderExt);
}
// /**
// * 秒接复购量奖
// *
// * @return: List<CuMemberBonusExpand>
// */
// protected List<CuMemberBonusExpand> calculateRepurchaseExpandSecondBonus(Map<Long, CuMemberRiskControl> riskControlMap, String settleTableName, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO,
// Map<String, String> systemConfigMap, Integer period, Map<Long, CuMemberBonus> weekMemberBonusMap,
// Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt,
// List<CuMemberSettleExt> cuMemberSettleExtList, String settleDateStr, BigDecimal addTouch, BigDecimal expandRatio, Integer expandNumber) {
// // 复购订单计算复购级差复购拓展
// return calculateRepurchaseExpandBonusOne(riskControlMap, settleTableName, cuMemberSettleExtMap, bonusConfigDTO, systemConfigMap, period, weekMemberBonusMap, cuMemberBonusMap,
// saOrderExt, cuMemberSettleExtList, addTouch, expandRatio, expandNumber);
// }
//
// /**
// * 秒接复购量奖
// *
// * @return: List<CuMemberBonusExpand>
// */
// protected List<CuMemberBonusPush> calculateRepurchasePushSecondBonus(String settleTableName, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period,
// Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt,
// List<CuMemberSettleExt> cuMemberSettleExtList, String settleDateStr) {
// // 根据订单获取轮次要回写
// return calculateRepurchasePushBonusOne(cuMemberSettleExtMap, bonusConfigDTO, null, period, cuMemberBonusMap, saOrderExt);
// }
/**
* 计算复购量奖拓展收益
@ -234,7 +235,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -264,7 +265,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -300,8 +301,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}
@ -928,7 +928,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
BigDecimal beforeBonusCal) {
if (ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 死点 停算 顾客 没有奖金跳过
return null;
} else {

View File

@ -22,6 +22,7 @@ import com.hzs.bonus.swing.service.ICuMemberSwingNetLogService;
import com.hzs.common.core.config.BdConfig;
import com.hzs.common.core.constant.BonusFieldConstants;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.SysConstants;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.ComputeUtil;
@ -205,8 +206,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算条件跳过
continue;
}
@ -315,8 +315,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
if (null == targetMemberSettleExt
|| ECategory.NORMAL.getValue() != targetMemberSettleExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == targetMemberSettleExt.getAccountStatus()
|| EGrade.START_UP.getValue() == targetMemberSettleExt.getGradeValue()
|| EGrade.HAI_FAN.getValue() == targetMemberSettleExt.getGradeValue()) {
|| !SysConstants.NOT_BONUS_GRADE.contains(targetMemberSettleExt.getGradeValue())) {
// 会员不满足计算奖金条件跳过
continue;
}

View File

@ -1,5 +1,10 @@
package com.hzs.common.core.constant;
import com.hzs.common.core.enums.EGrade;
import java.util.Arrays;
import java.util.List;
/**
* 系统使用常量
*/
@ -34,4 +39,9 @@ public class SysConstants {
*/
public static final Long PK_VERTEX_1440_TEST = 347L;
/**
* 不拿奖金的等级
*/
public static final List<Integer> NOT_BONUS_GRADE = Arrays.asList(EGrade.START_UP.getValue(), EGrade.HAI_FAN.getValue());
}