## 奖衔处理改为旧逻辑累计处理不走月奖衔;
This commit is contained in:
parent
d7203842f8
commit
c6f4161655
|
@ -455,12 +455,13 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
calculateRepurchaseCoupons(DateUtils.parseDate(settleDate), firPurchaseOrderList, period, bonusConfigDTO, cuMemberBonusMap,
|
calculateRepurchaseCoupons(DateUtils.parseDate(settleDate), firPurchaseOrderList, period, bonusConfigDTO, cuMemberBonusMap,
|
||||||
recordDetailVO, cuMemberSettleExtMap);
|
recordDetailVO, cuMemberSettleExtMap);
|
||||||
|
|
||||||
// 计算乐享订单奖金,按照订单进行日结
|
// TODO new 奖衔走累计一次性的,此处不需要处理,防止出现奖衔升级记录不对
|
||||||
// 增加判断是否相同月,相同月的话昨天的考核结果更新到今天
|
// // 计算乐享订单奖金,按照订单进行日结
|
||||||
Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
|
// // 增加判断是否相同月,相同月的话昨天的考核结果更新到今天
|
||||||
// 乐享奖金
|
// Boolean isSameMonth = DateUtils.getMonth(settleDate).equals(DateUtils.getMonth(yesterday));
|
||||||
bonusSettleRangeHandle.calculateLeEnjoyBonusBySaOrder(cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
// // 乐享奖金
|
||||||
period, yesterdayPeriod, isSameMonth);
|
// bonusSettleRangeHandle.calculateLeEnjoyBonusBySaOrder(cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
||||||
|
// period, yesterdayPeriod, isSameMonth);
|
||||||
// // 计算新零售团队奖金
|
// // 计算新零售团队奖金
|
||||||
// bonusSettleRangeHandle.calculateRetailBonusBySaOrder(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
// bonusSettleRangeHandle.calculateRetailBonusBySaOrder(settleDate, cuMemberBonusMap, bonusConfigDTO, recordDetailVO,
|
||||||
// period, yesterdayPeriod, retailOrderList, isSameMonth);
|
// period, yesterdayPeriod, retailOrderList, isSameMonth);
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
cuMemberTreeService.updateBackCuMemberSettleAward(settleTableName, period);
|
||||||
// 更新会员奖衔根据临时表(会员表)
|
// 更新会员奖衔根据临时表(会员表)
|
||||||
cuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
cuMemberService.updateBackCuMemberAward(cuMemberAwards, period);
|
||||||
// 回退业绩表奖衔
|
// 回退业绩表奖衔(删除会员奖衔升级记录)
|
||||||
baseMapper.deleteCuMemberAwards(period);
|
baseMapper.deleteCuMemberAwards(period);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -265,17 +265,20 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
||||||
if (enoughAwardsMemberList.size() > 0) {
|
if (enoughAwardsMemberList.size() > 0) {
|
||||||
// 记录要入库的,为了验证是否首次晋升
|
// 记录要入库的,为了验证是否首次晋升
|
||||||
enoughAwardsMemberList.forEach(enoughAwardsMember -> getCuMemberAwards(originalCuMemberSettleMap, period, cuMemberAwardsList, enoughAwardsMember));
|
enoughAwardsMemberList.forEach(enoughAwardsMember -> getCuMemberAwards(originalCuMemberSettleMap, period, cuMemberAwardsList, enoughAwardsMember));
|
||||||
// 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升
|
|
||||||
List<CuMemberAwards> originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList);
|
// TODO new 现在没有复购考核,不需要记录是不是首次,全部按复购免考处理就可以
|
||||||
// 是首次晋升的数据
|
// // 验证满足的这群人是否是首次晋升,查询出值的不是首次晋升
|
||||||
Map<Long, CuMemberAwards> cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size()));
|
// List<CuMemberAwards> originalCuMemberAwardsList = baseMapper.queryLastCuMemberAwards(cuMemberAwardsList);
|
||||||
originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards));
|
// // 是首次晋升的数据
|
||||||
|
// Map<Long, CuMemberAwards> cuMemberAwardsMap = new HashMap<>(ComputeUtil.mapInitCapacity(originalCuMemberAwardsList.size()));
|
||||||
|
// originalCuMemberAwardsList.forEach(cuMemberAwards -> cuMemberAwardsMap.put(cuMemberAwards.getPkMember(), cuMemberAwards));
|
||||||
cuMemberAwardsList.forEach(cuMemberAwards -> {
|
cuMemberAwardsList.forEach(cuMemberAwards -> {
|
||||||
CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember());
|
// CuMemberAwards memberAwards = cuMemberAwardsMap.get(cuMemberAwards.getPkMember());
|
||||||
// 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升
|
// // 没有奖衔升级记录或者奖衔升级记录是会员的 算首次晋升
|
||||||
if (memberAwards == null) {
|
// if (memberAwards == null) {
|
||||||
cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue());
|
// cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue());
|
||||||
}
|
// }
|
||||||
|
cuMemberAwards.setPurchaseStatus(EYesNo.YES.getIntValue());
|
||||||
});
|
});
|
||||||
// 插入记录
|
// 插入记录
|
||||||
baseMapper.saveBatchCuMemberAwards(cuMemberAwardsList);
|
baseMapper.saveBatchCuMemberAwards(cuMemberAwardsList);
|
||||||
|
|
|
@ -158,15 +158,19 @@
|
||||||
<update id="updateCuMemberBackOldAchieveEveryDay">
|
<update id="updateCuMemberBackOldAchieveEveryDay">
|
||||||
merge into ${tableName} a
|
merge into ${tableName} a
|
||||||
using (
|
using (
|
||||||
select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv)
|
select pk_member, max(a.pk_rate) pk_rate,
|
||||||
a_new_pv,
|
sum(a_new_amount/bc.out_exchange_rate) a_new_amount,
|
||||||
sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv,
|
sum(a_new_pv) a_new_pv,
|
||||||
sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate)
|
sum(b_new_amount/bc.out_exchange_rate) b_new_amount,
|
||||||
rep_b_new_amount,
|
sum(b_new_pv) b_new_pv,
|
||||||
sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate)
|
sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,
|
||||||
a_new_real_amount,
|
sum(rep_a_new_pv) rep_a_new_pv,
|
||||||
sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate)
|
sum(rep_b_new_amount/bc.out_exchange_rate) rep_b_new_amount,
|
||||||
b_new_real_amount,sum(b_new_real_pv) b_new_real_pv
|
sum(rep_b_new_pv) rep_b_new_pv,
|
||||||
|
sum(a_new_real_amount/bc.out_exchange_rate) a_new_real_amount,
|
||||||
|
sum(a_new_real_pv) a_new_real_pv,
|
||||||
|
sum(b_new_real_amount/bc.out_exchange_rate) b_new_real_amount,
|
||||||
|
sum(b_new_real_pv) b_new_real_pv
|
||||||
from (
|
from (
|
||||||
<foreach collection="memberAchieveParamList" item="achieve" open=" " separator=" union all " close=" ">
|
<foreach collection="memberAchieveParamList" item="achieve" open=" " separator=" union all " close=" ">
|
||||||
select pk_place_parent pk_member,#{achieve.pkRate} pk_rate,
|
select pk_place_parent pk_member,#{achieve.pkRate} pk_rate,
|
||||||
|
@ -183,7 +187,7 @@
|
||||||
(case when place_dept = 2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount,
|
(case when place_dept = 2 then #{achieve.newRealAmount} else 0 end) b_new_real_amount,
|
||||||
(case when place_dept = 2 then #{achieve.newRealPv} else 0 end) b_new_real_pv
|
(case when place_dept = 2 then #{achieve.newRealPv} else 0 end) b_new_real_pv
|
||||||
from(
|
from(
|
||||||
select pk_place_parent,place_dept from(
|
select pk_place_parent,place_dept from (
|
||||||
select * from ${tableName}
|
select * from ${tableName}
|
||||||
start with pk_member = #{achieve.pkMember}
|
start with pk_member = #{achieve.pkMember}
|
||||||
connect by pk_member = prior pk_place_parent
|
connect by pk_member = prior pk_place_parent
|
||||||
|
@ -212,15 +216,19 @@
|
||||||
<update id="updateCuMemberBackAchieveEveryDay">
|
<update id="updateCuMemberBackAchieveEveryDay">
|
||||||
merge into ${tableName} a
|
merge into ${tableName} a
|
||||||
using (
|
using (
|
||||||
select pk_member,max(a.pk_rate) pk_rate,sum(a_new_amount/bc.out_exchange_rate) a_new_amount,sum(a_new_pv)
|
select pk_member,max(a.pk_rate) pk_rate,
|
||||||
a_new_pv,
|
sum(a_new_amount/bc.out_exchange_rate) a_new_amount,
|
||||||
sum(b_new_amount/bc.out_exchange_rate) b_new_amount,sum(b_new_pv) b_new_pv,
|
sum(a_new_pv) a_new_pv,
|
||||||
sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,sum(rep_b_new_amount/bc.out_exchange_rate)
|
sum(b_new_amount/bc.out_exchange_rate) b_new_amount,
|
||||||
rep_b_new_amount,
|
sum(b_new_pv) b_new_pv,
|
||||||
sum(rep_a_new_pv) rep_a_new_pv,sum(rep_b_new_pv) rep_b_new_pv,sum(a_new_real_amount/bc.out_exchange_rate)
|
sum(rep_a_new_amount/bc.out_exchange_rate) rep_a_new_amount,
|
||||||
a_new_real_amount,
|
sum(rep_b_new_amount/bc.out_exchange_rate) rep_b_new_amount,
|
||||||
sum(a_new_real_pv) a_new_real_pv,sum(b_new_real_amount/bc.out_exchange_rate)
|
sum(rep_a_new_pv) rep_a_new_pv,
|
||||||
b_new_real_amount,sum(b_new_real_pv) b_new_real_pv
|
sum(rep_b_new_pv) rep_b_new_pv,
|
||||||
|
sum(a_new_real_amount/bc.out_exchange_rate) a_new_real_amount,
|
||||||
|
sum(a_new_real_pv) a_new_real_pv,
|
||||||
|
sum(b_new_real_amount/bc.out_exchange_rate) b_new_real_amount,
|
||||||
|
sum(b_new_real_pv) b_new_real_pv
|
||||||
from (
|
from (
|
||||||
<foreach collection="memberAchieveParamList" item="achieve" open=" " separator=" union all " close=" ">
|
<foreach collection="memberAchieveParamList" item="achieve" open=" " separator=" union all " close=" ">
|
||||||
select pk_place_parent pk_member,#{achieve.pkRate} pk_rate,
|
select pk_place_parent pk_member,#{achieve.pkRate} pk_rate,
|
||||||
|
@ -643,7 +651,7 @@
|
||||||
<update id="updateCuMemberAchieve">
|
<update id="updateCuMemberAchieve">
|
||||||
merge into ${tableName} a
|
merge into ${tableName} a
|
||||||
using (select #{period} period, a.*
|
using (select #{period} period, a.*
|
||||||
from (select user_id pk_member,
|
from (select user_id pk_member,
|
||||||
sum(CURR_DAY_MAIN_REG_AMOUNT) / 1 REGISTER_AMOUNT,
|
sum(CURR_DAY_MAIN_REG_AMOUNT) / 1 REGISTER_AMOUNT,
|
||||||
sum(CURR_DAY_MAIN_REG_PV) / 1 REGISTER_PV,
|
sum(CURR_DAY_MAIN_REG_PV) / 1 REGISTER_PV,
|
||||||
sum(CURR_DAY_MAIN_UP_AMOUNT) / 1 UPGRADE_AMOUNT,
|
sum(CURR_DAY_MAIN_UP_AMOUNT) / 1 UPGRADE_AMOUNT,
|
||||||
|
|
|
@ -897,9 +897,10 @@
|
||||||
b.pk_settle_country, b.is_real_name, b.is_bus_license, b.is_maker_space, b.pk_country)
|
b.pk_settle_country, b.is_real_name, b.is_bus_license, b.is_maker_space, b.pk_country)
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- TODO 由 max 改为 min ,如果一天多次升奖衔全部重算,不知道会不会有问题 -->
|
||||||
<update id="updateBackCuMemberSettleAward">
|
<update id="updateBackCuMemberSettleAward">
|
||||||
merge into ${settleTableName} a
|
merge into ${settleTableName} a
|
||||||
using (select pk_member, max(old_level) old_level
|
using (select pk_member, min(old_level) old_level
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
|
|
|
@ -151,9 +151,10 @@
|
||||||
order by pk_awards
|
order by pk_awards
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- TODO 由 max 改为 min ,如果一天多次升奖衔全部重算,不知道会不会有问题 -->
|
||||||
<update id="updateBackCuMemberAward">
|
<update id="updateBackCuMemberAward">
|
||||||
merge into cu_member a
|
merge into cu_member a
|
||||||
using (select pk_member, max(old_level) old_level
|
using (select pk_member, min(old_level) old_level
|
||||||
from cu_member_awards
|
from cu_member_awards
|
||||||
where period = #{period}
|
where period = #{period}
|
||||||
group by pk_member) b
|
group by pk_member) b
|
||||||
|
|
Loading…
Reference in New Issue