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)) {