diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index 4ba53ee8..b0b58ee1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -106,7 +106,7 @@ public class MemberServiceProvider implements IMemberServiceApi { if (iCuMemberBusinessService.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, saOrderMap, businessCommissionDTO)) { return R.ok(); } - return R.fail("会员信息处理失败"); + return R.fail("合并撤单会员信息处理失败"); } catch (Exception e) { log.error("mergeRevokeMemberByRegisterOrder error msg:{}", e.getMessage(), e); return R.fail(e.getMessage()); @@ -116,10 +116,13 @@ public class MemberServiceProvider implements IMemberServiceApi { @Override public R normalRevokeOrder(Long pkApprove, SaOrderExt saOrder, CuMember cuMember, BusinessCommissionDTO businessCommissionDTO) { try { - return R.ok(iCuMemberBusinessService.normalRevokeOrder(pkApprove, saOrder, cuMember, businessCommissionDTO)); + if (iCuMemberBusinessService.normalRevokeOrder(pkApprove, saOrder, cuMember, businessCommissionDTO)) { + return R.ok(); + } + return R.fail("其它撤单会员信息处理失败"); } catch (Exception e) { log.error("normalRevokeOrder error msg: {}", e.getMessage(), e); - return R.ok(false); + return R.fail(e.getMessage()); } } 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 6cfbdd17..e17927cf 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 @@ -853,6 +853,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { SaOrderExt saOrder = saOrderMap.get(pkMember); // 删除等级 iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime); + // 删除会员区域 + iCuMemberRetailRegionService.update(Wrappers.lambdaUpdate() + .eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember()) + .set(CuMemberRetailRegion::getDelFlag, EDelFlag.DELETE.getValue()) + .set(CuMemberRetailRegion::getModifiedTime, currentDateTime) + ); // 回退奖衔,根据订单从 cu_member_awards查询 iCuMemberAwardsService.deleteCuMemberAwards(saOrder.getPkId(), pkApprove, currentDateTime); iCuMemberService.deleteCuMemberByPkMember(pkMember, pkApprove, currentDateTime); @@ -899,12 +905,26 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { // 升级订单 // 回退等级 iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime); - // 删除会员区域 - iCuMemberRetailRegionService.update(Wrappers.lambdaUpdate() - .eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember()) - .set(CuMemberRetailRegion::getDelFlag, EDelFlag.DELETE.getValue()) - .set(CuMemberRetailRegion::getModifiedTime, currentDateTime) - ); + // 如果会员等级非代理,则需要删除会员区域 + GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); + if (gradeDTO.getGradeValue() != EGrade.REGION.getValue() + && gradeDTO.getGradeValue() != EGrade.DIRECTOR.getValue()) { + // 删除会员区域选择 + iCuMemberRetailRegionService.update(Wrappers.lambdaUpdate() + .eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember()) + .eq(CuMemberRetailRegion::getBusinessType, 1) + .set(CuMemberRetailRegion::getDelFlag, EDelFlag.DELETE.getValue()) + .set(CuMemberRetailRegion::getModifiedTime, currentDateTime) + ); + // 更新会员配送中心为失效 + iCuMemberRetailRegionService.update(Wrappers.lambdaUpdate() + .eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember()) + .eq(CuMemberRetailRegion::getBusinessType, 2) + .set(CuMemberRetailRegion::getEffective, EYesNo.NO.getIntValue()) + .set(CuMemberRetailRegion::getEffectiveEndDate, DateUtils.getEndTime(null)) + .set(CuMemberRetailRegion::getModifiedTime, currentDateTime) + ); + } } // 更新会员标记,如果是则更新会员信息 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 25a3aee0..92ab013e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -2119,8 +2119,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl // iSaOrderWaresLimitService.updateCancelOrder(saOrderExt.getPkId(), saOrderExt.getPkMember(), saOrderExt.getModifiedTime(), boxProductList); // } - if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO).getData()) { - throw new ServiceException("撤单处理会员失败"); + R tmpR = iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO); + if (!tmpR.isSuccess()) { + throw new ServiceException("撤单失败 " + tmpR.getMsg()); } }