mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	个人信息 修改信息、修改密码
This commit is contained in:
		| @@ -3,8 +3,9 @@ package cn.iocoder.dashboard.modules.system.controller.user; | |||||||
| import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | ||||||
| import cn.iocoder.dashboard.common.pojo.CommonResult; | import cn.iocoder.dashboard.common.pojo.CommonResult; | ||||||
| import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils; | import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileRespVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileRespVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; | import cn.iocoder.dashboard.modules.system.convert.auth.SysAuthConvert; | ||||||
| import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; | import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | ||||||
| @@ -16,11 +17,17 @@ import cn.iocoder.dashboard.util.collection.CollectionUtils; | |||||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.GetMapping; | ||||||
|  | import org.springframework.web.bind.annotation.PutMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RequestBody; | ||||||
|  | import org.springframework.web.bind.annotation.RequestMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RequestParam; | ||||||
|  | import org.springframework.web.bind.annotation.RestController; | ||||||
| import org.springframework.web.multipart.MultipartFile; | import org.springframework.web.multipart.MultipartFile; | ||||||
|  |  | ||||||
| import javax.annotation.Resource; | import javax.annotation.Resource; | ||||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||||
|  | import javax.validation.Valid; | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| @@ -57,12 +64,20 @@ public class SysUserProfileController { | |||||||
|  |  | ||||||
|     @PutMapping("/update") |     @PutMapping("/update") | ||||||
|     @ApiOperation("修改用户个人信息") |     @ApiOperation("修改用户个人信息") | ||||||
|     public CommonResult<Boolean> updateUserProfile(@RequestBody SysUserProfileUpdateReqVO reqVO, HttpServletRequest request) { |     public CommonResult<Boolean> updateUserProfile(@Valid @RequestBody SysUserProfileUpdateReqVO reqVO, HttpServletRequest request) { | ||||||
|         userService.updateUserProfile(reqVO); |         userService.updateUserProfile(reqVO); | ||||||
|         SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request); |         SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request); | ||||||
|         return success(true); |         return success(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @PutMapping("/update-password") | ||||||
|  |     @ApiOperation("修改用户个人密码") | ||||||
|  |     public CommonResult<Boolean> updateUserProfilePassword(@Valid @RequestBody SysUserProfileUpdatePasswordReqVo reqVO, HttpServletRequest request) { | ||||||
|  |         userService.updateUserPassword(reqVO); | ||||||
|  |         SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request); | ||||||
|  |         return success(true); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @PutMapping("/upload-avatar") |     @PutMapping("/upload-avatar") | ||||||
|     @ApiOperation("上传用户个人头像") |     @ApiOperation("上传用户个人头像") | ||||||
|     public CommonResult<Boolean> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException { |     public CommonResult<Boolean> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException { | ||||||
|   | |||||||
| @@ -0,0 +1,53 @@ | |||||||
|  | package cn.iocoder.dashboard.modules.system.controller.user.vo.profile; | ||||||
|  |  | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserBaseVO; | ||||||
|  | import io.swagger.annotations.ApiModel; | ||||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  |  | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.Set; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @NoArgsConstructor | ||||||
|  | @AllArgsConstructor | ||||||
|  | @ApiModel("用户个人中心信息 Response VO") | ||||||
|  | public class SysUserProfileRespVO extends SysUserBaseVO { | ||||||
|  |     @ApiModelProperty(value = "用户编号", required = true, example = "1") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类") | ||||||
|  |     private Integer status; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "最后登陆 IP", required = true, example = "192.168.1.1") | ||||||
|  |     private String loginIp; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "最后登录时间", required = true, example = "时间戳格式") | ||||||
|  |     private Date loginDate; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") | ||||||
|  |     private Date createTime; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 所属角色 | ||||||
|  |      */ | ||||||
|  |     @ApiModelProperty(value = "所属角色", required = true, example = "123456") | ||||||
|  |     private Set<Role> roles; | ||||||
|  |  | ||||||
|  |     @ApiModel("角色") | ||||||
|  |     @Data | ||||||
|  |     public static class Role { | ||||||
|  |  | ||||||
|  |         @ApiModelProperty(value = "角色编号", required = true, example = "1") | ||||||
|  |         private Long id; | ||||||
|  |  | ||||||
|  |         @ApiModelProperty(value = "角色名称", required = true, example = "普通角色") | ||||||
|  |         private String name; | ||||||
|  |  | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,36 @@ | |||||||
|  | package cn.iocoder.dashboard.modules.system.controller.user.vo.profile; | ||||||
|  |  | ||||||
|  | import io.swagger.annotations.ApiModel; | ||||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||||
|  | import lombok.Data; | ||||||
|  | import org.hibernate.validator.constraints.Length; | ||||||
|  |  | ||||||
|  | import javax.validation.constraints.NotEmpty; | ||||||
|  | import javax.validation.constraints.NotNull; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 类名称:SysUserUpdatePersonalPasswordReqVo | ||||||
|  |  * *********************** | ||||||
|  |  * <p> | ||||||
|  |  * 类描述:更新用户个人密码 | ||||||
|  |  * | ||||||
|  |  * @author deng on 2021/3/15 22:04 | ||||||
|  |  */ | ||||||
|  | @ApiModel("用户个人中心更新密码 Response VO") | ||||||
|  | @Data | ||||||
|  | public class SysUserProfileUpdatePasswordReqVo { | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "用户编号", required = true, example = "1024") | ||||||
|  |     @NotNull(message = "用户编号不能为空") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "旧密码", required = true, example = "123456") | ||||||
|  |     @NotEmpty(message = "旧密码不能为空") | ||||||
|  |     @Length(min = 4, max = 16, message = "密码长度为 4-16 位") | ||||||
|  |     private String oldPassword; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "新密码", required = true, example = "654321") | ||||||
|  |     @NotEmpty(message = "新密码不能为空") | ||||||
|  |     @Length(min = 4, max = 16, message = "密码长度为 4-16 位") | ||||||
|  |     private String newPassword; | ||||||
|  | } | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| package cn.iocoder.dashboard.modules.system.controller.user.vo.user; | package cn.iocoder.dashboard.modules.system.controller.user.vo.profile; | ||||||
| 
 | 
 | ||||||
| import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||||
| import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||||
| @@ -6,6 +6,7 @@ import lombok.Data; | |||||||
| 
 | 
 | ||||||
| import javax.validation.constraints.Email; | import javax.validation.constraints.Email; | ||||||
| import javax.validation.constraints.NotNull; | import javax.validation.constraints.NotNull; | ||||||
|  | import javax.validation.constraints.Pattern; | ||||||
| import javax.validation.constraints.Size; | import javax.validation.constraints.Size; | ||||||
| 
 | 
 | ||||||
| @ApiModel("用户个人信息更新 Request VO") | @ApiModel("用户个人信息更新 Request VO") | ||||||
| @@ -26,7 +27,7 @@ public class SysUserProfileUpdateReqVO { | |||||||
|     private String email; |     private String email; | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "手机号码", example = "15601691300") |     @ApiModelProperty(value = "手机号码", example = "15601691300") | ||||||
|     @Size(max = 11, message = "手机号码长度不能超过11个字符") |     @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误") | ||||||
|     private String mobile; |     private String mobile; | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") |     @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") | ||||||
| @@ -35,10 +36,4 @@ public class SysUserProfileUpdateReqVO { | |||||||
|     @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") |     @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") | ||||||
|     private String avatar; |     private String avatar; | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "旧密码", required = true, example = "123456") |  | ||||||
|     private String oldPassword; |  | ||||||
| 
 |  | ||||||
|     @ApiModelProperty(value = "新密码", required = true, example = "654321") |  | ||||||
|     private String newPassword; |  | ||||||
| 
 |  | ||||||
| } | } | ||||||
| @@ -5,6 +5,7 @@ import lombok.Data; | |||||||
|  |  | ||||||
| import javax.validation.constraints.Email; | import javax.validation.constraints.Email; | ||||||
| import javax.validation.constraints.NotBlank; | import javax.validation.constraints.NotBlank; | ||||||
|  | import javax.validation.constraints.Pattern; | ||||||
| import javax.validation.constraints.Size; | import javax.validation.constraints.Size; | ||||||
| import java.util.Set; | import java.util.Set; | ||||||
|  |  | ||||||
| @@ -39,7 +40,7 @@ public class SysUserBaseVO { | |||||||
|     private String email; |     private String email; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "手机号码", example = "15601691300") |     @ApiModelProperty(value = "手机号码", example = "15601691300") | ||||||
|     @Size(max = 11, message = "手机号码长度不能超过11个字符") |     @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误") | ||||||
|     private String mobile; |     private String mobile; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") |     @ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类") | ||||||
| @@ -48,5 +49,4 @@ public class SysUserBaseVO { | |||||||
|     @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") |     @ApiModelProperty(value = "用户头像", example = "http://www.iocoder.cn/xxx.png") | ||||||
|     private String avatar; |     private String avatar; | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,37 +0,0 @@ | |||||||
| package cn.iocoder.dashboard.modules.system.controller.user.vo.user; |  | ||||||
|  |  | ||||||
| import io.swagger.annotations.ApiModel; |  | ||||||
| import io.swagger.annotations.ApiModelProperty; |  | ||||||
| import lombok.AllArgsConstructor; |  | ||||||
| import lombok.Data; |  | ||||||
| import lombok.EqualsAndHashCode; |  | ||||||
| import lombok.NoArgsConstructor; |  | ||||||
|  |  | ||||||
| import java.util.Set; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @ApiModel("用户个人中心信息 Response VO") |  | ||||||
| @Data |  | ||||||
| @NoArgsConstructor |  | ||||||
| @AllArgsConstructor |  | ||||||
| @EqualsAndHashCode(callSuper = true) |  | ||||||
| public class SysUserProfileRespVO extends SysUserRespVO { |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 所属角色 |  | ||||||
|      */ |  | ||||||
|     @ApiModelProperty(value = "所属角色", required = true, example = "123456") |  | ||||||
|     private Set<Role> roles; |  | ||||||
|  |  | ||||||
|     @ApiModel("角色") |  | ||||||
|     @Data |  | ||||||
|     public static class Role { |  | ||||||
|  |  | ||||||
|         @ApiModelProperty(value = "角色编号", required = true, example = "1") |  | ||||||
|         private Long id; |  | ||||||
|  |  | ||||||
|         @ApiModelProperty(value = "角色名称", required = true, example = "普通角色") |  | ||||||
|         private String name; |  | ||||||
|  |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -3,7 +3,8 @@ package cn.iocoder.dashboard.modules.system.convert.auth; | |||||||
| import cn.iocoder.dashboard.framework.security.core.LoginUser; | import cn.iocoder.dashboard.framework.security.core.LoginUser; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthMenuRespVO; | import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthMenuRespVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthPermissionInfoRespVO; | import cn.iocoder.dashboard.modules.system.controller.auth.vo.auth.SysAuthPermissionInfoRespVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysMenuDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysMenuDO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; | ||||||
| @@ -41,6 +42,8 @@ public interface SysAuthConvert { | |||||||
|  |  | ||||||
|     LoginUser convert(SysUserProfileUpdateReqVO reqVO); |     LoginUser convert(SysUserProfileUpdateReqVO reqVO); | ||||||
|  |  | ||||||
|  |     LoginUser convert(SysUserProfileUpdatePasswordReqVo reqVO); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 将菜单列表,构建成菜单树 |      * 将菜单列表,构建成菜单树 | ||||||
|      * |      * | ||||||
|   | |||||||
| @@ -1,11 +1,12 @@ | |||||||
| package cn.iocoder.dashboard.modules.system.convert.user; | package cn.iocoder.dashboard.modules.system.convert.user; | ||||||
|  |  | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileRespVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExcelVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExcelVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageItemRespVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageItemRespVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileRespVO; |  | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; |  | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.permission.SysRoleDO; | ||||||
| @@ -36,6 +37,7 @@ public interface SysUserConvert { | |||||||
|  |  | ||||||
|     SysUserDO convert(SysUserProfileUpdateReqVO bean); |     SysUserDO convert(SysUserProfileUpdateReqVO bean); | ||||||
|  |  | ||||||
|  |     SysUserDO convert(SysUserProfileUpdatePasswordReqVo bean); | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,7 +2,14 @@ package cn.iocoder.dashboard.modules.system.service.user; | |||||||
|  |  | ||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.iocoder.dashboard.common.pojo.PageResult; | import cn.iocoder.dashboard.common.pojo.PageResult; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.*; | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO; | ||||||
| import cn.iocoder.dashboard.util.collection.CollectionUtils; | import cn.iocoder.dashboard.util.collection.CollectionUtils; | ||||||
|  |  | ||||||
| @@ -41,6 +48,14 @@ public interface SysUserService { | |||||||
|      */ |      */ | ||||||
|     void updateUserProfile(SysUserProfileUpdateReqVO reqVO); |     void updateUserProfile(SysUserProfileUpdateReqVO reqVO); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改用户个人密码 | ||||||
|  |      * | ||||||
|  |      * @param reqVO 更新用户个人密码 | ||||||
|  |      */ | ||||||
|  |     void updateUserPassword(SysUserProfileUpdatePasswordReqVo reqVO); | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 更新用户头像 |      * 更新用户头像 | ||||||
|      * |      * | ||||||
|   | |||||||
| @@ -9,12 +9,13 @@ import cn.iocoder.dashboard.common.exception.ServiceException; | |||||||
| import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil; | ||||||
| import cn.iocoder.dashboard.common.pojo.PageResult; | import cn.iocoder.dashboard.common.pojo.PageResult; | ||||||
| import cn.iocoder.dashboard.modules.infra.service.file.InfFileService; | import cn.iocoder.dashboard.modules.infra.service.file.InfFileService; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVo; | ||||||
|  | import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserProfileUpdateReqVO; |  | ||||||
| import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; | import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO; | ||||||
| import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; | import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert; | ||||||
| import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; | import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO; | ||||||
| @@ -95,16 +96,17 @@ public class SysUserServiceImpl implements SysUserService { | |||||||
|         this.checkUserExists(reqVO.getId()); |         this.checkUserExists(reqVO.getId()); | ||||||
|         this.checkEmailUnique(reqVO.getId(), reqVO.getEmail()); |         this.checkEmailUnique(reqVO.getId(), reqVO.getEmail()); | ||||||
|         this.checkMobileUnique(reqVO.getId(), reqVO.getMobile()); |         this.checkMobileUnique(reqVO.getId(), reqVO.getMobile()); | ||||||
|         // 校验填写密码 |         userMapper.updateById(SysUserConvert.INSTANCE.convert(reqVO)); | ||||||
|         String encode = null; |  | ||||||
|         if (this.checkOldPassword(reqVO.getId(), reqVO.getOldPassword(), reqVO.getNewPassword())) { |  | ||||||
|             // 更新密码 |  | ||||||
|             encode = passwordEncoder.encode(reqVO.getNewPassword()); |  | ||||||
|         } |  | ||||||
|         SysUserDO updateObj = SysUserConvert.INSTANCE.convert(reqVO); |  | ||||||
|         if (StrUtil.isNotBlank(encode)) { |  | ||||||
|             updateObj.setPassword(encode); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void updateUserPassword(SysUserProfileUpdatePasswordReqVo reqVO) { | ||||||
|  |         // 校验旧密码密码 | ||||||
|  |         this.checkOldPassword(reqVO.getId(), reqVO.getOldPassword()); | ||||||
|  |         SysUserDO updateObj = new SysUserDO(); | ||||||
|  |         updateObj.setId(reqVO.getId()); | ||||||
|  |         // 加密密码 | ||||||
|  |         updateObj.setPassword(passwordEncoder.encode(reqVO.getNewPassword())); | ||||||
|         userMapper.updateById(updateObj); |         userMapper.updateById(updateObj); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -314,26 +316,19 @@ public class SysUserServiceImpl implements SysUserService { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 校验旧密码、新密码 |      * 校验旧密码 | ||||||
|      * |      * | ||||||
|      * @param id          用户 id |      * @param id          用户 id | ||||||
|      * @param oldPassword 旧密码 |      * @param oldPassword 旧密码 | ||||||
|      * @param newPassword 新密码 |  | ||||||
|      * @return 校验结果 |  | ||||||
|      */ |      */ | ||||||
|     private boolean checkOldPassword(Long id, String oldPassword, String newPassword) { |     private void checkOldPassword(Long id, String oldPassword) { | ||||||
|         if (id == null || StrUtil.isBlank(oldPassword) || StrUtil.isBlank(newPassword)) { |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|         SysUserDO user = userMapper.selectById(id); |         SysUserDO user = userMapper.selectById(id); | ||||||
|         if (user == null) { |         if (user == null) { | ||||||
|             throw ServiceExceptionUtil.exception(USER_NOT_EXISTS); |             throw ServiceExceptionUtil.exception(USER_NOT_EXISTS); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!passwordEncoder.matches(oldPassword, user.getPassword())) { |         if (!passwordEncoder.matches(oldPassword, user.getPassword())) { | ||||||
|             throw ServiceExceptionUtil.exception(USER_PASSWORD_FAILED); |             throw ServiceExceptionUtil.exception(USER_PASSWORD_FAILED); | ||||||
|         } |         } | ||||||
|         return true; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 niudehua
					niudehua