From 0027f671d2a99b29aa0cb68c46820abdd24f906e Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 12 十二月 2024 23:31:26 +0800 Subject: [PATCH] update 优化 登录用户增加岗位数据 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java | 14 ++++++ ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java | 8 +++ ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 13 ++++-- ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PostService.java | 10 +++++ ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/PostDTO.java | 46 +++++++++++++++++++++++ ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java | 8 ++++ 6 files changed, 93 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 2eae90a..41a802b 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -14,6 +14,7 @@ import org.dromara.common.core.constant.Constants; import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.constant.TenantConstants; +import org.dromara.common.core.domain.dto.PostDTO; import org.dromara.common.core.domain.dto.RoleDTO; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.enums.LoginType; @@ -60,6 +61,7 @@ private final ISysSocialService sysSocialService; private final ISysRoleService roleService; private final ISysDeptService deptService; + private final ISysPostService postService; private final SysUserMapper userMapper; @@ -148,21 +150,24 @@ */ public LoginUser buildLoginUser(SysUserVo user) { LoginUser loginUser = new LoginUser(); + Long userId = user.getUserId(); loginUser.setTenantId(user.getTenantId()); - loginUser.setUserId(user.getUserId()); + loginUser.setUserId(userId); loginUser.setDeptId(user.getDeptId()); loginUser.setUsername(user.getUserName()); loginUser.setNickname(user.getNickName()); loginUser.setUserType(user.getUserType()); - loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); - loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); + loginUser.setMenuPermission(permissionService.getMenuPermission(userId)); + loginUser.setRolePermission(permissionService.getRolePermission(userId)); if (ObjectUtil.isNotNull(user.getDeptId())) { Opt<SysDeptVo> deptOpt = Opt.of(user.getDeptId()).map(deptService::selectDeptById); loginUser.setDeptName(deptOpt.map(SysDeptVo::getDeptName).orElse(StringUtils.EMPTY)); loginUser.setDeptCategory(deptOpt.map(SysDeptVo::getDeptCategory).orElse(StringUtils.EMPTY)); } - List<SysRoleVo> roles = roleService.selectRolesByUserId(user.getUserId()); + List<SysRoleVo> roles = roleService.selectRolesByUserId(userId); + List<SysPostVo> posts = postService.selectPostsByUserId(userId); loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class)); + loginUser.setPosts(BeanUtil.copyToList(posts, PostDTO.class)); return loginUser; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/PostDTO.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/PostDTO.java new file mode 100644 index 0000000..7536ee3 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/PostDTO.java @@ -0,0 +1,46 @@ +package org.dromara.common.core.domain.dto; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 宀椾綅 + * + * @author AprilWind + */ +@Data +@NoArgsConstructor +public class PostDTO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 宀椾綅ID + */ + private Long postId; + + /** + * 閮ㄩ棬id + */ + private Long deptId; + + /** + * 宀椾綅缂栫爜 + */ + private String postCode; + + /** + * 宀椾綅鍚嶇О + */ + private String postName; + + /** + * 宀椾綅绫诲埆缂栫爜 + */ + private String postCategory; + +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java index c723e76..338d4d7 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java @@ -1,8 +1,9 @@ package org.dromara.common.core.domain.model; -import org.dromara.common.core.domain.dto.RoleDTO; import lombok.Data; import lombok.NoArgsConstructor; +import org.dromara.common.core.domain.dto.PostDTO; +import org.dromara.common.core.domain.dto.RoleDTO; import java.io.Serial; import java.io.Serializable; @@ -112,6 +113,11 @@ private List<RoleDTO> roles; /** + * 宀椾綅瀵硅薄 + */ + private List<PostDTO> posts; + + /** * 鏁版嵁鏉冮檺 褰撳墠瑙掕壊ID */ private Long roleId; diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PostService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PostService.java new file mode 100644 index 0000000..41d4e83 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PostService.java @@ -0,0 +1,10 @@ +package org.dromara.common.core.service; + +/** + * 閫氱敤 宀椾綅鏈嶅姟 + * + * @author AprilWind + */ +public interface PostService { + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java index 3751b23..a760d49 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java @@ -26,6 +26,14 @@ List<SysPostVo> selectPostList(SysPostBo post); /** + * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 + * + * @param userId 鐢ㄦ埛ID + * @return 宀椾綅ID + */ + List<SysPostVo> selectPostsByUserId(Long userId); + + /** * 鏌ヨ鎵�鏈夊矖浣� * * @return 宀椾綅鍒楄〃 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java index 8643f0d..72f1a5e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java @@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.service.PostService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; @@ -34,7 +35,7 @@ */ @RequiredArgsConstructor @Service -public class SysPostServiceImpl implements ISysPostService { +public class SysPostServiceImpl implements ISysPostService, PostService { private final SysPostMapper baseMapper; private final SysDeptMapper deptMapper; @@ -58,6 +59,17 @@ } /** + * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 + * + * @param userId 鐢ㄦ埛ID + * @return 宀椾綅ID + */ + @Override + public List<SysPostVo> selectPostsByUserId(Long userId) { + return baseMapper.selectPostsByUserId(userId); + } + + /** * 鏍规嵁鏌ヨ鏉′欢鏋勫缓鏌ヨ鍖呰鍣� * * @param bo 鏌ヨ鏉′欢瀵硅薄 -- Gitblit v1.9.3