From d299b388904f94c4c5d5c46648c8c03f5edce7d2 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 21 Aug 2025 10:33:44 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=AB=98=E7=BA=A7=E5=BA=97=E4=B8=BB?= =?UTF-8?q?=E3=80=81=E8=91=A3=E4=BA=8B=E4=BB=A3=E7=90=86=E6=92=A4=E5=8D=95?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/base/mapper/CuMemberMapper.java | 6 +- .../member/base/service/ICuMemberService.java | 6 +- .../impl/CuMemberBusinessServiceImpl.java | 61 +++++++++++-------- .../service/impl/CuMemberServiceImpl.java | 8 +-- .../mapper/member/base/CuMemberMapper.xml | 12 ++-- 5 files changed, 52 insertions(+), 41 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index b707c32d..8db2214b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -608,12 +608,12 @@ public interface CuMemberMapper extends BaseMapper { 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); /** * 查询会员直推大于博羚店主的注册、升级订单查询会员直推大于博羚店主的注册、升级订单 @@ -622,7 +622,7 @@ public interface CuMemberMapper extends BaseMapper { * @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); /** diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index a35abb6a..0775239d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -878,12 +878,12 @@ public interface ICuMemberService extends IService { CuMember getShopkeeperMember(Long pkMember, Integer gradeValue); /** - * 查询高级店主 + * 查询会员等级 * * @param pkMember * @return */ - CuMember getGradeSvipMember(Long pkMember); + CuMemberExt getGradeSvipMember(Long pkMember, Integer gradeValue); /** * 查询会员直推大于博羚店主的注册、升级订单查询会员直推大于博羚店主的注册、升级订单 @@ -892,7 +892,7 @@ public interface ICuMemberService extends IService { * @param orderCode * @return */ - SaOrder listRecommendVipOrder(Long pkMember, String orderCode); + SaOrder listRecommendVipOrder(Long pkMember, String orderCode, Integer gradeValue); /** * 查询汇总 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 27edfd3a..6cfbdd17 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -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 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 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 parentMemberUpdate = new LambdaUpdateWrapper<>(); + parentMemberUpdate.eq(CuMember::getPkId, parentMember.getPkId()); + parentMemberUpdate.set(CuMember::getPkSettleGrade, parentLevel.getOldLevel()); + parentMemberUpdate.set(CuMember::getModifiedTime, currentDateTime); + iCuMemberService.update(parentMemberUpdate); + } + // 删除原来升级记录 + LambdaUpdateWrapper updateMemberLevel = new LambdaUpdateWrapper<>(); + updateMemberLevel.eq(CuMemberLevel::getPkId, parentLevel.getPkId()); + updateMemberLevel.set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue()); + updateMemberLevel.set(CuMemberLevel::getModifiedTime, currentDateTime); + iCuMemberLevelService.update(updateMemberLevel); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 864319b3..9070417d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -3250,13 +3250,13 @@ public class CuMemberServiceImpl extends ServiceImpl 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); } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index fb54ee60..22a176b9 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -2382,16 +2382,18 @@ and bg.grade_value = #{gradeValue} - - + 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 + @@ -2416,7 +2418,7 @@ and so.order_code != #{orderCode} - and bg.grade_value >= 60) so + and bg.grade_value >= #{gradeValue}) so where rownum = 1