From e28f4db774879138d947b32f7e9f1ec8e5e56077 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Jun 2026 15:00:03 +0800
Subject: [PATCH] feat(mall): 优化用户注册登录及订单管理功能

---
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallMemberController.java      |   14 +------
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java       |    8 ++--
 src/main/java/cc/mrbird/febs/mall/dto/ModifyMemberInfoDto.java                                  |    3 -
 src/main/java/cc/mrbird/febs/mall/vo/MallSalesServiceVo.java                                    |    6 +++
 src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java                                       |    3 +
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallAddressInfoController.java |    1 
 src/main/resources/application-test.yml                                                         |    6 ++-
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallGoodsController.java       |    1 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java                    |   16 ++++---
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/enums/SalesServiceEnums.java      |    2 +
 src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java                                          |    3 +
 src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiLoginController.java           |   18 ++++++++-
 src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java                                     |    3 +
 src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java                                         |    2 
 14 files changed, 51 insertions(+), 35 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiLoginController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiLoginController.java
index da0db3d..24218d8 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiLoginController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiLoginController.java
@@ -6,6 +6,7 @@
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.service.IApiMallMemberService;
+import cc.mrbird.febs.mall.vo.MallSalesServiceVo;
 import cc.mrbird.febs.pay.model.WxGenerateQrCodeDto;
 import cc.mrbird.febs.pay.service.IXcxPayService;
 import cc.mrbird.febs.pay.util.WechatConfigure;
@@ -13,6 +14,8 @@
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,7 +47,7 @@
 
     @ApiOperation(value = "app注册接口", notes = "app注册接口")
     @PostMapping(value = "/register")
-    @Limit(key = "register", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "register", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse register(@RequestBody @Validated RegisterDto registerDto) {
         return memberService.register(registerDto);
     }
@@ -52,9 +55,20 @@
 
     @ApiOperation(value = "账号密码登录接口", notes = "账号密码登录接口")
     @PostMapping(value = "/toLogin")
-    @Limit(key = "toLogin", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "toLogin", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse login(@RequestBody @Validated LoginDto loginDto) {
         return memberService.toLogin(loginDto);
     }
 
+
+
+    @ApiOperation(value = "我的售后服务", notes = "我的售后服务")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = MallSalesServiceVo.class)
+    })
+    @GetMapping(value = "/salesService")
+    public FebsResponse salesService() {
+        return memberService.salesService();
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallAddressInfoController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallAddressInfoController.java
index bfed0f7..85dc620 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallAddressInfoController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallAddressInfoController.java
@@ -45,7 +45,6 @@
 
     @ApiOperation(value = "修改地址", notes = "修改地址")
     @PostMapping(value = "/modifyAddress")
-    @Limit(key = "modifyAddress", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse modifyAddress(@RequestBody @Validated AddressInfoDto addressInfoDto) {
 
         return mallAddressInfoService.modifyAddress(addressInfoDto);
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallGoodsController.java
index fa5422e..4360358 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallGoodsController.java
@@ -34,7 +34,6 @@
             @ApiResponse(code = 200, message = "success", response = MallGoodsListVo.class)
     })
     @PostMapping(value = "/findMallGoodsList")
-    @Limit(key = "findMallGoodsList", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse findMallGoodsList(@RequestBody MallGoodsQueryDto queryDto) {
         return new FebsResponse().success().data(mallGoodsService.findMallGoodsListInPage(queryDto));
     }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallMemberController.java
index 73332c5..f96f709 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallMemberController.java
@@ -45,7 +45,6 @@
 
     @ApiOperation(value = "注销", notes = "注销")
     @PostMapping(value = "/logout")
-    @Limit(key = "logout", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse logout() {
         return memberService.logout();
     }
@@ -53,7 +52,7 @@
 
     @ApiOperation(value = "编辑个人信息", notes = "编辑个人信息")
     @PostMapping(value = "/modifyInfo")
-    @Limit(key = "modifyInfo", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "modifyInfo", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse modifyInfo(@RequestBody @Validated ModifyMemberInfoDto modifyMemberInfoDto) {
         return memberService.modifyMemberInfo(modifyMemberInfoDto);
     }
@@ -61,18 +60,9 @@
 
     @ApiOperation(value = "更改密码", notes = "更改密码")
     @PostMapping(value = "/forgetPwd")
-    @Limit(key = "forgetPwd", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "forgetPwd", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse forgetPwd(@RequestBody @Validated ForgetPwdDto forgetPwdDto) {
         return memberService.forgetPwd(forgetPwdDto);
-    }
-
-    @ApiOperation(value = "我的售后服务", notes = "我的售后服务")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = MallSalesServiceVo.class)
-    })
-    @GetMapping(value = "/salesService")
-    public FebsResponse salesService() {
-        return memberService.salesService();
     }
 
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
similarity index 95%
rename from src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
rename to src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
index d71f5fe..22cebeb 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/ApiMallOrderController.java
@@ -1,4 +1,4 @@
-package cc.mrbird.febs.mall.controller;
+package cc.mrbird.febs.mall.controller.dependentStation;
 
 import cc.mrbird.febs.common.annotation.Limit;
 import cc.mrbird.febs.common.entity.FebsResponse;
@@ -37,14 +37,14 @@
 
     @ApiOperation(value = "创建订单--验证是否允许创建", notes = "创建订单--验证是否允许创建")
     @PostMapping(value = "/createOrderVerify")
-    @Limit(key = "createOrderVerify", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "createOrderVerify", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse createOrderVerify(@RequestBody ApiCreateOrderVerifyDto apiCreateOrderVerifyDto) {
         return mallOrderInfoService.createOrderVerify(apiCreateOrderVerifyDto);
     }
 
     @ApiOperation(value = "创建订单", notes = "创建订单")
     @PostMapping(value = "/createOrder")
-    @Limit(key = "createOrder", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "createOrder", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse createOrder(@RequestBody @Validated AddOrderDto addOrderDto) {
         Long orderId = mallOrderInfoService.createOrder(addOrderDto);
 
@@ -53,7 +53,7 @@
 
     @ApiOperation(value = "取消订单", notes = "取消订单")
     @PostMapping(value = "/cancelOrder/{id}")
-    @Limit(key = "cancelOrder", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    @Limit(key = "cancelOrder", period = 1, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse cancelOrder(@PathVariable("id") Long id) {
         mallOrderInfoService.cancelOrder(id);
         return new FebsResponse().success();
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/enums/SalesServiceEnums.java b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/enums/SalesServiceEnums.java
index 70f86ad..3245649 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/enums/SalesServiceEnums.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/dependentStation/enums/SalesServiceEnums.java
@@ -6,6 +6,8 @@
 public enum SalesServiceEnums {
 
     // 发货人
+    ADDRESS("SALES_SERVICE", "ADDRESS"),
+    WORKINGHOURS("SALES_SERVICE", "WORKINGHOURS"),
     WHATSAPP("SALES_SERVICE", "WHATSAPP"),
     PHONE("SALES_SERVICE", "PHONE"),
     EMAIL("SALES_SERVICE", "EMAIL");
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java
index f853078..5ec7e90 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddCollectionDto.java
@@ -6,12 +6,13 @@
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 @Data
 @ApiModel(value = "AddCollectionDto", description = "添加收藏接受参数类")
 public class AddCollectionDto {
 
-    @NotBlank(message = "The product cannot be empty")
+    @NotNull(message = "The product cannot be empty")
     @ApiModelProperty(value = "商品ID")
     private Long goodsId;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java
index 5128008..4d269ab 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddressInfoDto.java
@@ -5,6 +5,7 @@
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * @author wzy
@@ -14,7 +15,7 @@
 @ApiModel(value = "AddressInfoDto", description = "地址接收参数类")
 public class AddressInfoDto {
 
-    @NotBlank(message = "{required}")
+    @NotNull(message = "{required}")
     @ApiModelProperty(value = "id")
     private Long id;
 
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
index 890768c..ab8410e 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
@@ -17,7 +17,7 @@
 
     @NotBlank(message = "The password cannot be empty")
     @ApiModelProperty(value = "新密码", example = "123456")
-    private String Password;
+    private String password;
 
     @NotBlank(message = "The new password cannot be empty")
     @ApiModelProperty(value = "新密码", example = "123456")
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ModifyMemberInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ModifyMemberInfoDto.java
index 3ca9090..fbed396 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ModifyMemberInfoDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ModifyMemberInfoDto.java
@@ -15,7 +15,4 @@
     @ApiModelProperty(value = "昵称", example = "123")
     private String name;
 
-    @ApiModelProperty(value = "头像", example = "123")
-    private String photo;
-
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index c1545c4..6f04506 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -94,7 +94,8 @@
             throw new FebsException("The two passwords are inconsistent");
         }
         mallMember = new MallMember();
-        mallMember.setName(account);
+        mallMember.setName(registerDto.getLastName() + registerDto.getFirstName());
+        mallMember.setPhone(registerDto.getPhoneNumber());
         mallMember.setEmail(registerDto.getAccount());
         mallMember.setPassword(SecureUtil.md5(password));
         mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
@@ -203,6 +204,7 @@
         MallMemberVo mallMemberVo = new MallMemberVo();
         mallMemberVo.setName(mallMember.getName());
         mallMemberVo.setEmail(mallMember.getEmail());
+        mallMemberVo.setPhoneNumber(mallMember.getPhone());
         mallMemberVo.setAvatar(mallMember.getAvatar());
         return new FebsResponse().success().data(mallMemberVo);
     }
@@ -215,10 +217,6 @@
         MallMember mallMember = this.baseMapper.selectById(memberId);
         if (StrUtil.isNotBlank(modifyMemberInfoDto.getName())) {
             mallMember.setName(modifyMemberInfoDto.getName());
-        }
-
-        if (StrUtil.isNotBlank(modifyMemberInfoDto.getPhoto())) {
-            mallMember.setAvatar(modifyMemberInfoDto.getPhoto());
         }
 
         this.baseMapper.updateById(mallMember);
@@ -395,8 +393,6 @@
 
     @Override
     public FebsResponse salesService() {
-        LoginUserUtil.getLoginUser().getId();
-
         MallSalesServiceVo mallSalesServiceVo = new MallSalesServiceVo();
 
         List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(
@@ -414,6 +410,12 @@
                 if (SalesServiceEnums.EMAIL.getCode().equals(dataDictionaryCustom.getCode())){
                     mallSalesServiceVo.setEmail(dataDictionaryCustom.getValue());
                 }
+                if (SalesServiceEnums.WORKINGHOURS.getCode().equals(dataDictionaryCustom.getCode())){
+                    mallSalesServiceVo.setWorkingHours(dataDictionaryCustom.getValue());
+                }
+                if (SalesServiceEnums.ADDRESS.getCode().equals(dataDictionaryCustom.getCode())){
+                    mallSalesServiceVo.setAddress(dataDictionaryCustom.getValue());
+                }
             }
 
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 2629c79..51b6fa8 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -20,6 +20,9 @@
     @ApiModelProperty(value = "邮箱")
     private String email;
 
+    @ApiModelProperty(value = "手机")
+    private String phoneNumber;
+
     @ApiModelProperty(value = "头像")
     private String avatar;
 
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallSalesServiceVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallSalesServiceVo.java
index 5ec5480..55b016e 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallSalesServiceVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallSalesServiceVo.java
@@ -17,4 +17,10 @@
     @ApiModelProperty(value = "email")
     private String email;
 
+    @ApiModelProperty(value = "Address")
+    private String address;
+
+    @ApiModelProperty(value = "Working Hours")
+    private String workingHours;
+
 }
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index f14fefb..531c9a0 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -5,11 +5,13 @@
       p6spy: false
       hikari:
         connection-timeout: 30000
-        max-lifetime: 1800000
+        max-lifetime: 1200000
         max-pool-size: 15
         min-idle: 5
         connection-test-query: select 1
         pool-name: FebsHikariCP
+        idle-timeout: 300000
+        keepaliveTime: 30000
       # 配置默认数据源
       primary: base
       datasource:
@@ -40,7 +42,7 @@
         # 连接池最大阻塞等待时间(使用负值表示没有限制)
         max-wait: 10000
     # 连接超时时间(毫秒)
-    timeout: 5000
+    timeout: 500000
   rabbitmq:
     host: 120.27.238.55
     port: 5672

--
Gitblit v1.9.1