From 769164a79ab9adbdd5d3bf2ec66a79ceeb5b21fe Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 19 Sep 2025 08:48:39 +0800 Subject: [PATCH] =?UTF-8?q?##=20Fix=20-=20=E3=80=90H5=E3=80=91=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E6=B3=A8=E5=86=8C=E5=92=8C=E6=B3=A8=E5=86=8C=E4=B8=93?= =?UTF-8?q?=E5=8C=BA=E6=B3=A8=E5=86=8C=EF=BC=8C=E6=B2=A1=E6=9C=89=E9=99=90?= =?UTF-8?q?=E5=88=B6=E4=B8=80=E4=B8=AA=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=9A=84?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=AC=A1=E6=95=B0=EF=BC=8C=E4=B9=9F=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E9=99=90=E5=88=B6=E6=89=8B=E6=9C=BA=E5=8F=B7=E4=B8=80?= =?UTF-8?q?=E6=A0=B7=E5=A7=93=E5=90=8D=E4=B8=8D=E4=B8=80=E6=A0=B7=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5=20[http://47.94.148.201:8081/index.php=3Fm?= =?UTF-8?q?=3Dbug&f=3Dview&bugID=3D388]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 8 ++++++++ .../base/provider/MemberServiceProvider.java | 4 ++++ .../member/base/service/ICuMemberService.java | 7 +++++++ .../service/impl/CuMemberServiceImpl.java | 8 ++++++++ .../api/ApiRetailOrderController.java | 19 +++++++++++++++++++ .../common/core/constant/RetailConstants.java | 5 +++++ 6 files changed, 51 insertions(+) diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index f216f4f4..4bed9fa0 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -356,4 +356,12 @@ public interface IMemberServiceApi { */ R checkRegisterRelation(String phone, String parentCode); + + /** + * 获取手机号数量 + * + * @param phone 联系方式 + * @return 返回为null则正常,否则则错误信息 + */ + R getMemberPhoneCount(String phone); } 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 50a00a47..cddd62da 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 @@ -351,5 +351,9 @@ public class MemberServiceProvider implements IMemberServiceApi { public R checkRegisterRelation(String phone, String parentCode) { return R.ok(iCuMemberService.checkRegisterRelation(phone, parentCode)); } + @Override + public R getMemberPhoneCount(String phone){ + return R.ok(iCuMemberService.getMemberPhoneCount(phone)); + } } 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 777c21a1..b51f25ed 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 @@ -871,4 +871,11 @@ public interface ICuMemberService extends IService { * @return */ CuMemberExt queryFansOrder(String orderCode); + + /** + * 获取手机号数量 + * @param phone + * @return + */ + Integer getMemberPhoneCount(String phone); } 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 38f59014..a0b7bf33 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 @@ -3268,4 +3268,12 @@ public class CuMemberServiceImpl extends ServiceImpl i public CuMemberExt queryFansOrder(String orderCode) { return baseMapper.queryFansOrder(orderCode); } + + @Override + public Integer getMemberPhoneCount(String phone) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CuMember::getDelFlag, EDelFlag.UN_DELETE.getValue()); + wrapper.eq(CuMember::getPhone, phone); + return baseMapper.selectCount(wrapper); + } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index adfe8a7e..0092efb0 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -293,6 +293,12 @@ public class ApiRetailOrderController { @PostMapping("/confirm-reg-order") public AjaxResult confirmRegisterOrder(@Valid @RequestBody RetailOrderRegisterParam registerParam, @RequestHeader("Source") Integer source) { + if(RetailConstants.LIMIT_TO_REG_PHONE_NUMBER){ + Integer phoneCount = iMemberServiceApi.getMemberPhoneCount(registerParam.getPhone()).getData(); + if(phoneCount > 0){ + return AjaxResult.error("已注册相同的手机号码,不允许重复注册!"); + } + } // 设置数据来源 registerParam.setSource(source); // 会员ID @@ -322,6 +328,13 @@ public class ApiRetailOrderController { // 确认订单 String str = iRetailOrderService.confirmRegOrder(registerParam, gradeList); + // redis 拿金额 + SaOrderExt saOrder = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_ORDER + registerParam.getPkCreator() + registerParam.getOrderCode()); + if (ESpecialArea.RETAIL_REGISTER.getValue() == registerParam.getSpecialArea() && saOrder.getOrderAmount().compareTo(RetailConstants.SPECIAL_AREA_41_MAX_ORDER_AMOUNT) > 0) { + redisService.deleteObject(CacheConstants.RETAIL_TEMP_ORDER + registerParam.getPkCreator() + registerParam.getOrderCode()); + return AjaxResult.error("订单金额超过" + RetailConstants.SPECIAL_AREA_41_MAX_ORDER_AMOUNT + "上限"); + } + return confirmOrderReturn(str, registerParam.getPkCreator(), registerParam.getShopList(), registerParam.getOrderCode()); } @@ -704,6 +717,12 @@ public class ApiRetailOrderController { @PostMapping("/fans-confirm-order") public AjaxResult fansConfirmOrder(@RequestBody RetailOrderRegisterParam registerParam, @RequestHeader("Source") Integer source) { + if(RetailConstants.LIMIT_TO_REG_PHONE_NUMBER){ + Integer phoneCount = iMemberServiceApi.getMemberPhoneCount(registerParam.getPhone()).getData(); + if(phoneCount > 0){ + return AjaxResult.error("已注册相同的手机号码,不允许重复注册!"); + } + } // 设置数据来源 registerParam.setSource(source); // 会员ID diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java index 2e30449f..bd812a63 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/RetailConstants.java @@ -33,4 +33,9 @@ public class RetailConstants { */ public static final BigDecimal SPECIAL_AREA_41_MAX_ORDER_AMOUNT = new BigDecimal("20000"); + /** + * 注册是否限制手机号重复 + */ + public static final boolean LIMIT_TO_REG_PHONE_NUMBER = true; + }