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); CuMember getShopkeeperMember(@Param("pkMember") Long pkMember, @Param("gradeValue") Integer gradeValue);
/** /**
* 查询高级店主 * 查询会员等级
* *
* @param pkMember * @param pkMember
* @return * @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 * @param orderCode
* @return * @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); CuMember getShopkeeperMember(Long pkMember, Integer gradeValue);
/** /**
* 查询高级店主 * 查询会员等级
* *
* @param pkMember * @param pkMember
* @return * @return
*/ */
CuMember getGradeSvipMember(Long pkMember); CuMemberExt getGradeSvipMember(Long pkMember, Integer gradeValue);
/** /**
* 查询会员直推大于博羚店主的注册升级订单查询会员直推大于博羚店主的注册升级订单 * 查询会员直推大于博羚店主的注册升级订单查询会员直推大于博羚店主的注册升级订单
@ -890,6 +890,6 @@ public interface ICuMemberService extends IService<CuMember> {
* @param orderCode * @param orderCode
* @return * @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()); memberLevelQuery.eq(CuMemberLevel::getUpType, EUpgradeType.AUTO_UPGRADE.getValue());
CuMemberLevel parentLevel = iCuMemberLevelService.getOne(memberLevelQuery); CuMemberLevel parentLevel = iCuMemberLevelService.getOne(memberLevelQuery);
if (null != parentLevel) { if (null != parentLevel) {
// 查询推荐人信息必须是高级店主 // 查询推荐人及等级信息
CuMember parentMember = iCuMemberService.getGradeSvipMember(parentLevel.getPkMember()); CuMemberExt parentMember = iCuMemberService.getGradeSvipMember(parentLevel.getPkMember(), null);
if (null != parentMember) { if (null != parentMember) {
// 推荐是高级店主查询直推博羚店主以上订单 SaOrder parentOrder = null;
SaOrder parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode()); if (parentMember.getGradeValue() == EGrade.DIRECTOR.getValue()) {
if (null != parentOrder) { // 推荐人是董事代理查询直推区域代理以上订单
// 存在其它博羚店主订单重新处理升级记录 parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode(), EGrade.REGION.getValue());
CuMemberLevel parentNewLevel = BeanUtil.copyProperties(parentLevel, CuMemberLevel.class); } else if (parentMember.getGradeValue() == EGrade.S_VIP.getValue()) {
parentNewLevel.setPkId(null); // 推荐人是高级店主查询直推博羚店主以上订单
parentNewLevel.setPkOrder(parentOrder.getPkId()); parentOrder = iCuMemberService.listRecommendVipOrder(parentMember.getPkId(), saOrder.getOrderCode(), EGrade.VIP.getValue());
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);
} }
// 删除原来升级记录 this.handleParentLevelUpdate(parentOrder, parentLevel, parentMember, currentDateTime);
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);
} }
} }
} }
}
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 @Override
public CuMember getGradeSvipMember(Long pkMember) { public CuMemberExt getGradeSvipMember(Long pkMember, Integer gradeValue) {
return baseMapper.getGradeSvipMember(pkMember); return baseMapper.getGradeSvipMember(pkMember, gradeValue);
} }
@Override @Override
public SaOrder listRecommendVipOrder(Long pkMember, String orderCode) { public SaOrder listRecommendVipOrder(Long pkMember, String orderCode, Integer gradeValue) {
return baseMapper.listRecommendVipOrder(pkMember, orderCode); return baseMapper.listRecommendVipOrder(pkMember, orderCode, gradeValue);
} }
} }

View File

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