Prechádzať zdrojové kódy

add 新增 用户、部门、角色、岗位 下拉选接口与代码实现优化

疯狂的狮子Li 2 rokov pred
rodič
commit
d3394afab1

+ 12 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java

@@ -120,4 +120,16 @@ public class SysDeptController extends BaseController {
         deptService.checkDeptDataScope(deptId);
         return toAjax(deptService.deleteDeptById(deptId));
     }
+
+    /**
+     * 获取部门选择框列表
+     *
+     * @param deptIds 部门ID串
+     */
+    @SaCheckPermission("system:dept:query")
+    @GetMapping("/optionselect")
+    public R<List<SysDeptVo>> optionselect(@RequestParam(required = false) Long[] deptIds) {
+        return R.ok(deptService.selectDeptByIds(List.of(deptIds)));
+    }
+
 }

+ 6 - 5
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java

@@ -110,12 +110,13 @@ public class SysPostController extends BaseController {
 
     /**
      * 获取岗位选择框列表
+     *
+     * @param postIds 岗位ID串
      */
+    @SaCheckPermission("system:post:query")
     @GetMapping("/optionselect")
-    public R<List<SysPostVo>> optionselect() {
-        SysPostBo postBo = new SysPostBo();
-        postBo.setStatus(UserConstants.POST_NORMAL);
-        List<SysPostVo> posts = postService.selectPostList(postBo);
-        return R.ok(posts);
+    public R<List<SysPostVo>> optionselect(@RequestParam(required = false) Long[] postIds) {
+        return R.ok(postService.selectPostByIds(List.of(postIds)));
     }
+
 }

+ 4 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java

@@ -149,11 +149,13 @@ public class SysRoleController extends BaseController {
 
     /**
      * 获取角色选择框列表
+     *
+     * @param roleIds 角色ID串
      */
     @SaCheckPermission("system:role:query")
     @GetMapping("/optionselect")
-    public R<List<SysRoleVo>> optionselect() {
-        return R.ok(roleService.selectRoleAll());
+    public R<List<SysRoleVo>> optionselect(@RequestParam(required = false) Long[] roleIds) {
+        return R.ok(roleService.selectRoleByIds(List.of(roleIds)));
     }
 
     /**

+ 13 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@@ -206,6 +206,19 @@ public class SysUserController extends BaseController {
         return toAjax(userService.deleteUserByIds(userIds));
     }
 
+    /**
+     * 根据用户ID串批量获取用户基础信息
+     *
+     * @param userIds 用户ID串
+     * @param deptId  部门ID
+     */
+    @SaCheckPermission("system:user:query")
+    @GetMapping("/optionselect")
+    public R<List<SysUserVo>> optionselect(@RequestParam(required = false) Long[] userIds,
+                                           @RequestParam(required = false) Long deptId) {
+        return R.ok(userService.selectUserByIds(List.of(userIds), deptId));
+    }
+
     /**
      * 重置密码
      */

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java

@@ -52,6 +52,14 @@ public interface ISysDeptService {
      */
     SysDeptVo selectDeptById(Long deptId);
 
+    /**
+     * 通过部门ID串查询部门
+     *
+     * @param deptIds 部门id串
+     * @return 部门列表信息
+     */
+    List<SysDeptVo> selectDeptByIds(List<Long> deptIds);
+
     /**
      * 通过部门ID查询部门名称
      *

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java

@@ -48,6 +48,14 @@ public interface ISysPostService {
      */
     List<Long> selectPostListByUserId(Long userId);
 
+    /**
+     * 通过岗位ID串查询岗位
+     *
+     * @param postIds 岗位id串
+     * @return 岗位列表信息
+     */
+    List<SysPostVo> selectPostByIds(List<Long> postIds);
+
     /**
      * 校验岗位名称
      *

+ 8 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java

@@ -74,6 +74,14 @@ public interface ISysRoleService {
      */
     SysRoleVo selectRoleById(Long roleId);
 
+    /**
+     * 通过角色ID串查询角色
+     *
+     * @param roleIds 角色ID串
+     * @return 角色列表信息
+     */
+    List<SysRoleVo> selectRoleByIds(List<Long> roleIds);
+
     /**
      * 校验角色名称是否唯一
      *

+ 9 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java

@@ -66,6 +66,15 @@ public interface ISysUserService {
      */
     SysUserVo selectUserById(Long userId);
 
+    /**
+     * 通过用户ID串查询用户
+     *
+     * @param userIds 用户ID串
+     * @param deptId  部门id
+     * @return 用户列表信息
+     */
+    List<SysUserVo> selectUserByIds(List<Long> userIds, Long deptId);
+
     /**
      * 根据用户ID查询用户所属角色组
      *

+ 14 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@@ -138,6 +138,20 @@ public class SysDeptServiceImpl implements ISysDeptService {
         return dept;
     }
 
+    /**
+     * 通过部门ID串查询部门
+     *
+     * @param deptIds 部门id串
+     * @return 部门列表信息
+     */
+    @Override
+    public List<SysDeptVo> selectDeptByIds(List<Long> deptIds) {
+        return baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>()
+            .select(SysDept::getDeptId, SysDept::getDeptName, SysDept::getLeader)
+            .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+            .in(CollUtil.isNotEmpty(deptIds), SysDept::getDeptId, deptIds));
+    }
+
     /**
      * 通过部门ID查询部门名称
      *

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java

@@ -1,10 +1,12 @@
 package org.dromara.system.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.dromara.common.core.constant.UserConstants;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StreamUtils;
@@ -97,6 +99,20 @@ public class SysPostServiceImpl implements ISysPostService {
         return StreamUtils.toList(list, SysPostVo::getPostId);
     }
 
+    /**
+     * 通过岗位ID串查询岗位
+     *
+     * @param postIds 岗位id串
+     * @return 岗位列表信息
+     */
+    @Override
+    public List<SysPostVo> selectPostByIds(List<Long> postIds) {
+        return baseMapper.selectVoList(new LambdaQueryWrapper<SysPost>()
+            .select(SysPost::getPostId, SysPost::getPostName, SysPost::getPostCode)
+            .eq(SysPost::getStatus, UserConstants.POST_NORMAL)
+            .in(CollUtil.isNotEmpty(postIds), SysPost::getPostId, postIds));
+    }
+
     /**
      * 校验岗位名称是否唯一
      *

+ 14 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java

@@ -166,6 +166,20 @@ public class SysRoleServiceImpl implements ISysRoleService {
         return baseMapper.selectRoleById(roleId);
     }
 
+    /**
+     * 通过角色ID串查询角色
+     *
+     * @param roleIds 角色ID串
+     * @return 角色列表信息
+     */
+    @Override
+    public List<SysRoleVo> selectRoleByIds(List<Long> roleIds) {
+        return baseMapper.selectRoleList(new LambdaQueryWrapper<SysRole>()
+            .select(SysRole::getRoleId, SysRole::getRoleName, SysRole::getRoleKey)
+            .eq(SysRole::getStatus, UserConstants.ROLE_NORMAL)
+            .in(CollUtil.isNotEmpty(roleIds), SysRole::getRoleId, roleIds));
+    }
+
     /**
      * 校验角色名称是否唯一
      *

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -171,6 +171,22 @@ public class SysUserServiceImpl implements ISysUserService {
         return user;
     }
 
+    /**
+     * 通过用户ID串查询用户
+     *
+     * @param userIds 用户ID串
+     * @param deptId  部门id
+     * @return 用户列表信息
+     */
+    @Override
+    public List<SysUserVo> selectUserByIds(List<Long> userIds, Long deptId) {
+        return baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
+            .select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName)
+            .eq(SysUser::getStatus, UserConstants.USER_NORMAL)
+            .eq(ObjectUtil.isNotNull(deptId), SysUser::getDeptId, deptId)
+            .in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds));
+    }
+
     /**
      * 查询用户所属角色组
      *