## 调整奖金来源查询条件;

This commit is contained in:
cabbage 2025-04-19 16:17:57 +08:00
parent 6eae9d944f
commit 5aa47ba52e
4 changed files with 27 additions and 18 deletions

View File

@ -762,12 +762,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
}
if (firstBool) {
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) {
// 校验当前国家是否有该奖项
// 校验当前国家是否有该奖项首购辅导奖
continue;
}
} else {
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) {
// 校验当前国家是否有该奖项
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_COACHING_INCOME.getValue())) {
// 校验当前国家是否有该奖项复购辅导奖
continue;
}
}
@ -1310,7 +1310,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
/**
* 处理拓展延缓发放
*/
public void handleDelayExpand(BonusRecordDetailVO recordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO,
public List<CuMemberBonusExpand> handleDelayExpand(BonusRecordDetailVO recordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO,
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
Map<Integer, BdGrade> gradeMap) {
// 量奖拓展收益延缓发放主表量奖拓展收益延缓发放主表
@ -1320,6 +1320,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 已经追加拓展延缓明细的会员会员列表
Set<Long> pkMemberSet = new HashSet<>();
// 新添加的扩展收益
List<CuMemberBonusExpand> cuMemberBonusExpandList = new ArrayList<>();
if (null == recordDetailVO.getCuMemberBonusExpandList()) {
recordDetailVO.setCuMemberBonusExpandList(new ArrayList<>());
}
@ -1395,7 +1397,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 处理实发小计实发收益总计
setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand);
// TODO new 追加的一条延缓收益生成的拓展收益明细
recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand);
cuMemberBonusExpandList.add(cuMemberBonusExpand);
// 封装延缓发放减少明细
CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder()
@ -1435,11 +1437,14 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
}
// 处理当天没有奖金的延缓发放
this.handleNotGrantDelay(recordDetailVO, cuMemberBonusMap, bonusConfigDTO, cuMemberSettleExtMap, period, yesterdayPeriod, currentSettleTableName,
this.handleNotGrantDelay(cuMemberBonusExpandList, cuMemberBonusMap, bonusConfigDTO, cuMemberSettleExtMap, period, yesterdayPeriod, currentSettleTableName,
gradeMap, pkMemberSet, cuMemberBonusDelayList, cuMemberBonusDelayDetailList);
recordDetailVO.setCuMemberBonusDelayList(cuMemberBonusDelayList);
recordDetailVO.setCuMemberBonusDelayDetailList(cuMemberBonusDelayDetailList);
recordDetailVO.getCuMemberBonusExpandList().addAll(cuMemberBonusExpandList);
return cuMemberBonusExpandList;
}
/**
@ -1475,7 +1480,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
/**
* 处理当天没有奖金的延缓发放
*/
private void handleNotGrantDelay(BonusRecordDetailVO recordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO,
private void handleNotGrantDelay(List<CuMemberBonusExpand> cuMemberBonusExpandList, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO,
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
Map<Integer, BdGrade> gradeMap, Set<Long> pkMemberSet,
List<CuMemberBonusDelay> cuMemberBonusDelayList, List<CuMemberBonusDelayDetail> cuMemberBonusDelayDetailList) {
@ -1538,7 +1543,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 处理实发小计实发收益总计
setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand);
// TODO new 追加的一条延缓收益生成的拓展收益明细
recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand);
cuMemberBonusExpandList.add(cuMemberBonusExpand);
// 封装延缓发放减少明细
CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder()

View File

@ -1050,7 +1050,9 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
// 判断是否有量奖有量奖有辅导奖
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList,
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true);
bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) {
bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberBonusCoachList);
}
//*********************************计算服务奖************************/
List<CuMemberBonusDetail> cuMemberBonusDetailList = bonusSettleFirstPurchaseHandle.calculateServiceBonus(cuMemberSettleExtMap, settleDate, settleTableName, bonusConfigDTO, firPurchaseOrderList, period, cuMemberBonusMap);

View File

@ -497,8 +497,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO);
});
} else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue
|| EBonusItems.HELP_EACH_INCOME.getValue() == bonusItemsValue) {
} else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue ||
EBonusItems.HELP_EACH_INCOME.getValue() == bonusItemsValue) {
// 直推 推荐收益
List<CuMemberBonusPushExt> cuMemberBonusPushList = cuMemberBonusPushMapper.queryMemberBonusPushByBonusItemsFoServer(bonusParam);
dataTable = getDataTable(cuMemberBonusPushList);
@ -506,8 +506,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusPush, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO);
});
} else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue ||
EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) {
} else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue
|| EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) {
// 拓展收益复购拓展收益
List<CuMemberBonusExpandExt> cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusExpandList);
@ -515,9 +515,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusExpand, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO);
});
} else if (EBonusItems.COACHING_INCOME.getValue() == bonusItemsValue) {
} else if (EBonusItems.COACHING_INCOME.getValue() == bonusItemsValue
|| EBonusItems.REPURCHASE_COACHING_INCOME.getValue() == bonusItemsValue) {
// 辅导收益
// 拓展收益复购拓展收益
List<CuMemberBonusCoachExt> cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusCoachList);
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
@ -526,7 +526,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
});
} else if (EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bonusItemsValue) {
// 复购极差
// 拓展收益复购拓展收益
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusRangeList);
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
@ -535,7 +534,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
});
} else {
// 其他收益 服务补贴分红收益嗨粉直推
// 拓展收益复购拓展收益
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusDetailList);
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {

View File

@ -166,7 +166,8 @@
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country from sa_order so
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country
from sa_order so
inner join (
select
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
@ -178,6 +179,9 @@
<if test="bonusParam.period != null">
and cb.period =#{bonusParam.period}
</if>
<if test="bonusParam.pkBonusItems != null">
and cc.pk_bonus_items = #{bonusParam.pkBonusItems}
</if>
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
and exists(
select 1 from (