## 等级处理改为逻辑删除;

This commit is contained in:
cabbage 2025-06-16 10:09:45 +08:00
parent 174452f2c4
commit 12d1f724c9
4 changed files with 47 additions and 15 deletions

View File

@ -1,13 +1,11 @@
package com.hzs.bonus.detail.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.base.service.ICuMemberService;
import com.hzs.bonus.detail.mapper.CuMemberGradeMapper;
import com.hzs.bonus.detail.service.ICuMemberGradeService;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.detail.CuMemberGrade;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -22,7 +20,7 @@ public class CuMemberGradeServiceImpl extends ServiceImpl<CuMemberGradeMapper, C
@Override
public List<CuMemberLevel> calculateCuMemberRetailGradeInit(Integer period, Date startDate, Date endDate, String rangeTableName) {
// 更新奖衔回退奖衔
// 更新奖衔回退等级
baseMapper.deleteCuMemberGrade(period);
baseMapper.updateCuMemberGrade(rangeTableName, period);
return baseMapper.queryCuMemberLevel(startDate, endDate);

View File

@ -300,14 +300,14 @@
a.pk_settle_country,
a.pk_share_awards,
a.enable_status,
consume_box_num,
new_box_num,
team_box_num,
consume_box_num,
month_box_num,
team_new_box_num,
new_consume_pv,
consume_pv,
month_consume_pv,
new_consume_pv,
team_box_num,
team_new_box_num,
team_consume_amount,
team_consume_pv,
team_month_amount,

View File

@ -85,28 +85,57 @@
a.pk_grade = b.pk_grade
</update>
<!-- 删除等级 -->
<delete id="deleteCuMemberGrade">
update cu_member_grade
set del_flag = 1,
modified_time = sysdate
where period = #{period}
and del_flag = 0
and up_type = 1
<!--
delete
from cu_member_grade
where period = #{period}
and del_flag = 0
and up_type = 1
-->
</delete>
<!-- 删除等级升级记录 -->
<delete id="deleteCuMemberGradeByList">
delete from cu_member_grade where period = #{period} and del_flag=0 and up_type=1
update cu_member_grade
set del_flag = 1,
modified_time = sysdate
where period = #{period}
and del_flag = 0
and up_type = 1
and pk_id in
<foreach collection="cuMemberGradeList" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
<!--
delete from cu_member_grade
where period = #{period} and del_flag=0 and up_type=1
and pk_id in
<foreach collection="cuMemberGradeList" item="item" open="(" close=")" separator=",">
#{item.pkId}
</foreach>
-->
</delete>
<select id="queryCuMemberGrade" resultMap="CuMemberGrade">
select cg.* from cu_member_grade cg
inner join bd_grade bg
on cg.new_level=bg.pk_id
where bg.del_flag=0 and cg.del_flag=0 and bg.grade_value>=60
and cg.up_type=1 and cg.period=#{period} and cg.pk_member in
where bg.del_flag = 0
and cg.del_flag = 0
and bg.grade_value >= 60
and cg.up_type = 1
and cg.period = #{period}
and cg.pk_member in
<foreach collection="cuMemberRetailRangeExtList" item="item" open="(" close=")" separator=",">
#{item.pkMember}
</foreach>
@ -125,8 +154,11 @@
<select id="queryCuMemberGradeByList" resultType="com.hzs.common.domain.member.detail.CuMemberGrade">
select a.* from cu_member_grade a
inner join(
select pk_member,max(nvl(modified_time,creation_time)) creation_time from cu_member_grade
where period &lt;= #{period} and del_flag=0 and up_type=2
select pk_member, max(nvl(modified_time,creation_time)) creation_time
from cu_member_grade
where period &lt;= #{period}
and del_flag = 0
and up_type = 2
group by pk_member) b
on a.pk_member = b.pk_member and nvl(a.modified_time,a.creation_time) = b.creation_time
and a.pk_member in

View File

@ -23,14 +23,16 @@
<!-- 查询最新升级记录 -->
<select id="getLastUpgrade" resultMap="CuMemberLevel">
select *
from (select *
from (
select *
from CU_MEMBER_LEVEL cml
where cml.del_flag = 0
<if test="pkOrder != null">
and (cml.pk_order != #{pkOrder} or cml.pk_order is null )
</if>
and cml.pk_member = #{pkMember}
order by cml.upgrade_time desc) t
order by cml.upgrade_time desc
) t
where rownum = 1
</select>