Commit 7d45cfa33ab53e227c4ae891508a1cacff78382a

Authored by 芋道源码
Committed by Gitee
2 parents d5fb438f b621f15b

!22 个人信息 修改信息、修改密码

Merge pull request !22 from niu_dehua/feat_userprofile
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/SysUserProfileController.java
@@ -3,8 +3,9 @@ package cn.iocoder.dashboard.modules.system.controller.user; @@ -3,8 +3,9 @@ package cn.iocoder.dashboard.modules.system.controller.user;
3 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; 3 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
4 import cn.iocoder.dashboard.common.pojo.CommonResult; 4 import cn.iocoder.dashboard.common.pojo.CommonResult;
5 import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils; 5 import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils;
6 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileRespVO;  
7 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; 6 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileRespVO;
  7 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo;
  8 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
8 import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; 9 import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert;
9 import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; 10 import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert;
10 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; 11 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO;
@@ -16,11 +17,17 @@ import cn.iocoder.dashboard.util.collection.CollectionUtils; @@ -16,11 +17,17 @@ import cn.iocoder.dashboard.util.collection.CollectionUtils;
16 import io.swagger.annotations.Api; 17 import io.swagger.annotations.Api;
17 import io.swagger.annotations.ApiOperation; 18 import io.swagger.annotations.ApiOperation;
18 import lombok.extern.slf4j.Slf4j; 19 import lombok.extern.slf4j.Slf4j;
19 -import org.springframework.web.bind.annotation.*; 20 +import org.springframework.web.bind.annotation.GetMapping;
  21 +import org.springframework.web.bind.annotation.PutMapping;
  22 +import org.springframework.web.bind.annotation.RequestBody;
  23 +import org.springframework.web.bind.annotation.RequestMapping;
  24 +import org.springframework.web.bind.annotation.RequestParam;
  25 +import org.springframework.web.bind.annotation.RestController;
20 import org.springframework.web.multipart.MultipartFile; 26 import org.springframework.web.multipart.MultipartFile;
21 27
22 import javax.annotation.Resource; 28 import javax.annotation.Resource;
23 import javax.servlet.http.HttpServletRequest; 29 import javax.servlet.http.HttpServletRequest;
  30 +import javax.validation.Valid;
24 import java.io.IOException; 31 import java.io.IOException;
25 import java.util.List; 32 import java.util.List;
26 33
@@ -57,12 +64,20 @@ public class SysUserProfileController { @@ -57,12 +64,20 @@ public class SysUserProfileController {
57 64
58 @PutMapping("/update") 65 @PutMapping("/update")
59 @ApiOperation("修改用户个人信息") 66 @ApiOperation("修改用户个人信息")
60 - public CommonResult<Boolean> updateUserProfile(@RequestBody SysUserProfileUpdateReqVO reqVO, HttpServletRequest request) { 67 + public CommonResult<Boolean> updateUserProfile(@Valid @RequestBody SysUserProfileUpdateReqVO reqVO, HttpServletRequest request) {
61 userService.updateUserProfile(reqVO); 68 userService.updateUserProfile(reqVO);
62 SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request); 69 SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request);
63 return success(true); 70 return success(true);
64 } 71 }
65 72
  73 + @PutMapping("/update-password")
  74 + @ApiOperation("修改用户个人密码")
  75 + public CommonResult<Boolean> updateUserProfilePassword(@Valid @RequestBody SysUserProfileUpdatePasswordReqVo reqVO, HttpServletRequest request) {
  76 + userService.updateUserPassword(reqVO);
  77 + SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request);
  78 + return success(true);
  79 + }
  80 +
66 @PutMapping("/upload-avatar") 81 @PutMapping("/upload-avatar")
67 @ApiOperation("上传用户个人头像") 82 @ApiOperation("上传用户个人头像")
68 public CommonResult<Boolean> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException { 83 public CommonResult<Boolean> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException {
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserProfileRespVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/profile/SysUserProfileRespVO.java
1 -package cn.iocoder.dashboard.modules.system.controller.user.vo.user; 1 +package cn.iocoder.dashboard.modules.system.controller.user.vo.profile;
2 2
  3 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserBaseVO;
3 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 5 import io.swagger.annotations.ApiModelProperty;
5 import lombok.AllArgsConstructor; 6 import lombok.AllArgsConstructor;
@@ -7,15 +8,30 @@ import lombok.Data; @@ -7,15 +8,30 @@ import lombok.Data;
7 import lombok.EqualsAndHashCode; 8 import lombok.EqualsAndHashCode;
8 import lombok.NoArgsConstructor; 9 import lombok.NoArgsConstructor;
9 10
  11 +import java.util.Date;
10 import java.util.Set; 12 import java.util.Set;
11 13
12 14
13 -@ApiModel("用户个人中心信息 Response VO")  
14 @Data 15 @Data
  16 +@EqualsAndHashCode(callSuper = true)
15 @NoArgsConstructor 17 @NoArgsConstructor
16 @AllArgsConstructor 18 @AllArgsConstructor
17 -@EqualsAndHashCode(callSuper = true)  
18 -public class SysUserProfileRespVO extends SysUserRespVO { 19 +@ApiModel("用户个人中心信息 Response VO")
  20 +public class SysUserProfileRespVO extends SysUserBaseVO {
  21 + @ApiModelProperty(value = "用户编号", required = true, example = "1")
  22 + private Long id;
  23 +
  24 + @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  25 + private Integer status;
  26 +
  27 + @ApiModelProperty(value = "最后登陆 IP", required = true, example = "192.168.1.1")
  28 + private String loginIp;
  29 +
  30 + @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式")
  31 + private Date loginDate;
  32 +
  33 + @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
  34 + private Date createTime;
19 35
20 /** 36 /**
21 * 所属角色 37 * 所属角色
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/profile/SysUserProfileUpdatePasswordReqVo.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.user.vo.profile;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import org.hibernate.validator.constraints.Length;
  7 +
  8 +import javax.validation.constraints.NotEmpty;
  9 +import javax.validation.constraints.NotNull;
  10 +
  11 +/**
  12 + * 类名称:SysUserUpdatePersonalPasswordReqVo
  13 + * ***********************
  14 + * <p>
  15 + * 类描述:更新用户个人密码
  16 + *
  17 + * @author deng on 2021/3/15 22:04
  18 + */
  19 +@ApiModel("用户个人中心更新密码 Response VO")
  20 +@Data
  21 +public class SysUserProfileUpdatePasswordReqVo {
  22 +
  23 + @ApiModelProperty(value = "用户编号", required = true, example = "1024")
  24 + @NotNull(message = "用户编号不能为空")
  25 + private Long id;
  26 +
  27 + @ApiModelProperty(value = "旧密码", required = true, example = "123456")
  28 + @NotEmpty(message = "旧密码不能为空")
  29 + @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
  30 + private String oldPassword;
  31 +
  32 + @ApiModelProperty(value = "新密码", required = true, example = "654321")
  33 + @NotEmpty(message = "新密码不能为空")
  34 + @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
  35 + private String newPassword;
  36 +}
0 \ No newline at end of file 37 \ No newline at end of file
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserProfileUpdateReqVO.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/profile/SysUserProfileUpdateReqVO.java
1 -package cn.iocoder.dashboard.modules.system.controller.user.vo.user; 1 +package cn.iocoder.dashboard.modules.system.controller.user.vo.profile;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -6,6 +6,7 @@ import lombok.Data; @@ -6,6 +6,7 @@ import lombok.Data;
6 6
7 import javax.validation.constraints.Email; 7 import javax.validation.constraints.Email;
8 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
  9 +import javax.validation.constraints.Pattern;
9 import javax.validation.constraints.Size; 10 import javax.validation.constraints.Size;
10 11
11 @ApiModel("用户个人信息更新 Request VO") 12 @ApiModel("用户个人信息更新 Request VO")
@@ -26,7 +27,7 @@ public class SysUserProfileUpdateReqVO { @@ -26,7 +27,7 @@ public class SysUserProfileUpdateReqVO {
26 private String email; 27 private String email;
27 28
28 @ApiModelProperty(value = "手机号码", example = "15601691300") 29 @ApiModelProperty(value = "手机号码", example = "15601691300")
29 - @Size(max = 11, message = "手机号码长度不能超过11个字符") 30 + @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
30 private String mobile; 31 private String mobile;
31 32
32 @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") 33 @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类")
@@ -35,10 +36,4 @@ public class SysUserProfileUpdateReqVO { @@ -35,10 +36,4 @@ public class SysUserProfileUpdateReqVO {
35 @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") 36 @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png")
36 private String avatar; 37 private String avatar;
37 38
38 - @ApiModelProperty(value = "旧密码", required = true, example = "123456")  
39 - private String oldPassword;  
40 -  
41 - @ApiModelProperty(value = "新密码", required = true, example = "654321")  
42 - private String newPassword;  
43 -  
44 } 39 }
src/main/java/cn/iocoder/dashboard/modules/system/controller/user/vo/user/SysUserBaseVO.java
@@ -5,6 +5,7 @@ import lombok.Data; @@ -5,6 +5,7 @@ import lombok.Data;
5 5
6 import javax.validation.constraints.Email; 6 import javax.validation.constraints.Email;
7 import javax.validation.constraints.NotBlank; 7 import javax.validation.constraints.NotBlank;
  8 +import javax.validation.constraints.Pattern;
8 import javax.validation.constraints.Size; 9 import javax.validation.constraints.Size;
9 import java.util.Set; 10 import java.util.Set;
10 11
@@ -39,7 +40,7 @@ public class SysUserBaseVO { @@ -39,7 +40,7 @@ public class SysUserBaseVO {
39 private String email; 40 private String email;
40 41
41 @ApiModelProperty(value = "手机号码", example = "15601691300") 42 @ApiModelProperty(value = "手机号码", example = "15601691300")
42 - @Size(max = 11, message = "手机号码长度不能超过11个字符") 43 + @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
43 private String mobile; 44 private String mobile;
44 45
45 @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") 46 @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类")
@@ -48,5 +49,4 @@ public class SysUserBaseVO { @@ -48,5 +49,4 @@ public class SysUserBaseVO {
48 @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") 49 @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png")
49 private String avatar; 50 private String avatar;
50 51
51 -  
52 } 52 }
src/main/java/cn/iocoder/dashboard/modules/system/convert/auth/SysAuthConvert.java
@@ -3,7 +3,8 @@ package cn.iocoder.dashboard.modules.system.convert.auth; @@ -3,7 +3,8 @@ package cn.iocoder.dashboard.modules.system.convert.auth;
3 import cn.iocoder.dashboard.framework.security.core.LoginUser; 3 import cn.iocoder.dashboard.framework.security.core.LoginUser;
4 import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthMenuRespVO; 4 import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthMenuRespVO;
5 import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthPermissionInfoRespVO; 5 import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthPermissionInfoRespVO;
6 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; 6 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo;
  7 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
7 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysMenuDO; 8 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysMenuDO;
8 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; 9 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO;
9 import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; 10 import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
@@ -41,6 +42,8 @@ public interface SysAuthConvert { @@ -41,6 +42,8 @@ public interface SysAuthConvert {
41 42
42 LoginUser convert(SysUserProfileUpdateReqVO reqVO); 43 LoginUser convert(SysUserProfileUpdateReqVO reqVO);
43 44
  45 + LoginUser convert(SysUserProfileUpdatePasswordReqVo reqVO);
  46 +
44 /** 47 /**
45 * 将菜单列表,构建成菜单树 48 * 将菜单列表,构建成菜单树
46 * 49 *
src/main/java/cn/iocoder/dashboard/modules/system/convert/user/SysUserConvert.java
1 package cn.iocoder.dashboard.modules.system.convert.user; 1 package cn.iocoder.dashboard.modules.system.convert.user;
2 2
  3 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileRespVO;
  4 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo;
  5 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
3 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; 6 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
4 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExcelVO; 7 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExcelVO;
5 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; 8 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO;
6 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageItemRespVO; 9 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageItemRespVO;
7 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileRespVO;  
8 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO;  
9 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; 10 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
10 import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; 11 import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO;
11 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; 12 import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO;
@@ -36,6 +37,7 @@ public interface SysUserConvert { @@ -36,6 +37,7 @@ public interface SysUserConvert {
36 37
37 SysUserDO convert(SysUserProfileUpdateReqVO bean); 38 SysUserDO convert(SysUserProfileUpdateReqVO bean);
38 39
  40 + SysUserDO convert(SysUserProfileUpdatePasswordReqVo bean);
39 41
40 42
41 } 43 }
src/main/java/cn/iocoder/dashboard/modules/system/service/user/SysUserService.java
@@ -2,7 +2,14 @@ package cn.iocoder.dashboard.modules.system.service.user; @@ -2,7 +2,14 @@ package cn.iocoder.dashboard.modules.system.service.user;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.dashboard.common.pojo.PageResult; 4 import cn.iocoder.dashboard.common.pojo.PageResult;
5 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.*; 5 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo;
  6 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
  7 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
  8 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
  9 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO;
  10 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO;
  11 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
  12 +import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
6 import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; 13 import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
7 import cn.iocoder.dashboard.util.collection.CollectionUtils; 14 import cn.iocoder.dashboard.util.collection.CollectionUtils;
8 15
@@ -42,6 +49,14 @@ public interface SysUserService { @@ -42,6 +49,14 @@ public interface SysUserService {
42 void updateUserProfile(SysUserProfileUpdateReqVO reqVO); 49 void updateUserProfile(SysUserProfileUpdateReqVO reqVO);
43 50
44 /** 51 /**
  52 + * 修改用户个人密码
  53 + *
  54 + * @param reqVO 更新用户个人密码
  55 + */
  56 + void updateUserPassword(SysUserProfileUpdatePasswordReqVo reqVO);
  57 +
  58 +
  59 + /**
45 * 更新用户头像 60 * 更新用户头像
46 * 61 *
47 * @param id 用户 id 62 * @param id 用户 id
src/main/java/cn/iocoder/dashboard/modules/system/service/user/SysUserServiceImpl.java
@@ -9,12 +9,13 @@ import cn.iocoder.dashboard.common.exception.ServiceException; @@ -9,12 +9,13 @@ import cn.iocoder.dashboard.common.exception.ServiceException;
9 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; 9 import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
10 import cn.iocoder.dashboard.common.pojo.PageResult; 10 import cn.iocoder.dashboard.common.pojo.PageResult;
11 import cn.iocoder.dashboard.modules.infra.service.file.InfFileService; 11 import cn.iocoder.dashboard.modules.infra.service.file.InfFileService;
  12 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo;
  13 +import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
12 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; 14 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
13 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO; 15 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
14 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; 16 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO;
15 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO; 17 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO;
16 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO; 18 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
17 -import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO;  
18 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; 19 import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
19 import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; 20 import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert;
20 import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; 21 import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO;
@@ -70,7 +71,7 @@ public class SysUserServiceImpl implements SysUserService { @@ -70,7 +71,7 @@ public class SysUserServiceImpl implements SysUserService {
70 public Long createUser(SysUserCreateReqVO reqVO) { 71 public Long createUser(SysUserCreateReqVO reqVO) {
71 // 校验正确性 72 // 校验正确性
72 this.checkCreateOrUpdate(null, reqVO.getUsername(), reqVO.getMobile(), reqVO.getEmail(), 73 this.checkCreateOrUpdate(null, reqVO.getUsername(), reqVO.getMobile(), reqVO.getEmail(),
73 - reqVO.getDeptId(), reqVO.getPostIds()); 74 + reqVO.getDeptId(), reqVO.getPostIds());
74 // 插入用户 75 // 插入用户
75 SysUserDO user = SysUserConvert.INSTANCE.convert(reqVO); 76 SysUserDO user = SysUserConvert.INSTANCE.convert(reqVO);
76 user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启 77 user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
@@ -83,7 +84,7 @@ public class SysUserServiceImpl implements SysUserService { @@ -83,7 +84,7 @@ public class SysUserServiceImpl implements SysUserService {
83 public void updateUser(SysUserUpdateReqVO reqVO) { 84 public void updateUser(SysUserUpdateReqVO reqVO) {
84 // 校验正确性 85 // 校验正确性
85 this.checkCreateOrUpdate(reqVO.getId(), reqVO.getUsername(), reqVO.getMobile(), reqVO.getEmail(), 86 this.checkCreateOrUpdate(reqVO.getId(), reqVO.getUsername(), reqVO.getMobile(), reqVO.getEmail(),
86 - reqVO.getDeptId(), reqVO.getPostIds()); 87 + reqVO.getDeptId(), reqVO.getPostIds());
87 // 更新用户 88 // 更新用户
88 SysUserDO updateObj = SysUserConvert.INSTANCE.convert(reqVO); 89 SysUserDO updateObj = SysUserConvert.INSTANCE.convert(reqVO);
89 userMapper.updateById(updateObj); 90 userMapper.updateById(updateObj);
@@ -95,16 +96,17 @@ public class SysUserServiceImpl implements SysUserService { @@ -95,16 +96,17 @@ public class SysUserServiceImpl implements SysUserService {
95 this.checkUserExists(reqVO.getId()); 96 this.checkUserExists(reqVO.getId());
96 this.checkEmailUnique(reqVO.getId(), reqVO.getEmail()); 97 this.checkEmailUnique(reqVO.getId(), reqVO.getEmail());
97 this.checkMobileUnique(reqVO.getId(), reqVO.getMobile()); 98 this.checkMobileUnique(reqVO.getId(), reqVO.getMobile());
98 - // 校验填写密码  
99 - String encode = null;  
100 - if (this.checkOldPassword(reqVO.getId(), reqVO.getOldPassword(), reqVO.getNewPassword())) {  
101 - // 更新密码  
102 - encode = passwordEncoder.encode(reqVO.getNewPassword());  
103 - }  
104 - SysUserDO updateObj = SysUserConvert.INSTANCE.convert(reqVO);  
105 - if (StrUtil.isNotBlank(encode)) {  
106 - updateObj.setPassword(encode);  
107 - } 99 + userMapper.updateById(SysUserConvert.INSTANCE.convert(reqVO));
  100 + }
  101 +
  102 + @Override
  103 + public void updateUserPassword(SysUserProfileUpdatePasswordReqVo reqVO) {
  104 + // 校验旧密码密码
  105 + this.checkOldPassword(reqVO.getId(), reqVO.getOldPassword());
  106 + SysUserDO updateObj = new SysUserDO();
  107 + updateObj.setId(reqVO.getId());
  108 + // 加密密码
  109 + updateObj.setPassword(passwordEncoder.encode(reqVO.getNewPassword()));
108 userMapper.updateById(updateObj); 110 userMapper.updateById(updateObj);
109 } 111 }
110 112
@@ -314,26 +316,19 @@ public class SysUserServiceImpl implements SysUserService { @@ -314,26 +316,19 @@ public class SysUserServiceImpl implements SysUserService {
314 } 316 }
315 317
316 /** 318 /**
317 - * 校验旧密码、新密码 319 + * 校验旧密码
318 * 320 *
319 * @param id 用户 id 321 * @param id 用户 id
320 * @param oldPassword 旧密码 322 * @param oldPassword 旧密码
321 - * @param newPassword 新密码  
322 - * @return 校验结果  
323 */ 323 */
324 - private boolean checkOldPassword(Long id, String oldPassword, String newPassword) {  
325 - if (id == null || StrUtil.isBlank(oldPassword) || StrUtil.isBlank(newPassword)) {  
326 - return false;  
327 - } 324 + private void checkOldPassword(Long id, String oldPassword) {
328 SysUserDO user = userMapper.selectById(id); 325 SysUserDO user = userMapper.selectById(id);
329 if (user == null) { 326 if (user == null) {
330 throw ServiceExceptionUtil.exception(USER_NOT_EXISTS); 327 throw ServiceExceptionUtil.exception(USER_NOT_EXISTS);
331 } 328 }
332 -  
333 if (!passwordEncoder.matches(oldPassword, user.getPassword())) { 329 if (!passwordEncoder.matches(oldPassword, user.getPassword())) {
334 throw ServiceExceptionUtil.exception(USER_PASSWORD_FAILED); 330 throw ServiceExceptionUtil.exception(USER_PASSWORD_FAILED);
335 } 331 }
336 - return true;  
337 } 332 }
338 333
339 @Override 334 @Override