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

This commit is contained in:
cabbage 2025-04-19 16:17:57 +08:00
parent 014634ffd1
commit 8b7c13464c
4 changed files with 27 additions and 18 deletions

View File

@ -762,12 +762,12 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
} }
if (firstBool) { if (firstBool) {
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) {
// 校验当前国家是否有该奖项 // 校验当前国家是否有该奖项首购辅导奖
continue; continue;
} }
} else { } else {
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.COACHING_INCOME.getValue())) { if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_COACHING_INCOME.getValue())) {
// 校验当前国家是否有该奖项 // 校验当前国家是否有该奖项复购辅导奖
continue; 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<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
Map<Integer, BdGrade> gradeMap) { Map<Integer, BdGrade> gradeMap) {
// 量奖拓展收益延缓发放主表量奖拓展收益延缓发放主表 // 量奖拓展收益延缓发放主表量奖拓展收益延缓发放主表
@ -1320,6 +1320,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 已经追加拓展延缓明细的会员会员列表 // 已经追加拓展延缓明细的会员会员列表
Set<Long> pkMemberSet = new HashSet<>(); Set<Long> pkMemberSet = new HashSet<>();
// 新添加的扩展收益
List<CuMemberBonusExpand> cuMemberBonusExpandList = new ArrayList<>();
if (null == recordDetailVO.getCuMemberBonusExpandList()) { if (null == recordDetailVO.getCuMemberBonusExpandList()) {
recordDetailVO.setCuMemberBonusExpandList(new ArrayList<>()); recordDetailVO.setCuMemberBonusExpandList(new ArrayList<>());
} }
@ -1395,7 +1397,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 处理实发小计实发收益总计 // 处理实发小计实发收益总计
setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand);
// TODO new 追加的一条延缓收益生成的拓展收益明细 // TODO new 追加的一条延缓收益生成的拓展收益明细
recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand); cuMemberBonusExpandList.add(cuMemberBonusExpand);
// 封装延缓发放减少明细 // 封装延缓发放减少明细
CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder() 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); gradeMap, pkMemberSet, cuMemberBonusDelayList, cuMemberBonusDelayDetailList);
recordDetailVO.setCuMemberBonusDelayList(cuMemberBonusDelayList); recordDetailVO.setCuMemberBonusDelayList(cuMemberBonusDelayList);
recordDetailVO.setCuMemberBonusDelayDetailList(cuMemberBonusDelayDetailList); 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<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
Map<Integer, BdGrade> gradeMap, Set<Long> pkMemberSet, Map<Integer, BdGrade> gradeMap, Set<Long> pkMemberSet,
List<CuMemberBonusDelay> cuMemberBonusDelayList, List<CuMemberBonusDelayDetail> cuMemberBonusDelayDetailList) { List<CuMemberBonusDelay> cuMemberBonusDelayList, List<CuMemberBonusDelayDetail> cuMemberBonusDelayDetailList) {
@ -1538,7 +1543,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
// 处理实发小计实发收益总计 // 处理实发小计实发收益总计
setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand); setFirstPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusExpand);
// TODO new 追加的一条延缓收益生成的拓展收益明细 // TODO new 追加的一条延缓收益生成的拓展收益明细
recordDetailVO.getCuMemberBonusExpandList().add(cuMemberBonusExpand); cuMemberBonusExpandList.add(cuMemberBonusExpand);
// 封装延缓发放减少明细 // 封装延缓发放减少明细
CuMemberBonusDelayDetail cuMemberBonusDelayGrantDetail = CuMemberBonusDelayDetail.builder() 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, List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList,
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true); 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); 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); MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusDetail, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO); memberBonusDetailSerVoS.add(memberBonusDetailVO);
}); });
} else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue } else if (EBonusItems.DIRECT_INCOME.getValue() == bonusItemsValue ||
|| EBonusItems.HELP_EACH_INCOME.getValue() == bonusItemsValue) { EBonusItems.HELP_EACH_INCOME.getValue() == bonusItemsValue) {
// 直推 推荐收益 // 直推 推荐收益
List<CuMemberBonusPushExt> cuMemberBonusPushList = cuMemberBonusPushMapper.queryMemberBonusPushByBonusItemsFoServer(bonusParam); List<CuMemberBonusPushExt> cuMemberBonusPushList = cuMemberBonusPushMapper.queryMemberBonusPushByBonusItemsFoServer(bonusParam);
dataTable = getDataTable(cuMemberBonusPushList); dataTable = getDataTable(cuMemberBonusPushList);
@ -506,8 +506,8 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusPush, MemberBonusDetailSerVO.class); MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusPush, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO); memberBonusDetailSerVoS.add(memberBonusDetailVO);
}); });
} else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue || } else if (EBonusItems.EXPANSION_INCOME.getValue() == bonusItemsValue
EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) { || EBonusItems.CONSUMPTION_EXPANSION_INCOME.getValue() == bonusItemsValue) {
// 拓展收益复购拓展收益 // 拓展收益复购拓展收益
List<CuMemberBonusExpandExt> cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItemsForServer(bonusParam); List<CuMemberBonusExpandExt> cuMemberBonusExpandList = cuMemberBonusExpandMapper.queryMemberBonusExpandByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusExpandList); dataTable = getDataTable(cuMemberBonusExpandList);
@ -515,9 +515,9 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusExpand, MemberBonusDetailSerVO.class); MemberBonusDetailSerVO memberBonusDetailVO = BeanUtil.copyProperties(cuMemberBonusExpand, MemberBonusDetailSerVO.class);
memberBonusDetailSerVoS.add(memberBonusDetailVO); 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); List<CuMemberBonusCoachExt> cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusCoachList); dataTable = getDataTable(cuMemberBonusCoachList);
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> { cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
@ -526,7 +526,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
}); });
} else if (EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bonusItemsValue) { } else if (EBonusItems.REPURCHASE_RANGE_INCOME.getValue() == bonusItemsValue) {
// 复购极差 // 复购极差
// 拓展收益复购拓展收益
List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam); List<CuMemberBonusRangeExt> cuMemberBonusRangeList = cuMemberBonusRangeMapper.queryMemberBonusRangeByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusRangeList); dataTable = getDataTable(cuMemberBonusRangeList);
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> { cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
@ -535,7 +534,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
}); });
} else { } else {
// 其他收益 服务补贴分红收益嗨粉直推 // 其他收益 服务补贴分红收益嗨粉直推
// 拓展收益复购拓展收益
List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItemsForServer(bonusParam); List<CuMemberBonusDetailExt> cuMemberBonusDetailList = cuMemberBonusDetailMapper.queryMemberBonusDetailByBonusItemsForServer(bonusParam);
dataTable = getDataTable(cuMemberBonusDetailList); dataTable = getDataTable(cuMemberBonusDetailList);
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> { 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, 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, 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.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 ( inner join (
select 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, 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"> <if test="bonusParam.period != null">
and cb.period =#{bonusParam.period} and cb.period =#{bonusParam.period}
</if> </if>
<if test="bonusParam.pkBonusItems != null">
and cc.pk_bonus_items = #{bonusParam.pkBonusItems}
</if>
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0"> <if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
and exists( and exists(
select 1 from ( select 1 from (