Commit 3387ea6e71eb716ce8558265dde6328cfdaea10f

Authored by 谢茂盛
1 parent 82b7b5ac

fix: 用户新增备注/管理员重置密码/用户修改密码

sql/init.sql
... ... @@ -314,6 +314,7 @@ CREATE TABLE `admin_user` (
314 314 `avatar_name` varchar(255) DEFAULT NULL COMMENT '头像地址',
315 315 `avatar_path` varchar(255) DEFAULT NULL COMMENT '头像真实路径',
316 316 `password` varchar(255) DEFAULT NULL COMMENT '密码',
  317 + `remark` varchar(256) DEFAULT NULL COMMENT '备注信息',
317 318 `is_admin` bit(1) DEFAULT b'0' COMMENT '是否为admin账号',
318 319 `pwd_reset_time` DATETIME DEFAULT NULL COMMENT '修改密码的时间',
319 320 `enable_flag` INT NOT NULL COMMENT '是否可用 10-可用 20-删除',
... ...
src/main/java/com/order/erp/controller/UserController.java
... ... @@ -3,10 +3,7 @@ package com.order.erp.controller;
3 3 import com.order.erp.common.annotation.AnonymousAccess;
4 4 import com.order.erp.common.constant.ServerResult;
5 5 import com.order.erp.config.DataScope;
6   -import com.order.erp.domain.vo.admin.AdminAuthUserVO;
7   -import com.order.erp.domain.vo.admin.AdminUserQueryVO;
8   -import com.order.erp.domain.vo.admin.AdminUserVO;
9   -import com.order.erp.domain.vo.admin.UpdatePwdVO;
  6 +import com.order.erp.domain.vo.admin.*;
10 7 import com.order.erp.log.Log;
11 8 import com.order.erp.service.admin.AdminUserService;
12 9 import io.swagger.annotations.Api;
... ... @@ -85,11 +82,20 @@ public class UserController {
85 82  
86 83 @Log("修改密码")
87 84 @ApiOperation("修改密码")
  85 + @PostMapping(value = "/update_pass")
88 86 @AnonymousAccess
89 87 public ServerResult updatePass(@RequestBody @Validated UpdatePwdVO pwdVO) {
90 88 return userService.updatePass(pwdVO);
91 89 }
92 90  
  91 + @Log("重置密码")
  92 + @ApiOperation("重置密码")
  93 + @PostMapping(value = "/reset")
  94 + @AnonymousAccess
  95 + public ServerResult reset(@RequestBody @Validated ResetPwdVO resetPwdVO) {
  96 + return userService.resetPwdVO(resetPwdVO);
  97 + }
  98 +
93 99 @ApiOperation("修改头像")
94 100 @AnonymousAccess
95 101 public ServerResult updateAvatar(@RequestParam MultipartFile file) {
... ...
src/main/java/com/order/erp/domain/dto/admin/AdminUserDO.java
... ... @@ -83,4 +83,9 @@ public class AdminUserDO extends BaseDO implements Serializable {
83 83 */
84 84 private LocalDateTime pwdResetTime;
85 85  
  86 + /**
  87 + * 备注信息
  88 + */
  89 + private String remark;
  90 +
86 91 }
... ...
src/main/java/com/order/erp/domain/vo/admin/AdminUserModifyPwdVO.java
... ... @@ -22,16 +22,16 @@ import java.io.Serializable;
22 22 public class AdminUserModifyPwdVO extends BasePageVO implements Serializable {
23 23  
24 24 /**
25   - * 密钥id
  25 + * 手机号
26 26 */
27   - @NotBlank(message = "密钥id不存在!")
28   - private String id;
  27 + @NotBlank(message = "手机号不能为空!")
  28 + private String phone;
29 29  
30 30 /**
31   - * 密钥密
  31 + * 短信验证
32 32 */
33   - @NotBlank(message = "密钥密码不能为空")
34   - private String passwordRecoverKey;
  33 + @NotBlank(message = "短信验证码不能为空")
  34 + private String smsCaptchaCode;
35 35  
36 36 /**
37 37 * 密码
... ...
src/main/java/com/order/erp/domain/vo/admin/AdminUserVO.java
... ... @@ -83,4 +83,9 @@ public class AdminUserVO implements Serializable {
83 83 * 角色id
84 84 */
85 85 private Long roleId;
  86 +
  87 + /**
  88 + * 备注信息
  89 + */
  90 + private String remark;
86 91 }
... ...
src/main/java/com/order/erp/domain/vo/admin/ResetPwdVO.java 0 → 100644
  1 +package com.order.erp.domain.vo.admin;
  2 +
  3 +import lombok.*;
  4 +import lombok.experimental.SuperBuilder;
  5 +
  6 +import javax.validation.constraints.NotBlank;
  7 +import javax.validation.constraints.NotNull;
  8 +import java.io.Serializable;
  9 +
  10 +/**
  11 + * 用户表(AdminUser)实体类
  12 + *
  13 + * @author makejava
  14 + * @since 2023-08-30 17:51:48
  15 + */
  16 +@Data
  17 +@AllArgsConstructor
  18 +@ToString
  19 +@NoArgsConstructor
  20 +@EqualsAndHashCode(callSuper = false)
  21 +@SuperBuilder
  22 +public class ResetPwdVO implements Serializable {
  23 +
  24 + /**
  25 + * 用户id
  26 + */
  27 + @NotNull(message = "密钥id不存在!")
  28 + private Long userId;
  29 +
  30 +}
  31 +
... ...
src/main/java/com/order/erp/service/admin/AdminUserService.java
... ... @@ -69,6 +69,13 @@ public interface AdminUserService extends IService<AdminUserDO> {
69 69 ServerResult updatePass(UpdatePwdVO pwdVO);
70 70  
71 71 /**
  72 + *
  73 + * @param resetPwdVO
  74 + * @return
  75 + */
  76 + ServerResult resetPwdVO(ResetPwdVO resetPwdVO);
  77 +
  78 + /**
72 79 * 用户名称/手机号/邮箱号
73 80 *
74 81 * @param userName
... ...
src/main/java/com/order/erp/service/admin/impl/AdminUserServiceImpl.java
... ... @@ -14,8 +14,9 @@ import com.order.erp.common.constant.ServerResult;
14 14 import com.order.erp.common.constant.ServerResultCode;
15 15 import com.order.erp.common.exception.BusinessException;
16 16 import com.order.erp.common.utils.ImgCaptchaUtils;
17   -import com.order.erp.common.utils.RedisUtil;
  17 +import com.order.erp.common.utils.SmsUtils;
18 18 import com.order.erp.common.utils.TransactionHelper;
  19 +import com.order.erp.config.DataScope;
19 20 import com.order.erp.domain.RoleEnum;
20 21 import com.order.erp.domain.dto.BaseDO;
21 22 import com.order.erp.domain.dto.admin.*;
... ... @@ -56,7 +57,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
56 57 private ImgCaptchaUtils imgCaptchaUtils;
57 58  
58 59 @Resource
59   - private RedisUtil redisUtil;
  60 + private SmsUtils smsUtils;
60 61  
61 62 @Resource
62 63 private AuthenticationManager authenticationManager;
... ... @@ -92,6 +93,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
92 93 @Resource
93 94 private TransactionHelper transactionHelper;
94 95  
  96 + @Resource
  97 + private DataScope dataScope;
  98 +
95 99 /**
96 100 * 通过ID查询单条数据
97 101 * <p>
... ... @@ -326,6 +330,18 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
326 330 return ServerResult.success();
327 331 }
328 332  
  333 + @Override
  334 + public ServerResult resetPwdVO(ResetPwdVO resetPwdVO) {
  335 + AdminUserDO userDO = getById(resetPwdVO.getUserId());
  336 + if (Objects.isNull(userDO)) {
  337 + throw new BusinessException(ServerResultCode.USER_NOT_EXIT);
  338 + }
  339 + userDO.setPwdResetTime(LocalDateTime.now());
  340 + userDO.setPassword(passwordEncoder.encode("123456"));
  341 + updateById(userDO);
  342 + return ServerResult.success();
  343 + }
  344 +
329 345 /**
330 346 * @param loginByPwdVO
331 347 * @return
... ... @@ -363,7 +379,19 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
363 379  
364 380 @Override
365 381 public ServerResult passwordModify(AdminUserModifyPwdVO modifyPwdVO) {
366   - return null;
  382 + smsUtils.validateSmsCaptcha(modifyPwdVO.getPhone(), modifyPwdVO.getSmsCaptchaCode());
  383 + if (!modifyPwdVO.getPassword().equals(modifyPwdVO.getConfirmPassword())) {
  384 + throw new BusinessException(ServerResultCode.MEMBER_CONFIRM_PASSWORD_ERROR);
  385 + }
  386 + AdminUserDO userDO = getOne(new LambdaQueryWrapper<AdminUserDO>().eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
  387 + .eq(AdminUserDO::getPhone, modifyPwdVO.getPhone()).last("limit 1"));
  388 + if (Objects.isNull(userDO)) {
  389 + throw new BusinessException(ServerResultCode.USER_NOT_EXIT);
  390 + }
  391 + userDO.setPwdResetTime(LocalDateTime.now());
  392 + userDO.setPassword(passwordEncoder.encode(modifyPwdVO.getPassword()));
  393 + updateById(userDO);
  394 + return ServerResult.success();
367 395 }
368 396  
369 397 @Override
... ...