From c5c48803950dd0fd788cb08ccc54443f12b2e8c9 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 9 Oct 2025 11:31:53 +0800 Subject: [PATCH] =?UTF-8?q?##=20Opt=20-=20=E5=90=8E=E5=8F=B0=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=94=B6=E7=9B=8A=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/CuMemberRegionController.java | 2 +- .../member/base/service/ICuMemberService.java | 2 + .../service/impl/CuMemberServiceImpl.java | 68 +++++++++++++++++++ 3 files changed, 71 insertions(+), 1 deletion(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java index fbee542e..8b9e133b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberRegionController.java @@ -127,7 +127,7 @@ public class CuMemberRegionController extends BaseController { @Log(module = EOperationModule.CU_MEMBER_RETAIL_REGION, business = EOperationBusiness.CU_MEMBER_RETAIL_REGION, method = EOperationMethod.INSERT) @PostMapping("/save") public AjaxResult save(@RequestBody @Valid MemberRegionParam mrrExt) { - return iCuMemberService.setRegion(mrrExt); + return iCuMemberService.setRegionForBack(mrrExt); } 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 eb256a24..2b395017 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 @@ -1011,6 +1011,8 @@ public interface ICuMemberService extends IService { BigDecimal getSmallPV(Long userId); AjaxResult setRegion(MemberRegionParam param); + AjaxResult setRegionForBack(MemberRegionParam param); + CheckRegionVO getRegionForBack(MemberRegionParam param); /** 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 5aca41c6..daa90034 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 @@ -3528,6 +3528,74 @@ public class CuMemberServiceImpl extends ServiceImpl i return AjaxResult.error(str); } + @Override + public AjaxResult setRegionForBack(MemberRegionParam param) { + Long userId = param.getPkMember(); + Integer systemType = SecurityUtils.getSystemType(); + param.setSystemType(systemType); + Integer pkCountry = SecurityUtils.getPkCountry(); + CheckRegionVO checkRegionVO = this.getRegionForBack(param); + BdArea province = iAreaServiceApi.getArea(param.getProvince()).getData(); + CuMemberRegionExt cuMemberRegionExt = iCuMemberRegionService.getRegionByMember(userId, param.getType()); + if(ObjectUtil.isNotEmpty(cuMemberRegionExt)){ + return AjaxResult.error("已选择区域, 不允许重复添加!"); + } + if (null == province) { + return AjaxResult.error("选择区域省不存在,请重新选择"); + } + if (param.getType() == 1 && checkRegionVO.isProvince()) { + param.setCity(0); + param.setCounty(0); + } else if (param.getType() == 2 && checkRegionVO.isCity()) { + // 校验市是否存在 + if (!param.getCity().equals(0)) { + BdArea city = iAreaServiceApi.getArea(param.getCity()).getData(); + if (null == city) { + return AjaxResult.error("选择区域市不存在,请重新选择"); + } + } + param.setCounty(0); + } else if (param.getType() == 3 && checkRegionVO.isCounty()) { + // 校验区是否存在 + if (!param.getCounty().equals(0)) { + BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData(); + if (null == county) { + return AjaxResult.error("选择区域区不存在,请重新选择"); + } + } + } + if (ObjectUtil.isNotEmpty(cuMemberRegionExt)) { + param.setPkId(cuMemberRegionExt.getPkId()); + } + param.setPkMember(userId); + param.setPkCountry(pkCountry); + param.setSource(ENoticeWebsiteType.MEMBER.getValue()); + param.setSystemType(systemType); + + String str = iCuMemberRegionService.setRegion(param); + if (null == str) { + return AjaxResult.success(); + } + return AjaxResult.error(str); + } + + @Override + public CheckRegionVO getRegionForBack(MemberRegionParam param) { + CheckRegionVO checkRegionVO = new CheckRegionVO(); + checkRegionVO.setData(new CheckRegionVO.CheckRegionWrapper()); + Long userId = param.getPkMember(); + CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.PROVINCE.getValue()); + checkRegionVO.setProvince(true); + checkRegionVO.getData().setProvinceData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.CITY.getValue()); + checkRegionVO.setCity(true); + checkRegionVO.getData().setCityData(regionDetail); + regionDetail = baseMapper.getSelectRegionDetail(userId, EAreaType.COUNTY.getValue()); + checkRegionVO.setCounty(true); + checkRegionVO.getData().setCountyData(regionDetail); + return checkRegionVO; + } + public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) { int smallFlag = 1; // left-1, right-2 if (ObjectUtil.isNotEmpty(todayData)) {