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