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