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