## 领导奖获取月新増业绩改为当期减上月最后一期;
This commit is contained in:
parent
e20142917c
commit
fd310590bf
|
@ -806,13 +806,11 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
*
|
*
|
||||||
* @param settleTableName 当天结算表
|
* @param settleTableName 当天结算表
|
||||||
* @param settleTableNameMonthLast 上月最后一天结算表
|
* @param settleTableNameMonthLast 上月最后一天结算表
|
||||||
* @param cuMemberMonth 当月月业绩表
|
|
||||||
* @param pkMemberList 查询奖衔会员
|
* @param pkMemberList 查询奖衔会员
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettleExt> listMemberMonthAssess(@Param("settleTableName") String settleTableName,
|
List<CuMemberSettleExt> listMemberMonthAssess(@Param("settleTableName") String settleTableName,
|
||||||
@Param("settleTableNameMonthLast") String settleTableNameMonthLast,
|
@Param("settleTableNameMonthLast") String settleTableNameMonthLast,
|
||||||
@Param("cuMemberMonth") String cuMemberMonth,
|
|
||||||
@Param("pkMemberList") List<?> pkMemberList);
|
@Param("pkMemberList") List<?> pkMemberList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -299,11 +299,10 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
||||||
*
|
*
|
||||||
* @param settleTableName 当天结算表
|
* @param settleTableName 当天结算表
|
||||||
* @param settleTableNameMonthLast 上月最后一天结算表
|
* @param settleTableNameMonthLast 上月最后一天结算表
|
||||||
* @param cuMemberMonth 当月月业绩表
|
|
||||||
* @param pkMemberList 查询奖衔会员
|
* @param pkMemberList 查询奖衔会员
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<CuMemberSettleExt> listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, String cuMemberMonth, List<Long> pkMemberList);
|
List<CuMemberSettleExt> listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, List<Long> pkMemberList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量根据量奖信息查询会员结算表中的父级血缘数据
|
* 批量根据量奖信息查询会员结算表中的父级血缘数据
|
||||||
|
|
|
@ -429,14 +429,14 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberSettleExt> listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, String cuMemberMonth, List<Long> pkMemberList) {
|
public List<CuMemberSettleExt> listMemberMonthAssess(String settleTableName, String settleTableNameMonthLast, List<Long> pkMemberList) {
|
||||||
List<CuMemberSettleExt> cuMemberSettleExtList = new ArrayList<>();
|
List<CuMemberSettleExt> cuMemberSettleExtList = new ArrayList<>();
|
||||||
if (CollectionUtil.isEmpty(pkMemberList)) {
|
if (CollectionUtil.isEmpty(pkMemberList)) {
|
||||||
return cuMemberSettleExtList;
|
return cuMemberSettleExtList;
|
||||||
}
|
}
|
||||||
List<List<?>> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
List<List<?>> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
||||||
listList.forEach(list ->
|
listList.forEach(list ->
|
||||||
cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, cuMemberMonth, list)));
|
cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, list)));
|
||||||
return cuMemberSettleExtList;
|
return cuMemberSettleExtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -706,7 +706,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
||||||
Map<Long, CuMemberAssess> cuMemberAssessMap = new HashMap<>();
|
Map<Long, CuMemberAssess> cuMemberAssessMap = new HashMap<>();
|
||||||
|
|
||||||
// TODO new 新逻辑没有复购考核,根据上月结余判断大小区,然后判断本月小区新増业绩来判断拿几代
|
// TODO new 新逻辑没有复购考核,根据上月结余判断大小区,然后判断本月小区新増业绩来判断拿几代
|
||||||
// 奖衔会员能拿几代领导奖(key:会员ID,value:拿几代)
|
// 奖衔会员能拿几代领导奖(key:会员ID,value:奖衔值+上月结余+本月新増)
|
||||||
Map<Long, CuMemberSettleExt> cuMemberBonusNumMap = getCoachAwardsMemberMap(settleTableName, settleDateStr, cuMemberSettleExtList);
|
Map<Long, CuMemberSettleExt> cuMemberBonusNumMap = getCoachAwardsMemberMap(settleTableName, settleDateStr, cuMemberSettleExtList);
|
||||||
|
|
||||||
Map<Long, CuMemberSettleExt> bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap);
|
Map<Long, CuMemberSettleExt> bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap);
|
||||||
|
@ -1191,7 +1191,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
||||||
BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio);
|
BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio);
|
||||||
// actualIncome = 业绩 * 等级扩展比例
|
// actualIncome = 业绩 * 等级扩展比例
|
||||||
BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio);
|
BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio);
|
||||||
log.info("首购. maxIncome: {}, actualIncome: {}", maxIncome, actualIncome);
|
log.info("首购. maxIncome: {}, gradeExpandRatio: {}; actualIncome: {}, countryExpandRatio: {}", maxIncome, gradeExpandRatio, actualIncome, countryExpandRatio);
|
||||||
|
|
||||||
// K值设置
|
// K值设置
|
||||||
if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) {
|
if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) {
|
||||||
|
@ -1424,6 +1424,36 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
||||||
recordDetailVO.setCuMemberBonusDelayDetailList(cuMemberBonusDelayDetailList);
|
recordDetailVO.setCuMemberBonusDelayDetailList(cuMemberBonusDelayDetailList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取奖衔会员各能拿多少代
|
||||||
|
*
|
||||||
|
* @param settleTableName 结算表
|
||||||
|
* @param settleDateStr 结算日期
|
||||||
|
* @param cuMemberSettleExtList
|
||||||
|
*/
|
||||||
|
private Map<Long, CuMemberSettleExt> getCoachAwardsMemberMap(String settleTableName, String settleDateStr, List<CuMemberSettleExt> cuMemberSettleExtList) {
|
||||||
|
// 奖衔会员能拿几代领导奖(key:会员ID,value:奖衔值+上月结余+本月新増)
|
||||||
|
Map<Long, CuMemberSettleExt> cuMemberBonusNumMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 拓展收益血缘上会员ID
|
||||||
|
List<Long> pkAwardsMemberList = cuMemberSettleExtList.stream().map(CuMemberSettleExt::getPkMember).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
Date settleDate = DateUtils.parseStringToDate(settleDateStr);
|
||||||
|
// 之前月份的最后一期
|
||||||
|
Integer monthLastPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.beforeMonthLastDateStr(settleDate)).getPkId();
|
||||||
|
String settleTableNameMonthLast = TableNameConstants.CU_MEMBER_SETTLE + monthLastPeriod;
|
||||||
|
|
||||||
|
// TODO new 有奖衔的会员,本月左右区新増,上月最后一期左右区结余(需要确保上月最后一期日结表存在)
|
||||||
|
List<CuMemberSettleExt> awardsMemberSettleList = iCuMemberTreeService.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, pkAwardsMemberList);
|
||||||
|
|
||||||
|
if (CollectionUtil.isNotEmpty(awardsMemberSettleList)) {
|
||||||
|
for (CuMemberSettleExt tmpCuMemberSettleExt : awardsMemberSettleList) {
|
||||||
|
cuMemberBonusNumMap.put(tmpCuMemberSettleExt.getPkMember(), tmpCuMemberSettleExt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cuMemberBonusNumMap;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理当天没有奖金的延缓发放
|
* 处理当天没有奖金的延缓发放
|
||||||
*/
|
*/
|
||||||
|
@ -1527,39 +1557,6 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取奖衔会员各能拿多少代
|
|
||||||
*
|
|
||||||
* @param settleTableName 结算表
|
|
||||||
* @param settleDateStr 结算日期
|
|
||||||
* @param cuMemberSettleExtList
|
|
||||||
*/
|
|
||||||
private Map<Long, CuMemberSettleExt> getCoachAwardsMemberMap(String settleTableName, String settleDateStr, List<CuMemberSettleExt> cuMemberSettleExtList) {
|
|
||||||
// 奖衔会员能拿几代领导奖(key:会员ID,value:奖衔值)
|
|
||||||
Map<Long, CuMemberSettleExt> cuMemberBonusNumMap = new HashMap<>();
|
|
||||||
|
|
||||||
// 拓展收益血缘上会员ID
|
|
||||||
List<Long> pkAwardsMemberList = cuMemberSettleExtList.stream().map(CuMemberSettleExt::getPkMember).distinct().collect(Collectors.toList());
|
|
||||||
|
|
||||||
Date settleDate = DateUtils.parseStringToDate(settleDateStr);
|
|
||||||
// 之前月份的最后一期
|
|
||||||
Integer monthLastPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(DateUtils.beforeMonthLastDateStr(settleDate)).getPkId();
|
|
||||||
String settleTableNameMonthLast = TableNameConstants.CU_MEMBER_SETTLE + monthLastPeriod;
|
|
||||||
|
|
||||||
// 当前月表
|
|
||||||
String cuMemberMonth = TableNameConstants.CU_MEMBER_MONTH + DateUtils.getMonth(settleDateStr);
|
|
||||||
|
|
||||||
// TODO new 有奖衔的会员,本月左右区新増,上月最后一期左右区结余(需要确保上月最后一期日结表存在,结算月表存在)
|
|
||||||
List<CuMemberSettleExt> awardsMemberSettleList = iCuMemberTreeService.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, cuMemberMonth, pkAwardsMemberList);
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(awardsMemberSettleList)) {
|
|
||||||
for (CuMemberSettleExt tmpCuMemberSettleExt : awardsMemberSettleList) {
|
|
||||||
cuMemberBonusNumMap.put(tmpCuMemberSettleExt.getPkMember(), tmpCuMemberSettleExt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cuMemberBonusNumMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取领导奖实际的奖衔值
|
* 获取领导奖实际的奖衔值
|
||||||
*
|
*
|
||||||
|
|
|
@ -2307,13 +2307,14 @@
|
||||||
order by t.pk_member
|
order by t.pk_member
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 有奖衔的会员,本月左右区新増,上月最后一期左右区结余 -->
|
<!-- 有奖衔的会员,上月最后一期左右区结余,本月左右区新増 -->
|
||||||
|
<!-- 当期的 首购累计 + 复购累计 - 上月最后一期首购累计 - 上月最后一期复购累计 -->
|
||||||
<select id="listMemberMonthAssess" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt">
|
<select id="listMemberMonthAssess" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt">
|
||||||
select t.*,
|
select t.*,
|
||||||
nvl(cms.a_balance, 0) a_balance,
|
nvl(cms.a_balance, 0) a_balance,
|
||||||
nvl(cms.b_balance, 0) b_balance,
|
nvl(cms.b_balance, 0) b_balance,
|
||||||
nvl(cmm.a_sum_pv, 0) + nvl(cmm.rep_a_sum_pv, 0) a_sum_pv,
|
nvl(t.a_sum_pv, 0) + nvl(t.rep_a_sum_pv, 0) - nvl(cms.a_sum_pv, 0) - nvl(cms.rep_a_sum_pv, 0) a_sum_pv,
|
||||||
nvl(cmm.b_sum_pv, 0) + nvl(cmm.rep_b_sum_pv, 0) b_sum_pv
|
nvl(t.b_sum_pv, 0) + nvl(t.rep_b_sum_pv, 0) - nvl(cms.b_sum_pv, 0) - nvl(cms.rep_b_sum_pv, 0) b_sum_pv
|
||||||
from (
|
from (
|
||||||
select cms.*, ba.awards_value
|
select cms.*, ba.awards_value
|
||||||
from (select cms.pk_member, cms.pk_awards
|
from (select cms.pk_member, cms.pk_awards
|
||||||
|
@ -2329,8 +2330,6 @@
|
||||||
) t
|
) t
|
||||||
left join ${settleTableNameMonthLast} cms
|
left join ${settleTableNameMonthLast} cms
|
||||||
on cms.pk_member = t.pk_member
|
on cms.pk_member = t.pk_member
|
||||||
left join ${cuMemberMonth} cmm
|
|
||||||
on cmm.pk_member = t.pk_member
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue