From 72ca3e6a34fdcd28a83de9b3e20b0d13a94dfc47 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Mon, 30 Jun 2025 10:27:44 +0800 Subject: [PATCH] =?UTF-8?q?##=20Feat=20-=20=E9=80=89=E6=8B=A9=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E5=A2=9E=E5=8A=A0=E5=B0=8F=E5=8C=BA10W=E9=AA=8C?= =?UTF-8?q?=E8=AF=81&=E6=8C=89=E4=BD=93=E7=B3=BB=E5=88=86=E7=BB=84?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/RetailMemberController.java | 44 ++++++---- .../CuMemberRetailRegionController.java | 33 +++---- .../mapper/CuMemberRetailRegionMapper.java | 8 +- .../service/ICuMemberRetailRegionService.java | 6 ++ .../impl/CuMemberRetailRegionServiceImpl.java | 19 +++- .../member/CuMemberRetailRegionMapper.xml | 86 ++++++++++++++++++- .../manage/BdRegionVertexController.java | 8 -- .../impl/BdRegionVertexServiceImpl.java | 15 ++-- .../com/hzs/system/config/vo/VertexVo.java | 3 + .../common/core/constant/SysConstants.java | 5 ++ .../retail/member/CuMemberRetailRegion.java | 2 + .../domain/system/base/BdRegionVertex.java | 3 +- sql/2025年6月25日_区域体系分组配置.sql | 5 ++ 13 files changed, 184 insertions(+), 53 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 3d72bc7a..aad87a29 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 @@ -115,7 +115,10 @@ public class RetailMemberController extends BaseController { CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType); log.info("retailAchieve : {}", JSONUtil.toJsonStr(retailAchieve)); if(ObjectUtil.isNotEmpty(retailAchieve.getArealPv()) - && retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){ + && retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0 + && retailAchieve.getSmallAreaPv().compareTo(SysConstants.SMALL_AREA_PV) >=0 + ){ + return AjaxResult.success(RetailMemberRegionVO.builder() .regionStatus(EYesNo.YES.getIntValue()) .build()); @@ -173,7 +176,9 @@ public class RetailMemberController extends BaseController { } if(EYesNo.YES.getIntValue() == cuMemberRetailRegionExt.getIsActivate()){ CuMemberRetailAchieveVO retailAchieve = iCuMemberRetailAchieveService.selectMemberSumAchieve(userId, pkCountry, systemType); - if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0){ + if(retailAchieve.getArealPv().compareTo(SysConstants.TOTAL_AREA_PV) >= 0 + && retailAchieve.getSmallAreaPv().compareTo(SysConstants.SMALL_AREA_PV) >=0 + ){ canSet = true; } } @@ -220,22 +225,25 @@ public class RetailMemberController extends BaseController { } // 校验区域是否被占用 - CuMemberRetailRegion cuMemberRetailRegion = iCuMemberRetailRegionService.getOne(Wrappers.lambdaQuery() - .eq(CuMemberRetailRegion::getProvince, param.getProvince()) - .eq(CuMemberRetailRegion::getCity, param.getCity()) - .eq(CuMemberRetailRegion::getCounty, param.getCounty()) - .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) - .eq(CuMemberRetailRegion::getSystemType, systemType) - ); - if (null != cuMemberRetailRegion) { - if (userId.equals(cuMemberRetailRegion.getPkMember())) { - // 当前收益区域就是当前会员,不需要处理 - return AjaxResult.success(); - } else { - return AjaxResult.error("当前区域已经被占用"); - } +// CuMemberRetailRegion cuMemberRetailRegion = iCuMemberRetailRegionService.getOne(Wrappers.lambdaQuery() +// .eq(CuMemberRetailRegion::getProvince, param.getProvince()) +// .eq(CuMemberRetailRegion::getCity, param.getCity()) +// .eq(CuMemberRetailRegion::getCounty, param.getCounty()) +// .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) +// .eq(CuMemberRetailRegion::getSystemType, systemType) +// ); +// if (null != cuMemberRetailRegion) { +// if (userId.equals(cuMemberRetailRegion.getPkMember())) { +// // 当前收益区域就是当前会员,不需要处理 +// return AjaxResult.success(); +// } else { +// return AjaxResult.error("当前区域已经被占用"); +// } +// } + int cuMemberRetailRegion = iCuMemberRetailRegionService.validateBindCount(param, EYesNo.YES.getIntValue(), SecurityUtils.getSystemType(), param.getPkMember()); + if (cuMemberRetailRegion > 0) { + return AjaxResult.error("当前区域已经被占用"); } - param.setPkId(cuMemberRetailRegionExt.getPkId()); param.setPkMember(userId); param.setPkCountry(pkCountry); @@ -260,7 +268,6 @@ public class RetailMemberController extends BaseController { PageUtils.clearPage(); List areaList = iCuMemberRetailRegionService.listChooseRegion(SecurityUtils.getSystemType()); if (CollectionUtil.isEmpty(areaList)) { - log.info("region-tree: 111"); return AjaxResult.success(); } TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); @@ -273,7 +280,6 @@ public class RetailMemberController extends BaseController { tree.setParentId(treeNode.getParent().toString()); tree.setName(treeNode.getName()); }); - log.info("region-tree: 222"); return AjaxResult.success(build); } 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..44eacf7b 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 @@ -152,13 +152,14 @@ public class CuMemberRetailRegionController extends BaseController { return AjaxResult.error(ConfigMsgConstants.MEMBER_RETAIL_REGION_REPEAT); } // 校验区域是否被占用 - int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.lambdaQuery() - .eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince()) - .eq(CuMemberRetailRegion::getCity, mrrExt.getCity()) - .eq(CuMemberRetailRegion::getCounty, mrrExt.getCounty()) - .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) - .eq(CuMemberRetailRegion::getSystemType, systemType) - ); +// int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.lambdaQuery() +// .eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince()) +// .eq(CuMemberRetailRegion::getCity, mrrExt.getCity()) +// .eq(CuMemberRetailRegion::getCounty, mrrExt.getCounty()) +// .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) +// .eq(CuMemberRetailRegion::getSystemType, systemType) +// ); + int cuMemberRetailRegion = cuMemberRetailRegionService.validateBindCount(mrrExt, EYesNo.YES.getIntValue(), SecurityUtils.getSystemType(), mrrExt.getPkMember()); if (cuMemberRetailRegion > 0) { return AjaxResult.error("当前区域已经被占用"); } @@ -195,19 +196,21 @@ public class CuMemberRetailRegionController extends BaseController { } // 校验区域是否被占用 - int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.lambdaQuery() - .eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince()) - .eq(CuMemberRetailRegion::getCity, mrrExt.getCity()) - .eq(CuMemberRetailRegion::getCounty, mrrExt.getCounty()) - .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) - .eq(CuMemberRetailRegion::getSystemType, SecurityUtils.getSystemType()) - .ne(CuMemberRetailRegion::getPkId, mrrExt.getPkId()) - ); +// int cuMemberRetailRegion = cuMemberRetailRegionService.count(Wrappers.lambdaQuery() +// .eq(CuMemberRetailRegion::getProvince, mrrExt.getProvince()) +// .eq(CuMemberRetailRegion::getCity, mrrExt.getCity()) +// .eq(CuMemberRetailRegion::getCounty, mrrExt.getCounty()) +// .eq(CuMemberRetailRegion::getEffective, EYesNo.YES.getIntValue()) +// .eq(CuMemberRetailRegion::getSystemType, SecurityUtils.getSystemType()) +// .ne(CuMemberRetailRegion::getPkId, mrrExt.getPkId()) +// ); + int cuMemberRetailRegion = cuMemberRetailRegionService.validateBindCount(mrrExt, EYesNo.YES.getIntValue(), SecurityUtils.getSystemType(), mrrExt.getPkMember()); if (cuMemberRetailRegion > 0) { return AjaxResult.error("当前区域已经被占用"); } mrrExt.setPkModified(SecurityUtils.getUserId()); mrrExt.setModifiedTime(new Date()); + mrrExt.setRegionVertexPkId(cuMemberRetailRegionService.getRegionVertexPkIdByPkMember(mrrExt.getPkMember())); return toAjax(cuMemberRetailRegionService.updateById(mrrExt)); } 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..c4d9b03e 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.retail.member.param.RetailMemberRegionParam; import com.hzs.retail.member.vo.UnboundAreaVO; import org.apache.ibatis.annotations.Param; @@ -32,7 +33,7 @@ public interface CuMemberRetailRegionMapper extends BaseMapper listChooseRegion(@Param("systemType") Integer systemType); + List listChooseRegion(@Param("systemType") Integer systemType, @Param("userId") Long userId); /** * 插入收益区域 @@ -99,4 +100,9 @@ public interface CuMemberRetailRegionMapper extends BaseMapper listChooseRegion(Integer systemType) { - return baseMapper.listChooseRegion(systemType); + return baseMapper.listChooseRegion(systemType, SecurityUtils.getUserId()); } @Override @@ -204,4 +206,19 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl @@ -239,6 +259,66 @@ group by cmrr.province, cmrr.city, cmrr.county having count(1) > 1 + + + diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/controller/manage/BdRegionVertexController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/controller/manage/BdRegionVertexController.java index fab37ea6..0e077109 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/controller/manage/BdRegionVertexController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/controller/manage/BdRegionVertexController.java @@ -1,18 +1,10 @@ package com.hzs.system.base.controller.manage; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.hzs.common.core.constant.CacheConstants; -import com.hzs.common.core.enums.EDelayBusType; -import com.hzs.common.core.utils.DateUtils; -import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; -import com.hzs.common.domain.system.base.BdCurrency; import com.hzs.common.domain.system.base.BdRegionVertex; -import com.hzs.common.security.utils.SecurityUtils; import com.hzs.system.base.service.IBdRegionVertexService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdRegionVertexServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdRegionVertexServiceImpl.java index 9c0ca883..67e23529 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdRegionVertexServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdRegionVertexServiceImpl.java @@ -3,6 +3,7 @@ package com.hzs.system.base.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.domain.system.base.BdRegionVertex; @@ -40,12 +41,13 @@ public class BdRegionVertexServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BdRegionVertex::getName, param.getName()); + queryWrapper.eq(BdRegionVertex::getDelFlag, EDelFlag.UN_DELETE.getValue()); int sameNameCount = baseMapper.selectCount(queryWrapper); if(sameNameCount > 0){ throw new ServiceException("已存在相同的区域体系分组名称!"); @@ -54,6 +56,7 @@ public class BdRegionVertexServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BdRegionVertex::getName, param.getName()); queryWrapper.ne(BdRegionVertex::getPkId, param.getPkId()); + queryWrapper.eq(BdRegionVertex::getDelFlag, EDelFlag.UN_DELETE.getValue()); int sameNameCount = baseMapper.selectCount(queryWrapper); if(sameNameCount > 0){ throw new ServiceException("已存在相同的区域体系分组名称!"); } param.setPkModified(SecurityUtils.getUserId()); param.setModifiedTime(new Date()); + param.setDelFlag(EDelFlag.UN_DELETE.getValue()); baseMapper.updateById(param); } @Override public BdRegionVertex getById(BdRegionVertex param) { if(ObjectUtil.isNotEmpty(param)){ - if(ObjectUtil.isNotEmpty(param.getPkId())){ + if(ObjectUtil.isEmpty(param.getPkId())){ throw new ServiceException("区域体系分组主键不能为空!"); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/VertexVo.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/VertexVo.java index 1ebf9649..268beaa9 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/VertexVo.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/VertexVo.java @@ -49,4 +49,7 @@ public class VertexVo extends BaseEntity { * 区域体系配置分组名称 */ private String regionVertexName; + + @TableField("REGION_VERTEX_PK_ID") + private Long regionVertexPkId; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java index 16a88a39..547e4614 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SysConstants.java @@ -33,6 +33,11 @@ public class SysConstants { */ public static final BigDecimal TOTAL_AREA_PV = new BigDecimal("300000"); + /** + * 小区业绩累计10万 + */ + public static final BigDecimal SMALL_AREA_PV = new BigDecimal("100000"); + /** * 开放使用会员编号(用于支付登录查看数据) */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/retail/member/CuMemberRetailRegion.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/retail/member/CuMemberRetailRegion.java index 04ad0fe3..66114017 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/retail/member/CuMemberRetailRegion.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/retail/member/CuMemberRetailRegion.java @@ -83,4 +83,6 @@ public class CuMemberRetailRegion extends BaseEntity { @TableField("SYSTEM_TYPE") private Integer systemType; + @TableField("REGION_VERTEX_PK_ID") + private Long regionVertexPkId; } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdRegionVertex.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdRegionVertex.java index d34e8e68..aaafcbe9 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdRegionVertex.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdRegionVertex.java @@ -1,6 +1,7 @@ package com.hzs.common.domain.system.base; import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableField; import com.hzs.common.core.web.domain.BaseEntity; @@ -25,7 +26,7 @@ public class BdRegionVertex extends BaseEntity { private static final long serialVersionUID = 1L; - @TableField("PK_ID") + @TableId("PK_ID") private Long pkId; /** diff --git a/sql/2025年6月25日_区域体系分组配置.sql b/sql/2025年6月25日_区域体系分组配置.sql index 9721c469..32132aba 100644 --- a/sql/2025年6月25日_区域体系分组配置.sql +++ b/sql/2025年6月25日_区域体系分组配置.sql @@ -22,3 +22,8 @@ ALTER TABLE "RETAIL"."BD_VERTEX" ADD ("REGION_VERTEX_PK_ID" NUMBER(6,0)); COMMENT ON COLUMN "RETAIL"."BD_VERTEX"."REGION_VERTEX_PK_ID" IS '区域体系分组配置表ID'; + +ALTER TABLE "RETAIL"."CU_MEMBER_RETAIL_REGION" + ADD ("REGION_VERTEX_PK_ID" NUMBER(6,0)); + +COMMENT ON COLUMN "RETAIL"."CU_MEMBER_RETAIL_REGION"."REGION_VERTEX_PK_ID" IS '区域体系分组配置表ID'