3
0
Fork 0

## 高级店主、董事代理撤单处理;

This commit is contained in:
cabbage 2025-08-21 10:33:44 +08:00
parent b376571da2
commit 6c1680b089
5 changed files with 52 additions and 41 deletions

View File

@ -607,12 +607,12 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
CuMember getShopkeeperMember(@Param("pkMember") Long pkMember, @Param("gradeValue") Integer gradeValue);
/**
* 查询高级店主
* 查询会员等级
*
* @param pkMember
* @return
*/
CuMember getGradeSvipMember(@Param("pkMember") Long pkMember);
CuMemberExt getGradeSvipMember(@Param("pkMember") Long pkMember, @Param("gradeValue") Integer gradeValue);
/**
* 查询会员直推大于博羚店主的注册升级订单查询会员直推大于博羚店主的注册升级订单
@ -621,7 +621,7 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
* @param orderCode
* @return
*/
SaOrder listRecommendVipOrder(@Param("pkMember") Long pkMember, @Param("orderCode") String orderCode);
SaOrder listRecommendVipOrder(@Param("pkMember") Long pkMember, @Param("orderCode") String orderCode, @Param("gradeValue") Integer gradeValue);
/**

View File

@ -876,12 +876,12 @@ public interface ICuMemberService extends IService<CuMember> {
CuMember getShopkeeperMember(Long pkMember, Integer gradeValue);
/**
* 查询高级店主
* 查询会员等级
*
* @param pkMember
* @return
*/
CuMember getGradeSvipMember(Long pkMember);
CuMemberExt getGradeSvipMember(Long pkMember, Integer gradeValue);
/**
* 查询会员直推大于博羚店主的注册升级订单查询会员直推大于博羚店主的注册升级订单
@ -890,6 +890,6 @@ public interface ICuMemberService extends IService<CuMember> {
* @param orderCode
* @return
*/
SaOrder listRecommendVipOrder(Long pkMember, String orderCode);
SaOrder listRecommendVipOrder(Long pkMember, String orderCode, Integer gradeValue);
}

View File

@ -1674,38 +1674,47 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
memberLevelQuery.eq(CuMemberLevel::getUpType, EUpgradeType.AUTO_UPGRADE.getValue());
CuMemberLevel parentLevel = iCuMemberLevelService.getOne(memberLevelQuery);
if (null != parentLevel) {
// 查询推荐人信息必须是高级店主
CuMember parentMember = iCuMemberService.getGradeSvipMember(parentLevel.getPkMember());
// 查询推荐人及等级信息
CuMemberExt parentMember = iCuMemberService.getGradeSvipMember(parentLevel.getPkMember(), null);
if (null != parentMember) {
// 推荐是高级店主查询直推博羚店主以上订单
SaOrder parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode());
if (null != parentOrder) {
// 存在其它博羚店主订单重新处理升级记录
CuMemberLevel parentNewLevel = BeanUtil.copyProperties(parentLevel, CuMemberLevel.class);
parentNewLevel.setPkId(null);
parentNewLevel.setPkOrder(parentOrder.getPkId());
parentNewLevel.setUpgradeTime(parentOrder.getPayTime());
parentNewLevel.setModifiedTime(parentOrder.getPayTime());
parentNewLevel.setPkModified(parentOrder.getPkMember());
iCuMemberLevelService.save(parentNewLevel);
} else {
// 不存在其它博羚店主订单会员需要降级处理
LambdaUpdateWrapper<CuMember> parentMemberUpdate = new LambdaUpdateWrapper<>();
parentMemberUpdate.eq(CuMember::getPkId, parentMember.getPkId());
parentMemberUpdate.set(CuMember::getPkSettleGrade, parentLevel.getOldLevel());
parentMemberUpdate.set(CuMember::getModifiedTime, currentDateTime);
iCuMemberService.update(parentMemberUpdate);
SaOrder parentOrder = null;
if (parentMember.getGradeValue() == EGrade.DIRECTOR.getValue()) {
// 推荐人是董事代理查询直推区域代理以上订单
parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode(), EGrade.REGION.getValue());
} else if (parentMember.getGradeValue() == EGrade.S_VIP.getValue()) {
// 推荐人是高级店主查询直推博羚店主以上订单
parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode(), EGrade.VIP.getValue());
}
// 删除原来升级记录
LambdaUpdateWrapper<CuMemberLevel> updateMemberLevel = new LambdaUpdateWrapper<>();
updateMemberLevel.eq(CuMemberLevel::getPkId, parentLevel.getPkId());
updateMemberLevel.set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue());
updateMemberLevel.set(CuMemberLevel::getModifiedTime, currentDateTime);
iCuMemberLevelService.update(updateMemberLevel);
this.handleParentLevelUpdate(parentOrder, parentLevel, parentMember, currentDateTime);
}
}
}
}
private void handleParentLevelUpdate(SaOrder parentOrder, CuMemberLevel parentLevel, CuMemberExt parentMember, Date currentDateTime) {
if (null != parentOrder) {
// 存在其它博羚店主订单重新处理升级记录
CuMemberLevel parentNewLevel = BeanUtil.copyProperties(parentLevel, CuMemberLevel.class);
parentNewLevel.setPkId(null);
parentNewLevel.setPkOrder(parentOrder.getPkId());
parentNewLevel.setUpgradeTime(parentOrder.getPayTime());
parentNewLevel.setModifiedTime(parentOrder.getPayTime());
parentNewLevel.setPkModified(parentOrder.getPkMember());
iCuMemberLevelService.save(parentNewLevel);
} else {
// 不存在其它博羚店主订单会员需要降级处理
LambdaUpdateWrapper<CuMember> parentMemberUpdate = new LambdaUpdateWrapper<>();
parentMemberUpdate.eq(CuMember::getPkId, parentMember.getPkId());
parentMemberUpdate.set(CuMember::getPkSettleGrade, parentLevel.getOldLevel());
parentMemberUpdate.set(CuMember::getModifiedTime, currentDateTime);
iCuMemberService.update(parentMemberUpdate);
}
// 删除原来升级记录
LambdaUpdateWrapper<CuMemberLevel> updateMemberLevel = new LambdaUpdateWrapper<>();
updateMemberLevel.eq(CuMemberLevel::getPkId, parentLevel.getPkId());
updateMemberLevel.set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue());
updateMemberLevel.set(CuMemberLevel::getModifiedTime, currentDateTime);
iCuMemberLevelService.update(updateMemberLevel);
}

View File

@ -3248,13 +3248,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
}
@Override
public CuMember getGradeSvipMember(Long pkMember) {
return baseMapper.getGradeSvipMember(pkMember);
public CuMemberExt getGradeSvipMember(Long pkMember, Integer gradeValue) {
return baseMapper.getGradeSvipMember(pkMember, gradeValue);
}
@Override
public SaOrder listRecommendVipOrder(Long pkMember, String orderCode) {
return baseMapper.listRecommendVipOrder(pkMember, orderCode);
public SaOrder listRecommendVipOrder(Long pkMember, String orderCode, Integer gradeValue) {
return baseMapper.listRecommendVipOrder(pkMember, orderCode, gradeValue);
}
}

View File

@ -2382,16 +2382,18 @@
and bg.grade_value = #{gradeValue}
</select>
<!-- 查询高级店主 -->
<select id="getGradeSvipMember" resultType="com.hzs.common.domain.member.base.CuMember">
select cm.*
<!-- 查询会员等级 -->
<select id="getGradeSvipMember" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.*, bg.grade_value gradeValue
from cu_member cm
left join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
where cm.del_flag = 0
and cm.category = 0
and cm.pk_id = #{pkMember}
and bg.grade_value = 70
<!--
and bg.grade_value = #{gradeValue}
-->
</select>
<!-- 查询会员直推大于博羚店主的注册、升级订单 -->
@ -2416,7 +2418,7 @@
<if test="orderCode != null and orderCode != ''">
and so.order_code != #{orderCode}
</if>
and bg.grade_value >= 60) so
and bg.grade_value >= #{gradeValue}) so
where rownum = 1
</select>
<select id="getMemberCountWithGradeAndParent" resultType="java.lang.Integer">