## 月度分红处理;

This commit is contained in:
cabbage 2025-06-23 16:43:49 +08:00
parent 5e0d9f2ff4
commit 967e0e851d
14 changed files with 177 additions and 156 deletions

View File

@ -905,7 +905,6 @@ public abstract class BonusSettleHandle {
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
cuMemberBonus.setRepurCouponSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRepurCouponSubtotal(), realIncome));
// cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
}
/**

View File

@ -1823,7 +1823,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 月订单列表
List<SaOrder> totalMonthOrderList = new ArrayList<>();
// 级差收益
// 级差收益月度级差复购级差
List<CuMemberBonusRange> memberBonusRangeList = new ArrayList<>();
// 分红收益
List<CuMemberBonusDetail> memberBonusDetailList = new ArrayList<>();
@ -2005,101 +2005,125 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
// // CAR_AWARD_POINTS 福利平均收益 SHARE_INCOME 福利收益
// // 查询v5 等级 且奖衔>=S4的
// List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName);
// if (memberRetailRangeExtList.size() > 0) {
// List<CuMemberRetailRangeExt> retailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
// Map<Long, List<CuMemberRetailRangeExt>> parentMemberRangeExtMap = new HashMap<>();
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeExtList) {
// if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkParent())) {
// parentMemberRangeExtMap.get(cuMemberRetailRangeExt.getPkParent()).add(cuMemberRetailRangeExt);
// } else {
// List<CuMemberRetailRangeExt> cuMemberRangeExtList = new ArrayList<>();
// cuMemberRangeExtList.add(cuMemberRetailRangeExt);
// parentMemberRangeExtMap.put(cuMemberRetailRangeExt.getPkParent(), cuMemberRangeExtList);
// }
// }
// // 分类分为4 5 6 7 8 9
// List<CuMemberRetailRangeExt> firstAwardsRetailRangeList = new ArrayList<>();
// BigDecimal benefitAvgRatio = BigDecimal.ZERO;
// BigDecimal benefitShareRatio = BigDecimal.ZERO;
// BigDecimal firstConsumePv = BigDecimal.ZERO;
// BigDecimal secondBenefitAvgRatio = BigDecimal.ZERO;
// BigDecimal secondBenefitShareRatio = BigDecimal.ZERO;
// BigDecimal secondConsumePv = BigDecimal.ZERO;
// List<CuMemberRetailRangeExt> secondAwardsRetailRangeList = new ArrayList<>();
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
// if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
// List<CuMemberRetailRangeExt> rangeExtList = parentMemberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
// // 计算小区
// BigDecimal bigConsumePv = BigDecimal.ZERO;
// for (CuMemberRetailRangeExt memberRetailRangeExt : rangeExtList) {
// BigDecimal monthConsumePv = ComputeUtil.computeAdd(memberRetailRangeExt.getMonthConsumePv(), memberRetailRangeExt.getTeamMonthPv());
// if (ComputeUtil.compareGreaterThan(monthConsumePv, bigConsumePv)) {
// bigConsumePv = monthConsumePv;
// }
// }
// cuMemberRetailRangeExt.setSmallAreaConsumePv(ComputeUtil.computeSubtract(cuMemberRetailRangeExt.getTeamMonthPv(), bigConsumePv));
// } else {
// cuMemberRetailRangeExt.setSmallAreaConsumePv(BigDecimal.ZERO);
// }
// if (cuMemberRetailRangeExt.getShareAwardsValue() >= EAwards.SENIOR_MANAGER.getValue() &&
// cuMemberRetailRangeExt.getShareAwardsValue() <= EAwards.HIGH_CHIEF.getValue()) {
// firstAwardsRetailRangeList.add(cuMemberRetailRangeExt);
// benefitAvgRatio = cuMemberRetailRangeExt.getBenefitAvgRatio();
// benefitShareRatio = cuMemberRetailRangeExt.getBenefitShareRatio();
// firstConsumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getSmallAreaConsumePv(), firstConsumePv);
// } else {
// secondAwardsRetailRangeList.add(cuMemberRetailRangeExt);
// secondBenefitAvgRatio = cuMemberRetailRangeExt.getBenefitAvgRatio();
// secondBenefitShareRatio = cuMemberRetailRangeExt.getBenefitShareRatio();
// secondConsumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getSmallAreaConsumePv(), secondConsumePv);
// }
// }
// if (firstAwardsRetailRangeList.size() > 0) {
// BigDecimal benefitAvgIncome = ComputeUtil.computeDivide(ComputeUtil.computeBonusMultiply(totalMonthConsumePv, benefitAvgRatio), BigDecimal.valueOf(firstAwardsRetailRangeList.size()));
// BigDecimal benefitShareIncome = ComputeUtil.computeBonusMultiply(totalMonthConsumePv, benefitShareRatio);
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : firstAwardsRetailRangeList) {
// if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory() ||
// EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus() ||
// EIncomeStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getIncomeStatus()) {
// continue;
// }
// // 验证是否有奖金
// if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue())) {
// continue;
// }
// memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, benefitAvgRatio,
// benefitAvgIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_AVG_INCOME));
// BigDecimal bonusIncome = ComputeUtil.computeDivide(ComputeUtil.computeMultiply(benefitShareIncome, cuMemberRetailRangeExt.getSmallAreaConsumePv()), firstConsumePv);
// CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, benefitShareRatio,
// bonusIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_INCOME);
// memberBonusDetailList.add(cuMemberBonusDetail);
// }
// }
// if (secondAwardsRetailRangeList.size() > 0) {
// BigDecimal benefitAvgIncome = ComputeUtil.computeDivide(ComputeUtil.computeBonusMultiply(totalMonthConsumePv, secondBenefitAvgRatio), BigDecimal.valueOf(secondAwardsRetailRangeList.size()));
// BigDecimal benefitShareIncome = ComputeUtil.computeBonusMultiply(totalMonthConsumePv, secondBenefitShareRatio);
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : secondAwardsRetailRangeList) {
// if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory() ||
// EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus() ||
// EIncomeStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getIncomeStatus()) {
// continue;
// }
// // 验证是否有奖金
// if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue())) {
// continue;
// }
// memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, secondBenefitAvgRatio,
// benefitAvgIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_AVG_INCOME));
// BigDecimal bonusIncome = ComputeUtil.computeDivide(ComputeUtil.computeMultiply(benefitShareIncome, cuMemberRetailRangeExt.getSmallAreaConsumePv()), secondConsumePv);
// CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, secondBenefitShareRatio,
// bonusIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_INCOME);
// memberBonusDetailList.add(cuMemberBonusDetail);
// }
// }
// }
// 查询 v5 等级 分红奖衔 >=S4
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByAwards(rangeTableName);
if (memberRetailRangeExtList.size() > 0) {
// 查询月度分红会员的直推
List<CuMemberRetailRangeExt> retailRangeExtList = iCuMemberRetailRangeService.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
// 推荐会员列表key推荐人value推荐会员列表
Map<Long, List<CuMemberRetailRangeExt>> parentMemberRangeExtMap = new HashMap<>();
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeExtList) {
if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkParent())) {
parentMemberRangeExtMap.get(cuMemberRetailRangeExt.getPkParent()).add(cuMemberRetailRangeExt);
} else {
List<CuMemberRetailRangeExt> cuMemberRangeExtList = new ArrayList<>();
cuMemberRangeExtList.add(cuMemberRetailRangeExt);
parentMemberRangeExtMap.put(cuMemberRetailRangeExt.getPkParent(), cuMemberRangeExtList);
}
}
// 奖衔分红分类
// 4 5 6 级奖衔会员
List<CuMemberRetailRangeExt> firstAwardsRetailRangeList = new ArrayList<>();
// 4 5 6 级奖衔累计业绩
BigDecimal firstConsumePv = BigDecimal.ZERO;
// 4 5 6 月度分红平均 比例
BigDecimal benefitAvgRatio = BigDecimal.ZERO;
// 4 5 6 月度分红加权 比例
BigDecimal benefitShareRatio = BigDecimal.ZERO;
// 7 8 9 级奖衔会员
List<CuMemberRetailRangeExt> secondAwardsRetailRangeList = new ArrayList<>();
// 7 8 9 级奖衔累计业绩
BigDecimal secondConsumePv = BigDecimal.ZERO;
// 7 8 9 月度分红平均 比例
BigDecimal secondBenefitAvgRatio = BigDecimal.ZERO;
// 7 8 9 月度分红加权 比例
BigDecimal secondBenefitShareRatio = BigDecimal.ZERO;
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
if (parentMemberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
// 获取会员的推荐数据
List<CuMemberRetailRangeExt> rangeExtList = parentMemberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
// 计算小区本人月消费默认为大区
BigDecimal bigConsumePv = cuMemberRetailRangeExt.getMonthConsumePv();
for (CuMemberRetailRangeExt memberRetailRangeExt : rangeExtList) {
// 本人消费 + 团队消费
BigDecimal monthConsumePv = ComputeUtil.computeAdd(memberRetailRangeExt.getMonthConsumePv(), memberRetailRangeExt.getTeamMonthPv());
if (ComputeUtil.compareGreaterThan(monthConsumePv, bigConsumePv)) {
bigConsumePv = monthConsumePv;
}
}
// 小区业绩 = 本人月团队 + 本人月消费 - 大区业绩
cuMemberRetailRangeExt.setSmallAreaConsumePv(ComputeUtil.computeSubtract(cuMemberRetailRangeExt.getTeamMonthPv().add(cuMemberRetailRangeExt.getMonthConsumePv()), bigConsumePv));
} else {
cuMemberRetailRangeExt.setSmallAreaConsumePv(BigDecimal.ZERO);
}
if (cuMemberRetailRangeExt.getShareAwardsValue() >= EAwards.SENIOR_MANAGER.getValue()
&& cuMemberRetailRangeExt.getShareAwardsValue() <= EAwards.HIGH_CHIEF.getValue()) {
// 奖衔 4 5 6 级数据处理
firstAwardsRetailRangeList.add(cuMemberRetailRangeExt);
benefitAvgRatio = cuMemberRetailRangeExt.getBenefitAvgRatio();
benefitShareRatio = cuMemberRetailRangeExt.getBenefitShareRatio();
firstConsumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getSmallAreaConsumePv(), firstConsumePv);
} else {
// 奖衔 7 8 9 级数据处理
secondAwardsRetailRangeList.add(cuMemberRetailRangeExt);
secondBenefitAvgRatio = cuMemberRetailRangeExt.getBenefitAvgRatio();
secondBenefitShareRatio = cuMemberRetailRangeExt.getBenefitShareRatio();
secondConsumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getSmallAreaConsumePv(), secondConsumePv);
}
}
if (firstAwardsRetailRangeList.size() > 0) {
// 月度分红平均收益 = 订单总业绩 分红平均比例 奖衔人数
BigDecimal benefitAvgIncome = ComputeUtil.computeDivide(ComputeUtil.computeBonusMultiply(totalMonthConsumePv, benefitAvgRatio), BigDecimal.valueOf(firstAwardsRetailRangeList.size()));
// 月度分红加权总收益 = 订单总业绩 分红加权比例
BigDecimal benefitShareIncome = ComputeUtil.computeBonusMultiply(totalMonthConsumePv, benefitShareRatio);
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : firstAwardsRetailRangeList) {
if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus()
|| EIncomeStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getIncomeStatus()) {
// 非正常状态停算状态停止收益直接跳过
continue;
}
// 验证是否有奖金
if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue())) {
continue;
}
// 月度分红 - 平均收益
memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, benefitAvgRatio,
benefitAvgIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_AVG_INCOME));
// 月度分红加权收益 = 月度分红加权总收益 小市场业绩 总小市场业绩
BigDecimal bonusIncome = ComputeUtil.computeDivide(ComputeUtil.computeMultiply(benefitShareIncome, cuMemberRetailRangeExt.getSmallAreaConsumePv()), firstConsumePv);
// 月度分红 - 加权收益
memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, benefitShareRatio,
bonusIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_INCOME));
}
}
if (secondAwardsRetailRangeList.size() > 0) {
BigDecimal benefitAvgIncome = ComputeUtil.computeDivide(ComputeUtil.computeBonusMultiply(totalMonthConsumePv, secondBenefitAvgRatio), BigDecimal.valueOf(secondAwardsRetailRangeList.size()));
BigDecimal benefitShareIncome = ComputeUtil.computeBonusMultiply(totalMonthConsumePv, secondBenefitShareRatio);
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : secondAwardsRetailRangeList) {
if (ECategory.NORMAL.getValue() != cuMemberRetailRangeExt.getCategory()
|| EAccountStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getAccountStatus()
|| EIncomeStatus.STOP_INCOME.getValue() == cuMemberRetailRangeExt.getIncomeStatus()) {
// 非正常状态停算状态停止收益直接跳过
continue;
}
// 验证是否有奖金
if (validatePkBonusItems(bonusConfigDTO, cuMemberRetailRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue())) {
continue;
}
// 月度分红 - 平均收益
memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, secondBenefitAvgRatio,
benefitAvgIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_AVG_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_AVG_INCOME));
// 月度分红加权收益 = 月度分红加权总收益 小市场业绩 总小市场业绩
BigDecimal bonusIncome = ComputeUtil.computeDivide(ComputeUtil.computeMultiply(benefitShareIncome, cuMemberRetailRangeExt.getSmallAreaConsumePv()), secondConsumePv);
// 月度分红 - 加权收益
memberBonusDetailList.add(packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, month, secondBenefitShareRatio,
bonusIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_BENEFIT_INCOME.getValue(), BonusMsgConstants.RETAIL_BENEFIT_INCOME));
}
}
}
}
}
if (memberBonusDetailList.size() > 0) {
@ -2120,10 +2144,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
private CuMemberBonusDetail packageBenefitIncome(BonusConfigDTO bonusConfigDTO, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, String month,
BigDecimal benefitAvgRatio, BigDecimal benefitAvgIncome, CuMemberRetailRangeExt cuMemberRetailRangeExt, Integer bonusItemsValue, String msg) {
// 获取会员奖金数据
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, cuMemberRetailRangeExt.getPkMember(),
cuMemberRetailRangeExt.getIncomeStatus(), cuMemberRetailRangeExt.getPkSettleCountry(), cuMemberRetailRangeExt.getPkRate());
SaOrder saOrderExt = SaOrder.builder().pkId(0L).orderAchieve(BigDecimal.ZERO).build();
CuMemberBonusDetail cuMemberBonusDetail = getCuMemberBonusDetail(saOrderExt, cuMemberRetailRangeExt.getIncomeStatus(), cuMemberRetailRangeExt.getPkSettleCountry(), cuMemberBonus);
// 计算比例
cuMemberBonusDetail.setCalValue(benefitAvgRatio);
cuMemberBonusDetail.setPretaxIncome(benefitAvgIncome);
@ -2134,6 +2161,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
String remark = String.format(msg, cuMemberBonusDetail.getPretaxIncome(), month);
cuMemberBonusDetail.setRemark(remark);
}
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) {
if (bonusItemsValue == EBonusItems.RETAIL_AREA_INCOME.getValue()) {
cuMemberBonus.setRetailAreaIncome(ComputeUtil.computeAdd(cuMemberBonus.getRetailAreaIncome(), cuMemberBonusDetail.getPretaxIncome()));

View File

@ -188,7 +188,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
// 保存当日计算的奖金
insertCuMemberBonus(settleDate, period, cuMemberBonusMap, recordDetailVO);
} catch (Exception e) {
e.printStackTrace();
log.error("奖金结算异常", e);
throw new RuntimeException(e);
}
}

View File

@ -144,11 +144,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
}
/**
* @description: 定时处理会员收益区域处理前三天
* @author: zhang jing
* @date: 2025/3/7 9:56
* @param: [startDate]
* @return: void
* 定时处理会员收益区域处理前三天
**/
@Override
public void validateHandAreaAssess(Date startDate, Date endDate) {

View File

@ -494,18 +494,23 @@
</select>
<select id="batchQueryMemberRetailRangeByParent" resultMap="CuMemberRetailRangeExt">
select pk_member,pk_parent,member_code,member_name,a.pk_awards,a.pk_grade,a.pk_rate,
a.income_status,a.pk_country,a.pk_settle_country,a.account_status,a.category,
bg.grade_value,bg.grade_name,bw.awards_value,bw.awards_name,a.month_consume_pv,
a.team_month_pv,
bw.range_ratio, bw.month_repurchase_ratio, bw.benefit_avg_ratio,bw.benefit_share_ratio
select pk_member, pk_parent, member_code, member_name,
a.pk_awards, a.pk_grade, a.pk_rate,
a.income_status, a.pk_country, a.pk_settle_country,
a.account_status, a.category,
bg.grade_value, bg.grade_name,
bw.awards_value, bw.awards_name,
a.month_consume_pv, a.team_month_pv,
bw.range_ratio, bw.month_repurchase_ratio,
bw.benefit_avg_ratio, bw.benefit_share_ratio
from ${rangeTableName} a
inner join bd_awards bw
on bw.pk_id = a.pk_awards
and bw.del_flag = 0
inner join bd_grade bg
on bg.pk_id = a.pk_grade
where bw.del_flag=0 and bg.del_flag=0
and a.pk_parent in
and bg.del_flag = 0
where a.pk_parent in
<foreach collection="memberRetailRangeExtList" item="item" open="(" close=")" separator=",">
#{item.pkMember}
</foreach>

View File

@ -61,6 +61,7 @@ public class RetailMemberController extends BaseController {
@DubboReference
IAreaServiceApi iAreaServiceApi;
/**
* 获取登录会员信息
*

View File

@ -131,14 +131,15 @@ public class CommonServiceProvider implements ICommonServiceApi {
memberDataDTO.setGradeVal(bdGrade.getGradeName());
}
}
BdAwards monthAwards = null;
// 当月奖衔
if (null != memberDataDTO.getPkAwards()) {
BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards());
if (null != bdAwards) {
memberDataDTO.setAwardsVal(bdAwards.getAwardsName());
if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) {
monthAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkAwards());
if (null != monthAwards) {
memberDataDTO.setAwardsVal(monthAwards.getAwardsName());
if (EAwards.MEMBER.getValue() != monthAwards.getAwardsValue()) {
// 奖衔如果是会员级别不返回图标
memberDataDTO.setAwardsIcon(bdAwards.getImage());
memberDataDTO.setAwardsIcon(monthAwards.getImage());
}
}
}
@ -146,7 +147,8 @@ public class CommonServiceProvider implements ICommonServiceApi {
if (null != memberDataDTO.getPkMaxAwards()) {
BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards());
if (null != bdAwards) {
if (EAwards.MEMBER.getValue() == bdAwards.getAwardsValue()) {
if (null != monthAwards && monthAwards.getAwardsValue() > bdAwards.getAwardsValue()) {
// 月奖衔 大于 荣誉奖衔显示月奖衔
memberDataDTO.setMaxAwardsVal(memberDataDTO.getAwardsVal());
memberDataDTO.setMaxAwardsIcon(memberDataDTO.getAwardsIcon());
} else {

View File

@ -8,7 +8,6 @@ public class BonusMsgConstants {
/**
* 直推收益备注 -- 当前是第%d轮,%d次,订单编号%s,%s为%s贡献了推荐收益,计算业绩%f,直推比例%f
*/
// public static String RECOMMEND = "MSG_BONUS_001";
public static String RECOMMEND = "当前是第%d轮,第%d次,订单编号%s,%s为%s贡献了推荐收益,计算业绩%f,直推比例%f。";
public static String RANGE_RECOMMEND = "当前是第%d代,第%d次,订单编号%s,%s为%s贡献了推互助收益,计算业绩%f。";
@ -16,31 +15,26 @@ public class BonusMsgConstants {
/**
* 直推收益备注 -- 订单编号%s,%s为%s贡献了推荐收益,推荐收益为%f
*/
// public static String RECOMMEND_DIRECT = "MSG_BONUS_002";
public static String RECOMMEND_DIRECT = "订单编号%s,%s为%s贡献了推荐收益,推荐收益为%f。";
public static String RECOMMEND_SPECIAL_DIRECT = "订单编号%s,%s为%s贡献了乐学易考推荐极差收益,推荐极差收益为%f。";
/**
* 拓展收益备注 -- 当前是第%d碰,%d碰,订单编号%s,%s为%s贡献了拓展收益,计算业绩%f,拓展比例%f
*/
// public static String EXPAND = "MSG_BONUS_003";
public static String EXPAND = "当前是第%d碰,共%d碰,订单编号%s,%s为%s贡献了拓展收益,计算业绩%f,拓展比例%f。";
/**
* 辅导收益备注 -- 当前是第%d代,#,订单编号%s,%s为%s贡献了辅导收益,计算业绩%f,辅导比例%f
*/
// public static String COACH = "MSG_BONUS_004";
public static String COACH = "当前是第%d代,共#代,订单编号%s,%s为%s贡献了辅导收益,计算业绩%f,辅导比例%f。";
/**
* 辅导收益备注 -- 当前是第%d代,#,订单编号%s,%s为%s贡献了辅导收益,计算业绩%f,辅导比例%f
*/
// public static String COACH = "MSG_BONUS_004";
public static String RANGE_COACH = "当前是第%d代,共%d代,订单编号%s,%s为%s贡献了幸运收益,计算业绩%f,计算比例%f。";
/**
* 报单服务费收益备注 -- 订单编号%s,%s为%s贡献了报单服务费收益,计算业绩%f,报单服务费比例%f
*/
// public static String SERVICE = "MSG_BONUS_005";
public static String SERVICE = "订单编号%s,%s为%s贡献了报单服务费收益,计算业绩%f,报单服务费比例%f。";
/**
@ -50,55 +44,55 @@ public class BonusMsgConstants {
public static String MONTH_SERVICE = "获得%f月报单服务费收益,结算月%s。";
public static String RETAIL_BENEFIT_AVG_INCOME = "获得%f月福利平均收益,结算月%s。";
/**
* 月度分红平均收益
*/
public static String RETAIL_BENEFIT_AVG_INCOME = "获得 %f 月度分红福利平均收益,结算月%s。";
/**
* 月度分红加权收益
*/
public static String RETAIL_BENEFIT_INCOME = "获得 %f 月度分红福利加权收益,结算月%s。";
/**
* 区域分红说明
*/
public static String RETAIL_AREA_INCOME = "订单编号%s,%s为%s贡献了区域分红,区域分红%f,收益县%s。";
public static String RETAIL_BENEFIT_INCOME = "获得%f月福利加权收益,结算月%s。";
/**
* 分红收益备注 -- %s获得分红收益%f
*/
// public static String SHARE = "MSG_BONUS_008";
public static String SHARE = "%s获得福利收益%f。";
/**
* -- 订单编号%s,%s为%s贡献了海粉推荐收益,海粉推荐收益%f
*/
// public static String HAI_FUN = "MSG_BONUS_009";
public static String HAI_FUN = "订单编号%s,%s为%s贡献了海粉推荐收益,海粉推荐收益%f。";
/**
* 复购券收益备注 -- %s获得复购券均分收益%f
*/
// public static String SHARE_COUPON = "MSG_BONUS_010";
public static String SHARE_COUPON = "%s获得复购券均分收益%f。";
/**
* 复购券收益备注 -- %s获得店铺收益%f
*/
// public static String STORE = "MSG_BONUS_011";
public static String STORE = "%s获得店铺收益%f。";
/**
* 车奖积分收益备注 -- 获得车奖积分收益%f
*/
// public static String CAR_AWARD_POINTS = "MSG_BONUS_013";
public static String CAR_AWARD_POINTS = "获得车奖积分收益%f。";
/**
* 嗨粉推荐收益备注 -- 订单编号%s,%s为%s贡献了嗨粉推荐收益,获得嗨粉推荐奖金%f
*/
// public static String HI_FUN = "MSG_BONUS_014";
public static String HI_FUN = "订单编号%s,%s为%s贡献了嗨粉推荐收益,获得嗨粉推荐奖金%f。";
/**
* 复购拓展收益备注 -- 订单编号%s,%s为%s贡献了复购推荐收益,计算业绩%f,直推比例%f
*/
// public static String REPURCHASE_PUSH = "MSG_BONUS_015";
public static String REPURCHASE_PUSH = "订单编号%s,%s为%s贡献了复购推荐收益,计算业绩%f,直推比例%f。";
/**

View File

@ -33,6 +33,7 @@ public enum EAwards {
* 蓝宝
*/
HIGH_MANAGER(4, 15, "三级", 0, EnumsPrefixConstants.AWARDS + 15),
/**
* 钻石
*/
@ -45,6 +46,7 @@ public enum EAwards {
* 绿钻
*/
HIGH_CHIEF(7, 30, "六级", 0, EnumsPrefixConstants.AWARDS + 30),
/**
* 星耀蓝钻
*/

View File

@ -107,11 +107,11 @@ public enum EBonusItems {
* 复购级差收益 -- 月结月奖
*/
RETAIL_MONTH_REPURCHASE_INCOME(31, "复购级差收益", 0, EnumsPrefixConstants.BONUS_ITEMS + 31),
/**
* 培育津贴 -- 月结月奖
*/
RETAIL_COACHING_INCOME(32, "培育津贴", 0, EnumsPrefixConstants.BONUS_ITEMS + 32),
/**
* 月度分红 - 平均收益福利平均收益 -- 月结月奖
*/

View File

@ -55,7 +55,6 @@ public enum EGrade {
*/
S_VIP(6, 70, "V5", 0, EnumsPrefixConstants.GRADE + "70", MemberFrameworkConstants.S_VIP),
;
/**

View File

@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 奖金扣项配置
* </p>
*
* @author hzs
* @since 2022-11-04
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -254,13 +254,13 @@ public class CuMemberBonus extends BaseEntity {
private BigDecimal retailMonthRepurchaseIncome;
/**
* 新零售福利平均收益
* 新零售福利分红平均收益
*/
@TableField("RETAIL_BENEFIT_AVG_INCOME")
private BigDecimal retailBenefitAvgIncome;
/**
* 新零售福利加权收益 修改为福利分红收益
* 新零售福利分红加权收益
*/
@TableField("RETAIL_BENEFIT_INCOME")
private BigDecimal retailBenefitIncome;

View File

@ -198,25 +198,25 @@ public class BdAwards extends BaseEntity {
private BigDecimal shareTotalCheck;
/**
* 福利级差比例
* 福利级差比例 -- 月度级差
*/
@TableField("RANGE_RATIO")
private BigDecimal rangeRatio;
/**
* 复购级差比例
* 复购级差比例 -- 月度复购级差
*/
@TableField("MONTH_REPURCHASE_RATIO")
private BigDecimal monthRepurchaseRatio;
/**
* 福利平均比例
* 福利平均比例 -- 月度分红平均
*/
@TableField("BENEFIT_AVG_RATIO")
private BigDecimal benefitAvgRatio;
/**
* 福利加权比例
* 福利加权比例 -- 月度分红加权
*/
@TableField("BENEFIT_SHARE_RATIO")
private BigDecimal benefitShareRatio;