## 秒结兼容多送2级处理问题;

This commit is contained in:
cabbage 2025-07-04 18:29:00 +08:00
parent 3eae83f56b
commit 8eb6ee8586
5 changed files with 49 additions and 3 deletions

View File

@ -622,7 +622,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
/**
* 计算团队极差奖衔
* 计算团队等级奖衔 -- 秒结日结
*/
public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
@ -744,6 +744,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
}
}
}
if (null != secondRangeTableName) {
if (targetMemberRangeExt.getPkMember().equals(saOrderExt.getPkMember())) {
// new 兼容购买等级多送2级的问题秒结处理V4 V5方式不一样会出现秒结等级和实际等级不匹配
CuMemberRetailRangeExt memberRetailLevel = iCuMemberGradeService.getMemberLevel(saOrderExt.getPkMember(), saOrderExt.getPkId());
if (null != memberRetailLevel) {
if (memberRetailLevel.getGradeValue() > targetMemberRangeExt.getGradeValue()) {
targetMemberRangeExt.setPkGrade(memberRetailLevel.getPkGrade());
}
}
}
}
// 计算当月奖衔
while (true) {
// 当月奖衔值 + 5获取下一个奖衔值

View File

@ -39,6 +39,15 @@ public interface CuMemberGradeMapper extends BaseMapper<CuMemberGrade> {
*/
void updateCuMemberGradeLevel(@Param("rangeTableName") String rangeTableName, @Param("pkOrder") Long pkOrder);
/**
* 查询订单升级记录
*
* @param pkMember
* @param pkOrder
* @return
*/
CuMemberRetailRangeExt getMemberLevel(@Param("pkMember") Long pkMember, @Param("pkOrder") Long pkOrder);
/**
* 删除等级
*/

View File

@ -36,6 +36,15 @@ public interface ICuMemberGradeService extends IService<CuMemberGrade> {
*/
void updateCuMemberGrade(String rangeTableName, Long pkOrder);
/**
* 查询订单升级记录
*
* @param pkMember
* @param pkOrder
* @return
*/
CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder);
/**
* 插入会员等级升级记录
*/

View File

@ -7,7 +7,6 @@ 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@ -42,7 +41,11 @@ public class CuMemberGradeServiceImpl extends ServiceImpl<CuMemberGradeMapper, C
}
@Override
@Transactional(rollbackFor = Exception.class)
public CuMemberRetailRangeExt getMemberLevel(Long pkMember, Long pkOrder) {
return baseMapper.getMemberLevel(pkMember, pkOrder);
}
@Override
public void insertCuMemberGrade(List<CuMemberGrade> cuMemberGradeList) {
saveBatch(cuMemberGradeList);
}

View File

@ -85,6 +85,18 @@
a.pk_grade = b.pk_grade
</update>
<!-- 查询订单升级记录 -->
<select id="getMemberLevel" resultType="com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt">
select cml.pk_member, bg.pk_id pk_grade, bg.grade_value
from cu_member_level cml
left join bd_grade bg
on bg.pk_id = cml.new_level
where cml.del_flag = 0
and cml.up_type = 4
and cml.pk_member = #{pkMember}
and cml.pk_order = #{pkOrder}
</select>
<!-- 删除等级 -->
<delete id="deleteCuMemberGrade">
update cu_member_grade