## 添加日志;调整订单类型判断位置;

This commit is contained in:
cabbage 2025-07-07 10:43:06 +08:00
parent 8eb6ee8586
commit 75380f03d7
4 changed files with 25 additions and 27 deletions

View File

@ -51,7 +51,7 @@ public interface ICuMemberService extends IService<CuMember> {
/** /**
* 根据等级更新会员等级 * 根据等级更新会员等级
*/ */
void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period); void updateCuMemberGradeByPeriod(Integer period);
/** /**
* 查询会员等级 * 查询会员等级

View File

@ -50,7 +50,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
} }
@Override @Override
public void updateCuMemberGradeByPeriod(List<CuMemberGrade> cuMemberGradeList, Integer period) { public void updateCuMemberGradeByPeriod(Integer period) {
baseMapper.updateCuMemberGrade(period); baseMapper.updateCuMemberGrade(period);
} }

View File

@ -300,9 +300,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond); secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond);
cuMemberRetailRangeExtList.add(sourceMemberRangeExt); cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
// 查询期间的等级 // 查询期间的等级来源 cu_member_grade
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod); List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
// 查询最大的手动奖衔 // 查询最大的手动等级来源 cu_member_grade
List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList); List<CuMemberGrade> cuMemberGradeList1 = iCuMemberGradeService.queryCuMemberGradeByList(currentPeriod, memberRetailRangeExtList);
if (cuMemberGradeList1.size() > 0) { if (cuMemberGradeList1.size() > 0) {
Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>(); Map<Long, CuMemberGrade> memberGradeMap = new HashMap<>();
@ -340,9 +340,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
} }
} }
if (cuMemberGradeList.size() > 0) { if (cuMemberGradeList.size() > 0) {
// 删除等级 // 删除等级cu_member_grade
iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod); iCuMemberGradeService.deleteCuMemberGrade(cuMemberGradeList, currentPeriod);
// 批量更新会员等级 // 批量更新会员等级更新 cu_member
iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod); iCuMemberService.updateCuMemberMinGradeByList(cuMemberGradeList, currentPeriod);
} }
} }
@ -562,23 +562,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
// 盒数商品 计算 直推级差 + 平级收益 // 盒数商品 计算 直推级差 + 平级收益
cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt));
} }
}
// 计算完奖金算等级 // 订单存在升级记录
// if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() if (memberLevelMap.containsKey(saOrderExt.getPkId())) {
// || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId());
// // 订单存在升级记录 if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) {
if (memberLevelMap.containsKey(saOrderExt.getPkId())) { BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel());
CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) {
if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
sourceMemberRangeExt.setPkGrade(bdGrade.getPkId());
sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
sourceMemberRangeExt.setGradeName(bdGrade.getGradeName());
}
} }
} }
// }
} }
} }
@ -611,9 +607,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (cuMemberGradeList.size() > 0) { if (cuMemberGradeList.size() > 0) {
// 批量插入会员等级记录 // 批量插入会员等级记录
iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList); iCuMemberGradeService.insertCuMemberGrade(cuMemberGradeList);
// 更新会员表等级数据来源 cu_member_grade) // 更新会员表cu_member等级数据来源 cu_member_grade)
iCuMemberService.updateCuMemberGradeByPeriod(cuMemberGradeList, period); iCuMemberService.updateCuMemberGradeByPeriod(period);
// 更新会员表等级数据来源 cu_member_level) // 更新会员表cu_member等级数据来源 cu_member_level)
iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate); iCuMemberService.updateCuMemberLevel(settleStartDate, settleEndDate);
} }
// 更新网体 // 更新网体
@ -752,6 +748,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
if (null != memberRetailLevel) { if (null != memberRetailLevel) {
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) { if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade()); targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
targetMemberRangeExt.setGradeValue(memberRetailLevel.getGradeValue());
} }
} }
} }

View File

@ -307,15 +307,16 @@
<update id="updateCuMemberMinGradeByList"> <update id="updateCuMemberMinGradeByList">
merge into cu_member a merge into cu_member a
using ( using (
select pk_member, min(pk_grade) pk_grade from( select pk_member, min(pk_grade) pk_grade from (
<foreach item="item" index="index" collection="cuMemberGradeList" separator=" union "> <foreach item="item" index="index" collection="cuMemberGradeList" separator=" union ">
select #{item.pkMember} pk_member,#{item.newLevel} pk_grade from dual select #{item.pkMember} pk_member, #{item.newLevel} pk_grade from dual
</foreach>) </foreach>
)
group by pk_member group by pk_member
) b ) b
on (a.pk_id = b.pk_member) on (a.pk_id = b.pk_member)
when matched then when matched then
update set a.pk_settle_grade = b.pk_grade,a.modified_time = sysdate update set a.pk_settle_grade = b.pk_grade, a.modified_time = sysdate
</update> </update>
<update id="updateCuMemberLevel"> <update id="updateCuMemberLevel">