|
@@ -1,51 +1,54 @@
|
|
|
package cn.iocoder.dashboard.modules.system.controller.user;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
|
|
|
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
|
|
-import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
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.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.user.SysUserConvert;
|
|
|
+import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO;
|
|
|
+import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysPostDO;
|
|
|
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.service.dept.SysDeptService;
|
|
|
+import cn.iocoder.dashboard.modules.system.service.dept.SysPostService;
|
|
|
import cn.iocoder.dashboard.modules.system.service.permission.SysPermissionService;
|
|
|
import cn.iocoder.dashboard.modules.system.service.permission.SysRoleService;
|
|
|
import cn.iocoder.dashboard.modules.system.service.user.SysUserService;
|
|
|
-import cn.iocoder.dashboard.util.collection.CollectionUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-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.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.Valid;
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static cn.iocoder.dashboard.common.pojo.CommonResult.success;
|
|
|
+import static cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.FILE_IS_EMPTY;
|
|
|
|
|
|
/**
|
|
|
* @author niudehua
|
|
|
*/
|
|
|
+@Api(tags = "用户个人中心")
|
|
|
@RestController
|
|
|
@RequestMapping("/system/user/profile")
|
|
|
-@Api(tags = "用户个人中心")
|
|
|
+@Validated
|
|
|
@Slf4j
|
|
|
public class SysUserProfileController {
|
|
|
|
|
|
@Resource
|
|
|
private SysUserService userService;
|
|
|
@Resource
|
|
|
+ private SysDeptService deptService;
|
|
|
+ @Resource
|
|
|
+ private SysPostService postService;
|
|
|
+ @Resource
|
|
|
private SysPermissionService permissionService;
|
|
|
@Resource
|
|
|
private SysRoleService roleService;
|
|
@@ -53,28 +56,36 @@ public class SysUserProfileController {
|
|
|
@GetMapping("/get")
|
|
|
@ApiOperation("获得登录用户信息")
|
|
|
public CommonResult<SysUserProfileRespVO> profile() {
|
|
|
- // 获取用户信息
|
|
|
- Long userId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- SysUserDO user = userService.getUser(userId);
|
|
|
- SysUserProfileRespVO userProfileRespVO = SysUserConvert.INSTANCE.convert03(user);
|
|
|
- List<SysRoleDO> userRoles = roleService.getRolesFromCache(permissionService.listUserRoleIs(userId));
|
|
|
- userProfileRespVO.setRoles(CollectionUtils.convertSet(userRoles, SysUserConvert.INSTANCE::convert));
|
|
|
- return success(userProfileRespVO);
|
|
|
+ // 获得用户基本信息
|
|
|
+ SysUserDO user = userService.getUser(getLoginUserId());
|
|
|
+ SysUserProfileRespVO resp = SysUserConvert.INSTANCE.convert03(user);
|
|
|
+ // 获得用户角色
|
|
|
+ List<SysRoleDO> userRoles = roleService.getRolesFromCache(permissionService.listUserRoleIs(user.getId()));
|
|
|
+ resp.setRoles(SysUserConvert.INSTANCE.convertList(userRoles));
|
|
|
+ // 获得部门信息
|
|
|
+ if (user.getDeptId() != null) {
|
|
|
+ SysDeptDO dept = deptService.getDept(user.getDeptId());
|
|
|
+ resp.setDept(SysUserConvert.INSTANCE.convert02(dept));
|
|
|
+ }
|
|
|
+ // 获得岗位信息
|
|
|
+ if (CollUtil.isNotEmpty(user.getPostIds())) {
|
|
|
+ List<SysPostDO> posts = postService.getPosts(user.getPostIds());
|
|
|
+ resp.setPosts(SysUserConvert.INSTANCE.convertList02(posts));
|
|
|
+ }
|
|
|
+ return success(resp);
|
|
|
}
|
|
|
|
|
|
@PutMapping("/update")
|
|
|
@ApiOperation("修改用户个人信息")
|
|
|
- public CommonResult<Boolean> updateUserProfile(@Valid @RequestBody SysUserProfileUpdateReqVO reqVO, HttpServletRequest request) {
|
|
|
- userService.updateUserProfile(reqVO);
|
|
|
- SecurityFrameworkUtils.setLoginUser(SysAuthConvert.INSTANCE.convert(reqVO), request);
|
|
|
+ public CommonResult<Boolean> updateUserProfile(@Valid @RequestBody SysUserProfileUpdateReqVO reqVO) {
|
|
|
+ userService.updateUserProfile(getLoginUserId(), reqVO);
|
|
|
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);
|
|
|
+ public CommonResult<Boolean> updateUserProfilePassword(@Valid @RequestBody SysUserProfileUpdatePasswordReqVO reqVO) {
|
|
|
+ userService.updateUserPassword(getLoginUserId(), reqVO);
|
|
|
return success(true);
|
|
|
}
|
|
|
|
|
@@ -84,7 +95,7 @@ public class SysUserProfileController {
|
|
|
if (file.isEmpty()) {
|
|
|
throw ServiceExceptionUtil.exception(FILE_IS_EMPTY);
|
|
|
}
|
|
|
- userService.updateUserAvatar(SecurityFrameworkUtils.getLoginUserId(), file.getInputStream());
|
|
|
+ userService.updateUserAvatar(getLoginUserId(), file.getInputStream());
|
|
|
return success(true);
|
|
|
}
|
|
|
|