## 领导奖获取月新増业绩改为当期减上月最后一期;
This commit is contained in:
parent
43d841739f
commit
ba07693afd
|
@ -806,13 +806,11 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
*
|
||||
* @param settleTableName 当天结算表
|
||||
* @param settleTableNameMonthLast 上月最后一天结算表
|
||||
* @param cuMemberMonth 当月月业绩表
|
||||
* @param pkMemberList 查询奖衔会员
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberSettleExt> listMemberMonthAssess(@Param("settleTableName") String settleTableName,
|
||||
@Param("settleTableNameMonthLast") String settleTableNameMonthLast,
|
||||
@Param("cuMemberMonth") String cuMemberMonth,
|
||||
@Param("pkMemberList") List<?> pkMemberList);
|
||||
|
||||
}
|
||||
|
|
|
@ -299,11 +299,10 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
|||
*
|
||||
* @param settleTableName 当天结算表
|
||||
* @param settleTableNameMonthLast 上月最后一天结算表
|
||||
* @param cuMemberMonth 当月月业绩表
|
||||
* @param pkMemberList 查询奖衔会员
|
||||
* @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
|
||||
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<>();
|
||||
if (CollectionUtil.isEmpty(pkMemberList)) {
|
||||
return cuMemberSettleExtList;
|
||||
}
|
||||
List<List<?>> listList = cuMemberBonusSettle.handleCutList(pkMemberList, MagicNumberConstants.DELETE_DATA_BATCH_UPDATE_NUM);
|
||||
listList.forEach(list ->
|
||||
cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, cuMemberMonth, list)));
|
||||
cuMemberSettleExtList.addAll(baseMapper.listMemberMonthAssess(settleTableName, settleTableNameMonthLast, list)));
|
||||
return cuMemberSettleExtList;
|
||||
}
|
||||
|
||||
|
|
|
@ -706,7 +706,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
Map<Long, CuMemberAssess> cuMemberAssessMap = new HashMap<>();
|
||||
|
||||
// TODO new 新逻辑没有复购考核,根据上月结余判断大小区,然后判断本月小区新増业绩来判断拿几代
|
||||
// 奖衔会员能拿几代领导奖(key:会员ID,value:拿几代)
|
||||
// 奖衔会员能拿几代领导奖(key:会员ID,value:奖衔值+上月结余+本月新増)
|
||||
Map<Long, CuMemberSettleExt> cuMemberBonusNumMap = getCoachAwardsMemberMap(settleTableName, settleDateStr, cuMemberSettleExtList);
|
||||
|
||||
Map<Long, CuMemberSettleExt> bonusIdSettleMap = getMemberExpandBonus(cuMemberSettleExtMap);
|
||||
|
@ -1191,7 +1191,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), gradeExpandRatio);
|
||||
// actualIncome = 业绩 * 等级扩展比例
|
||||
BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio);
|
||||
log.info("首购. maxIncome: {}, actualIncome: {}", maxIncome, actualIncome);
|
||||
log.info("首购. maxIncome: {}, gradeExpandRatio: {}; actualIncome: {}, countryExpandRatio: {}", maxIncome, gradeExpandRatio, actualIncome, countryExpandRatio);
|
||||
|
||||
// K值设置
|
||||
if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) {
|
||||
|
@ -1424,6 +1424,36 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
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
|
||||
</select>
|
||||
|
||||
<!-- 有奖衔的会员,本月左右区新増,上月最后一期左右区结余 -->
|
||||
<!-- 有奖衔的会员,上月最后一期左右区结余,本月左右区新増 -->
|
||||
<!-- 当期的 首购累计 + 复购累计 - 上月最后一期首购累计 - 上月最后一期复购累计 -->
|
||||
<select id="listMemberMonthAssess" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt">
|
||||
select t.*,
|
||||
nvl(cms.a_balance, 0) a_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(cmm.b_sum_pv, 0) + nvl(cmm.rep_b_sum_pv, 0) b_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(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 (
|
||||
select cms.*, ba.awards_value
|
||||
from (select cms.pk_member, cms.pk_awards
|
||||
|
@ -2329,8 +2330,6 @@
|
|||
) t
|
||||
left join ${settleTableNameMonthLast} cms
|
||||
on cms.pk_member = t.pk_member
|
||||
left join ${cuMemberMonth} cmm
|
||||
on cmm.pk_member = t.pk_member
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue