From b5b8132a7e6cb8b963aa3d1c2f227ef5e87208d6 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 10 Jul 2025 11:10:33 +0800 Subject: [PATCH 1/5] =?UTF-8?q?##=20Feat=20-=20=E5=A2=9E=E5=8A=A0=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/controller/manage/CuMemberController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java index c539e172..aebc1300 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/CuMemberController.java @@ -1058,6 +1058,8 @@ public class CuMemberController extends BaseController { if (cuMember == null) { return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS)); } + GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); + cuMember.setPkSettleGradeValue(gradeDTO.getGradeValue()); return AjaxResult.success(BeanUtil.copyProperties(cuMember, CuMemberExt.class)); } } From a19b8dbdbb73cbc0191bad138dc84bdf0528705b Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 10 Jul 2025 11:18:52 +0800 Subject: [PATCH 2/5] =?UTF-8?q?##=20Opt=20-=20=E6=95=B0=E6=8D=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/2025年7月10日_收益区域_市级可空.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/2025年7月10日_收益区域_市级可空.sql diff --git a/sql/2025年7月10日_收益区域_市级可空.sql b/sql/2025年7月10日_收益区域_市级可空.sql new file mode 100644 index 00000000..15b4caec --- /dev/null +++ b/sql/2025年7月10日_收益区域_市级可空.sql @@ -0,0 +1,2 @@ +ALTER TABLE "CU_MEMBER_RETAIL_REGION" + MODIFY ("COUNTY" NULL) From 12e56687f0311f02bc59a08a45e218b731c267e6 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 10 Jul 2025 13:53:03 +0800 Subject: [PATCH 3/5] =?UTF-8?q?##=20Feat=20-=20=E6=94=B6=E7=9B=8A=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/RetailMemberController.java | 10 +++++ .../mapper/CuMemberRetailRegionMapper.java | 2 + .../service/ICuMemberRetailRegionService.java | 7 +++ .../impl/CuMemberRetailRegionServiceImpl.java | 25 +++++++++++ .../member/CuMemberRetailRegionMapper.xml | 44 +++++++++++++++++++ .../RetailRegionTreeQueryConstants.java | 17 +++++++ 6 files changed, 105 insertions(+) create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailRegionTreeQueryConstants.java diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java index 748e53fa..2c2712f2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java @@ -9,6 +9,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.common.core.annotation.RepeatSubmitSimple; +import com.hzs.common.core.constant.RetailRegionTreeQueryConstants; import com.hzs.common.core.constant.SysConstants; import com.hzs.common.core.constant.msg.AreaConstants; import com.hzs.common.core.enums.EGrade; @@ -75,6 +76,15 @@ public class RetailMemberController extends BaseController { } return AjaxResult.success(retailMemberInfoVO); } + @GetMapping("/test") + public AjaxResult test() { + List> test1 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.CITY); + List> test2 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.COUNTY); + log.info("test1: {}", test1); + log.info("test2: {}", test2); + return AjaxResult.success(); + } + // /** // * 获取会员收益区域 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRegionMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRegionMapper.java index 40362621..7e2350a7 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRegionMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/mapper/CuMemberRetailRegionMapper.java @@ -99,4 +99,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java index 16e6bfc2..cc4c3306 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java @@ -1,5 +1,6 @@ package com.hzs.retail.member.service; +import cn.hutool.core.lang.tree.Tree; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.retail.member.CuMemberRetailRegion; import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt; @@ -84,4 +85,10 @@ public interface ICuMemberRetailRegionService extends IService> getRegionTreeList(String queryType); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java index 21489c9f..e70e8403 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java @@ -1,15 +1,20 @@ package com.hzs.retail.member.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.tree.Tree; +import cn.hutool.core.lang.tree.TreeNodeConfig; +import cn.hutool.core.lang.tree.TreeUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.*; import com.hzs.common.core.enums.*; import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.service.RedisService; +import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.retail.member.CuMemberRetailRegion; import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt; import com.hzs.common.domain.system.base.BdArea; +import com.hzs.common.security.utils.SecurityUtils; import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper; import com.hzs.retail.member.param.RetailMemberRegionParam; import com.hzs.retail.member.service.ICuMemberRetailAchieveService; @@ -20,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.Date; import java.util.List; @@ -204,4 +210,23 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl> getRegionTreeList(String queryType) { + List areaList = baseMapper.getRegionTreeList(queryType, SecurityUtils.getUserId()); + if (CollectionUtil.isEmpty(areaList)) { + return null; + } + TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); + treeNodeConfig.setDeep(3); + if(RetailRegionTreeQueryConstants.CITY.equals(queryType)){ + treeNodeConfig.setDeep(2); + } + return TreeUtil.build(areaList, "0", treeNodeConfig, + (treeNode, tree) -> { + tree.setId(treeNode.getPkId().toString()); + tree.setParentId(treeNode.getParent().toString()); + tree.setName(treeNode.getName()); + }); + } + } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailRegionMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailRegionMapper.xml index 4dd286d4..a9902db3 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailRegionMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/retail/member/CuMemberRetailRegionMapper.xml @@ -239,6 +239,50 @@ group by cmrr.province, cmrr.city, cmrr.county having count(1) > 1 + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailRegionTreeQueryConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailRegionTreeQueryConstants.java new file mode 100644 index 00000000..9a4736a5 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailRegionTreeQueryConstants.java @@ -0,0 +1,17 @@ +package com.hzs.common.core.constant; + +/** + * 用户绑定收益区域查询类型常量 + */ +public class RetailRegionTreeQueryConstants { + + /** + * 市级 + */ + public static final String CITY = "city"; + /** + * 区级 + */ + public static final String COUNTY = "county"; + +} From 9b65d2bc58e318bf5420b3bb7a87d6325fdd2b93 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 10 Jul 2025 13:53:22 +0800 Subject: [PATCH 4/5] =?UTF-8?q?##=20Feat=20-=20=E6=94=B6=E7=9B=8A=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/RetailMemberController.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java index 2c2712f2..228540a8 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java @@ -76,14 +76,14 @@ public class RetailMemberController extends BaseController { } return AjaxResult.success(retailMemberInfoVO); } - @GetMapping("/test") - public AjaxResult test() { - List> test1 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.CITY); - List> test2 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.COUNTY); - log.info("test1: {}", test1); - log.info("test2: {}", test2); - return AjaxResult.success(); - } +// @GetMapping("/test") +// public AjaxResult test() { +// List> test1 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.CITY); +// List> test2 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.COUNTY); +// log.info("test1: {}", test1); +// log.info("test2: {}", test2); +// return AjaxResult.success(); +// } // /** From 43fd4cb92bcaae10c6d6167a570b7012275cc068 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 10 Jul 2025 16:31:10 +0800 Subject: [PATCH 5/5] =?UTF-8?q?##=20Feat=20-=20=E8=AE=BE=E7=BD=AE=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CuHandleBusinessServiceImpl.java | 41 +++++++++++++------ .../CuMemberRetailRegionController.java | 4 ++ .../member/param/RetailMemberRegionParam.java | 2 +- .../mapper/member/base/CuMemberMapper.xml | 2 +- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java index 3692cef8..db949508 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/handlebusiness/service/impl/CuHandleBusinessServiceImpl.java @@ -22,6 +22,7 @@ import com.hzs.common.domain.member.detail.CuMemberLevel; import com.hzs.common.domain.member.detail.CuMemberServiceLog; import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.handleBusiness.CuHandleBusiness; +import com.hzs.common.domain.retail.member.CuMemberRetailRegion; import com.hzs.common.domain.system.base.BdCountry; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.security.utils.SecurityUtils; @@ -40,6 +41,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import com.hzs.member.handlebusiness.vo.BusinessTypeValueVO; import com.hzs.member.handlebusiness.vo.HandleBusinessShowVO; import com.hzs.member.handlebusiness.vo.HandleBusinessVO; +import com.hzs.retail.member.service.ICuMemberRetailRegionService; import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.IGradeServiceApi; @@ -93,6 +95,8 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl 0) { - throw new ServiceException("已存在结算等级为公司的用户,不允许重复添加!"); - } - } else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) { - // 2025年6月20日 新等级 分公司验省唯一 - int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember()); - if (count > 0) { - throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!"); - } - } +// if (EGrade.COMPANY.getValue() == gradesMap.get(updateGradeId).getGradeValue()) { +// // 2025年6月20日 新等级 公司验全唯一 +// int count = cuMemberService.validateCompanyCount(); +// if (count > 0) { +// throw new ServiceException("已存在结算等级为公司的用户,不允许重复添加!"); +// } +// } else if (EGrade.S_VIP.getValue() == gradesMap.get(updateGradeId).getGradeValue()) { +// // 2025年6月20日 新等级 分公司验省唯一 +// int count = cuMemberService.validateBranchOfficeCount(businessMemberVO.getAreaId(), businessMemberVO.getPkMember()); +// if (count > 0) { +// throw new ServiceException("已存在结算绑定省的分公司用户,不允许重复添加!"); +// } +// } // 记录升级历史 cuMemberLevel = CuMemberLevel.builder() .pkMember(businessMemberVO.getPkMember()) @@ -773,6 +777,17 @@ public class CuHandleBusinessServiceImpl extends ServiceImpl delWrapper = new LambdaQueryWrapper<>(); + delWrapper.eq(CuMemberRetailRegion::getPkMember, businessMemberVO.getPkMember()); + cuMemberRetailRegionService.remove(delWrapper); + } cuMemberLevel.setPkCountry(handleBusinessVO.getPkCountry()); cuMemberLevel.setPkCreator(loginUser.getUserId()); cuMemberLevelList.add(cuMemberLevel); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/CuMemberRetailRegionController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/CuMemberRetailRegionController.java index 385b91f0..5cbe2cc2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/CuMemberRetailRegionController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/manage/CuMemberRetailRegionController.java @@ -1,6 +1,7 @@ package com.hzs.retail.member.controller.manage; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.common.core.annotation.Log; @@ -152,6 +153,9 @@ public class CuMemberRetailRegionController extends BaseController { return AjaxResult.error(ConfigMsgConstants.MEMBER_RETAIL_REGION_REPEAT); } // 校验区域是否被占用 + if(ObjectUtil.isEmpty(mrrExt.getCounty())){ + mrrExt.setCounty(-1); + } int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.lambdaQuery() .eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince()) .eq(CuMemberRetailRegion::getCity, mrrExt.getCity()) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/RetailMemberRegionParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/RetailMemberRegionParam.java index a4b04788..3af37f76 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/RetailMemberRegionParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/RetailMemberRegionParam.java @@ -30,7 +30,7 @@ public class RetailMemberRegionParam implements Serializable { /** * 县 */ - @NotNull(message = "请选择收益区域") +// @NotNull(message = "请选择收益区域") private Integer county; /** 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 c8257b3a..b9d2940f 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 @@ -856,7 +856,7 @@ - pk_settle_grade = #{value}, pk_area_id = #{businessMemberList[${index}].areaId} + pk_settle_grade = #{value}