mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	add 新增 用户、部门、角色、岗位 下拉选接口与代码实现优化
This commit is contained in:
		@@ -2,6 +2,7 @@ package org.dromara.system.controller.system;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
					import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
				
			||||||
import cn.hutool.core.convert.Convert;
 | 
					import cn.hutool.core.convert.Convert;
 | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
import org.dromara.common.core.constant.UserConstants;
 | 
					import org.dromara.common.core.constant.UserConstants;
 | 
				
			||||||
import org.dromara.common.core.domain.R;
 | 
					import org.dromara.common.core.domain.R;
 | 
				
			||||||
import org.dromara.common.core.utils.StringUtils;
 | 
					import org.dromara.common.core.utils.StringUtils;
 | 
				
			||||||
@@ -11,7 +12,6 @@ import org.dromara.common.web.core.BaseController;
 | 
				
			|||||||
import org.dromara.system.domain.bo.SysDeptBo;
 | 
					import org.dromara.system.domain.bo.SysDeptBo;
 | 
				
			||||||
import org.dromara.system.domain.vo.SysDeptVo;
 | 
					import org.dromara.system.domain.vo.SysDeptVo;
 | 
				
			||||||
import org.dromara.system.service.ISysDeptService;
 | 
					import org.dromara.system.service.ISysDeptService;
 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					 | 
				
			||||||
import org.springframework.validation.annotation.Validated;
 | 
					import org.springframework.validation.annotation.Validated;
 | 
				
			||||||
import org.springframework.web.bind.annotation.*;
 | 
					import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -120,4 +120,16 @@ public class SysDeptController extends BaseController {
 | 
				
			|||||||
        deptService.checkDeptDataScope(deptId);
 | 
					        deptService.checkDeptDataScope(deptId);
 | 
				
			||||||
        return toAjax(deptService.deleteDeptById(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)));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,8 @@
 | 
				
			|||||||
package org.dromara.system.controller.system;
 | 
					package org.dromara.system.controller.system;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
					import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
				
			||||||
 | 
					import jakarta.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
import org.dromara.common.core.constant.UserConstants;
 | 
					import org.dromara.common.core.constant.UserConstants;
 | 
				
			||||||
import org.dromara.common.core.domain.R;
 | 
					import org.dromara.common.core.domain.R;
 | 
				
			||||||
import org.dromara.common.excel.utils.ExcelUtil;
 | 
					import org.dromara.common.excel.utils.ExcelUtil;
 | 
				
			||||||
@@ -12,8 +14,6 @@ import org.dromara.common.web.core.BaseController;
 | 
				
			|||||||
import org.dromara.system.domain.bo.SysPostBo;
 | 
					import org.dromara.system.domain.bo.SysPostBo;
 | 
				
			||||||
import org.dromara.system.domain.vo.SysPostVo;
 | 
					import org.dromara.system.domain.vo.SysPostVo;
 | 
				
			||||||
import org.dromara.system.service.ISysPostService;
 | 
					import org.dromara.system.service.ISysPostService;
 | 
				
			||||||
import jakarta.servlet.http.HttpServletResponse;
 | 
					 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					 | 
				
			||||||
import org.springframework.validation.annotation.Validated;
 | 
					import org.springframework.validation.annotation.Validated;
 | 
				
			||||||
import org.springframework.web.bind.annotation.*;
 | 
					import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -110,12 +110,13 @@ public class SysPostController extends BaseController {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 获取岗位选择框列表
 | 
					     * 获取岗位选择框列表
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param postIds 岗位ID串
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					    @SaCheckPermission("system:dept:query")
 | 
				
			||||||
    @GetMapping("/optionselect")
 | 
					    @GetMapping("/optionselect")
 | 
				
			||||||
    public R<List<SysPostVo>> optionselect() {
 | 
					    public R<List<SysPostVo>> optionselect(@RequestParam(required = false) Long[] postIds) {
 | 
				
			||||||
        SysPostBo postBo = new SysPostBo();
 | 
					        return R.ok(postService.selectPostByIds(List.of(postIds)));
 | 
				
			||||||
        postBo.setStatus(UserConstants.POST_NORMAL);
 | 
					 | 
				
			||||||
        List<SysPostVo> posts = postService.selectPostList(postBo);
 | 
					 | 
				
			||||||
        return R.ok(posts);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -149,11 +149,13 @@ public class SysRoleController extends BaseController {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 获取角色选择框列表
 | 
					     * 获取角色选择框列表
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param roleIds 角色ID串
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @SaCheckPermission("system:role:query")
 | 
					    @SaCheckPermission("system:role:query")
 | 
				
			||||||
    @GetMapping("/optionselect")
 | 
					    @GetMapping("/optionselect")
 | 
				
			||||||
    public R<List<SysRoleVo>> optionselect() {
 | 
					    public R<List<SysRoleVo>> optionselect(@RequestParam(required = false) Long[] roleIds) {
 | 
				
			||||||
        return R.ok(roleService.selectRoleAll());
 | 
					        return R.ok(roleService.selectRoleByIds(List.of(roleIds)));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,6 @@ import lombok.RequiredArgsConstructor;
 | 
				
			|||||||
import org.dromara.common.core.constant.UserConstants;
 | 
					import org.dromara.common.core.constant.UserConstants;
 | 
				
			||||||
import org.dromara.common.core.domain.R;
 | 
					import org.dromara.common.core.domain.R;
 | 
				
			||||||
import org.dromara.common.core.domain.model.LoginUser;
 | 
					import org.dromara.common.core.domain.model.LoginUser;
 | 
				
			||||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
					 | 
				
			||||||
import org.dromara.common.core.utils.StreamUtils;
 | 
					import org.dromara.common.core.utils.StreamUtils;
 | 
				
			||||||
import org.dromara.common.core.utils.StringUtils;
 | 
					import org.dromara.common.core.utils.StringUtils;
 | 
				
			||||||
import org.dromara.common.encrypt.annotation.ApiEncrypt;
 | 
					import org.dromara.common.encrypt.annotation.ApiEncrypt;
 | 
				
			||||||
@@ -206,6 +205,19 @@ public class SysUserController extends BaseController {
 | 
				
			|||||||
        return toAjax(userService.deleteUserByIds(userIds));
 | 
					        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));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 重置密码
 | 
					     * 重置密码
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,6 +52,14 @@ public interface ISysDeptService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    SysDeptVo selectDeptById(Long deptId);
 | 
					    SysDeptVo selectDeptById(Long deptId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 通过部门ID串查询部门
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param deptIds 部门id串
 | 
				
			||||||
 | 
					     * @return 部门列表信息
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    List<SysDeptVo> selectDeptByIds(List<Long> deptIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据ID查询所有子部门数(正常状态)
 | 
					     * 根据ID查询所有子部门数(正常状态)
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,6 +48,14 @@ public interface ISysPostService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    List<Long> selectPostListByUserId(Long userId);
 | 
					    List<Long> selectPostListByUserId(Long userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 通过岗位ID串查询岗位
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param postIds 岗位id串
 | 
				
			||||||
 | 
					     * @return 岗位列表信息
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    List<SysPostVo> selectPostByIds(List<Long> postIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 校验岗位名称
 | 
					     * 校验岗位名称
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,6 +74,14 @@ public interface ISysRoleService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    SysRoleVo selectRoleById(Long roleId);
 | 
					    SysRoleVo selectRoleById(Long roleId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 通过角色ID串查询角色
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param roleIds 角色ID串
 | 
				
			||||||
 | 
					     * @return 角色列表信息
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    List<SysRoleVo> selectRoleByIds(List<Long> roleIds);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 校验角色名称是否唯一
 | 
					     * 校验角色名称是否唯一
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,6 +66,15 @@ public interface ISysUserService {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    SysUserVo selectUserById(Long userId);
 | 
					    SysUserVo selectUserById(Long userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 通过用户ID串查询用户
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param userIds 用户ID串
 | 
				
			||||||
 | 
					     * @param deptId  部门id
 | 
				
			||||||
 | 
					     * @return 用户列表信息
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    List<SysUserVo> selectUserByIds(List<Long> userIds, Long deptId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 根据用户ID查询用户所属角色组
 | 
					     * 根据用户ID查询用户所属角色组
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
 | 
				
			|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
					import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
				
			||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 | 
					import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 | 
				
			||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
					import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
import org.dromara.common.core.constant.CacheNames;
 | 
					import org.dromara.common.core.constant.CacheNames;
 | 
				
			||||||
import org.dromara.common.core.constant.UserConstants;
 | 
					import org.dromara.common.core.constant.UserConstants;
 | 
				
			||||||
import org.dromara.common.core.exception.ServiceException;
 | 
					import org.dromara.common.core.exception.ServiceException;
 | 
				
			||||||
@@ -27,7 +28,6 @@ import org.dromara.system.mapper.SysDeptMapper;
 | 
				
			|||||||
import org.dromara.system.mapper.SysRoleMapper;
 | 
					import org.dromara.system.mapper.SysRoleMapper;
 | 
				
			||||||
import org.dromara.system.mapper.SysUserMapper;
 | 
					import org.dromara.system.mapper.SysUserMapper;
 | 
				
			||||||
import org.dromara.system.service.ISysDeptService;
 | 
					import org.dromara.system.service.ISysDeptService;
 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					 | 
				
			||||||
import org.springframework.cache.annotation.CacheEvict;
 | 
					import org.springframework.cache.annotation.CacheEvict;
 | 
				
			||||||
import org.springframework.cache.annotation.Cacheable;
 | 
					import org.springframework.cache.annotation.Cacheable;
 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
@@ -139,6 +139,14 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
 | 
				
			|||||||
        return dept;
 | 
					        return dept;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @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查询部门名称
 | 
					     * 通过部门ID查询部门名称
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,13 @@
 | 
				
			|||||||
package org.dromara.system.service.impl;
 | 
					package org.dromara.system.service.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.hutool.core.collection.CollUtil;
 | 
				
			||||||
import cn.hutool.core.util.ObjectUtil;
 | 
					import cn.hutool.core.util.ObjectUtil;
 | 
				
			||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
					import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
				
			||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
					import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
				
			||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
					import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
				
			||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
					import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
				
			||||||
 | 
					import lombok.RequiredArgsConstructor;
 | 
				
			||||||
 | 
					import org.dromara.common.core.constant.UserConstants;
 | 
				
			||||||
import org.dromara.common.core.exception.ServiceException;
 | 
					import org.dromara.common.core.exception.ServiceException;
 | 
				
			||||||
import org.dromara.common.core.utils.MapstructUtils;
 | 
					import org.dromara.common.core.utils.MapstructUtils;
 | 
				
			||||||
import org.dromara.common.core.utils.StreamUtils;
 | 
					import org.dromara.common.core.utils.StreamUtils;
 | 
				
			||||||
@@ -18,7 +21,6 @@ import org.dromara.system.domain.vo.SysPostVo;
 | 
				
			|||||||
import org.dromara.system.mapper.SysPostMapper;
 | 
					import org.dromara.system.mapper.SysPostMapper;
 | 
				
			||||||
import org.dromara.system.mapper.SysUserPostMapper;
 | 
					import org.dromara.system.mapper.SysUserPostMapper;
 | 
				
			||||||
import org.dromara.system.service.ISysPostService;
 | 
					import org.dromara.system.service.ISysPostService;
 | 
				
			||||||
import lombok.RequiredArgsConstructor;
 | 
					 | 
				
			||||||
import org.springframework.stereotype.Service;
 | 
					import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Arrays;
 | 
					import java.util.Arrays;
 | 
				
			||||||
@@ -97,6 +99,20 @@ public class SysPostServiceImpl implements ISysPostService {
 | 
				
			|||||||
        return StreamUtils.toList(list, SysPostVo::getPostId);
 | 
					        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));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 校验岗位名称是否唯一
 | 
					     * 校验岗位名称是否唯一
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -166,6 +166,20 @@ public class SysRoleServiceImpl implements ISysRoleService {
 | 
				
			|||||||
        return baseMapper.selectRoleById(roleId);
 | 
					        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));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 校验角色名称是否唯一
 | 
					     * 校验角色名称是否唯一
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,20 +78,20 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
        Map<String, Object> params = user.getParams();
 | 
					        Map<String, Object> params = user.getParams();
 | 
				
			||||||
        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
					        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
				
			||||||
        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
					        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
				
			||||||
                .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
 | 
					            .eq(ObjectUtil.isNotNull(user.getUserId()), "u.user_id", user.getUserId())
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
					            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
				
			||||||
                .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
 | 
					            .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
					            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
				
			||||||
                .between(params.get("beginTime") != null && params.get("endTime") != null,
 | 
					            .between(params.get("beginTime") != null && params.get("endTime") != null,
 | 
				
			||||||
                        "u.create_time", params.get("beginTime"), params.get("endTime"))
 | 
					                "u.create_time", params.get("beginTime"), params.get("endTime"))
 | 
				
			||||||
                .and(ObjectUtil.isNotNull(user.getDeptId()), w -> {
 | 
					            .and(ObjectUtil.isNotNull(user.getDeptId()), w -> {
 | 
				
			||||||
                    List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
 | 
					                List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
 | 
				
			||||||
                            .select(SysDept::getDeptId)
 | 
					                    .select(SysDept::getDeptId)
 | 
				
			||||||
                            .apply(DataBaseHelper.findInSet(user.getDeptId(), "ancestors")));
 | 
					                    .apply(DataBaseHelper.findInSet(user.getDeptId(), "ancestors")));
 | 
				
			||||||
                    List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId);
 | 
					                List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId);
 | 
				
			||||||
                    ids.add(user.getDeptId());
 | 
					                ids.add(user.getDeptId());
 | 
				
			||||||
                    w.in("u.dept_id", ids);
 | 
					                w.in("u.dept_id", ids);
 | 
				
			||||||
                }).orderByAsc("u.user_id");
 | 
					            }).orderByAsc("u.user_id");
 | 
				
			||||||
        return wrapper;
 | 
					        return wrapper;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -105,11 +105,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    public TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery) {
 | 
					    public TableDataInfo<SysUserVo> selectAllocatedList(SysUserBo user, PageQuery pageQuery) {
 | 
				
			||||||
        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
					        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
				
			||||||
        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
					        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
				
			||||||
                .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId())
 | 
					            .eq(ObjectUtil.isNotNull(user.getRoleId()), "r.role_id", user.getRoleId())
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
					            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
				
			||||||
                .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
 | 
					            .eq(StringUtils.isNotBlank(user.getStatus()), "u.status", user.getStatus())
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
					            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
				
			||||||
                .orderByAsc("u.user_id");
 | 
					            .orderByAsc("u.user_id");
 | 
				
			||||||
        Page<SysUserVo> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper);
 | 
					        Page<SysUserVo> page = baseMapper.selectAllocatedList(pageQuery.build(), wrapper);
 | 
				
			||||||
        return TableDataInfo.build(page);
 | 
					        return TableDataInfo.build(page);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -125,11 +125,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
        List<Long> userIds = userRoleMapper.selectUserIdsByRoleId(user.getRoleId());
 | 
					        List<Long> userIds = userRoleMapper.selectUserIdsByRoleId(user.getRoleId());
 | 
				
			||||||
        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
					        QueryWrapper<SysUser> wrapper = Wrappers.query();
 | 
				
			||||||
        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
					        wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
 | 
				
			||||||
                .and(w -> w.ne("r.role_id", user.getRoleId()).or().isNull("r.role_id"))
 | 
					            .and(w -> w.ne("r.role_id", user.getRoleId()).or().isNull("r.role_id"))
 | 
				
			||||||
                .notIn(CollUtil.isNotEmpty(userIds), "u.user_id", userIds)
 | 
					            .notIn(CollUtil.isNotEmpty(userIds), "u.user_id", userIds)
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
					            .like(StringUtils.isNotBlank(user.getUserName()), "u.user_name", user.getUserName())
 | 
				
			||||||
                .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
					            .like(StringUtils.isNotBlank(user.getPhonenumber()), "u.phonenumber", user.getPhonenumber())
 | 
				
			||||||
                .orderByAsc("u.user_id");
 | 
					            .orderByAsc("u.user_id");
 | 
				
			||||||
        Page<SysUserVo> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper);
 | 
					        Page<SysUserVo> page = baseMapper.selectUnallocatedList(pageQuery.build(), wrapper);
 | 
				
			||||||
        return TableDataInfo.build(page);
 | 
					        return TableDataInfo.build(page);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -172,6 +172,22 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
        return user;
 | 
					        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));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 查询用户所属角色组
 | 
					     * 查询用户所属角色组
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
@@ -211,8 +227,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean checkUserNameUnique(SysUserBo user) {
 | 
					    public boolean checkUserNameUnique(SysUserBo user) {
 | 
				
			||||||
        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
					        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
				
			||||||
                .eq(SysUser::getUserName, user.getUserName())
 | 
					            .eq(SysUser::getUserName, user.getUserName())
 | 
				
			||||||
                .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
					            .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
				
			||||||
        return !exist;
 | 
					        return !exist;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -224,8 +240,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean checkPhoneUnique(SysUserBo user) {
 | 
					    public boolean checkPhoneUnique(SysUserBo user) {
 | 
				
			||||||
        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
					        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
				
			||||||
                .eq(SysUser::getPhonenumber, user.getPhonenumber())
 | 
					            .eq(SysUser::getPhonenumber, user.getPhonenumber())
 | 
				
			||||||
                .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
					            .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
				
			||||||
        return !exist;
 | 
					        return !exist;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -237,8 +253,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean checkEmailUnique(SysUserBo user) {
 | 
					    public boolean checkEmailUnique(SysUserBo user) {
 | 
				
			||||||
        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
					        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
 | 
				
			||||||
                .eq(SysUser::getEmail, user.getEmail())
 | 
					            .eq(SysUser::getEmail, user.getEmail())
 | 
				
			||||||
                .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
					            .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
 | 
				
			||||||
        return !exist;
 | 
					        return !exist;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -351,9 +367,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public int updateUserStatus(Long userId, String status) {
 | 
					    public int updateUserStatus(Long userId, String status) {
 | 
				
			||||||
        return baseMapper.update(null,
 | 
					        return baseMapper.update(null,
 | 
				
			||||||
                new LambdaUpdateWrapper<SysUser>()
 | 
					            new LambdaUpdateWrapper<SysUser>()
 | 
				
			||||||
                        .set(SysUser::getStatus, status)
 | 
					                .set(SysUser::getStatus, status)
 | 
				
			||||||
                        .eq(SysUser::getUserId, userId));
 | 
					                .eq(SysUser::getUserId, userId));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -365,12 +381,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public int updateUserProfile(SysUserBo user) {
 | 
					    public int updateUserProfile(SysUserBo user) {
 | 
				
			||||||
        return baseMapper.update(null,
 | 
					        return baseMapper.update(null,
 | 
				
			||||||
                new LambdaUpdateWrapper<SysUser>()
 | 
					            new LambdaUpdateWrapper<SysUser>()
 | 
				
			||||||
                        .set(ObjectUtil.isNotNull(user.getNickName()), SysUser::getNickName, user.getNickName())
 | 
					                .set(ObjectUtil.isNotNull(user.getNickName()), SysUser::getNickName, user.getNickName())
 | 
				
			||||||
                        .set(SysUser::getPhonenumber, user.getPhonenumber())
 | 
					                .set(SysUser::getPhonenumber, user.getPhonenumber())
 | 
				
			||||||
                        .set(SysUser::getEmail, user.getEmail())
 | 
					                .set(SysUser::getEmail, user.getEmail())
 | 
				
			||||||
                        .set(SysUser::getSex, user.getSex())
 | 
					                .set(SysUser::getSex, user.getSex())
 | 
				
			||||||
                        .eq(SysUser::getUserId, user.getUserId()));
 | 
					                .eq(SysUser::getUserId, user.getUserId()));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -383,9 +399,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean updateUserAvatar(Long userId, Long avatar) {
 | 
					    public boolean updateUserAvatar(Long userId, Long avatar) {
 | 
				
			||||||
        return baseMapper.update(null,
 | 
					        return baseMapper.update(null,
 | 
				
			||||||
                new LambdaUpdateWrapper<SysUser>()
 | 
					            new LambdaUpdateWrapper<SysUser>()
 | 
				
			||||||
                        .set(SysUser::getAvatar, avatar)
 | 
					                .set(SysUser::getAvatar, avatar)
 | 
				
			||||||
                        .eq(SysUser::getUserId, userId)) > 0;
 | 
					                .eq(SysUser::getUserId, userId)) > 0;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -398,9 +414,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public int resetUserPwd(Long userId, String password) {
 | 
					    public int resetUserPwd(Long userId, String password) {
 | 
				
			||||||
        return baseMapper.update(null,
 | 
					        return baseMapper.update(null,
 | 
				
			||||||
                new LambdaUpdateWrapper<SysUser>()
 | 
					            new LambdaUpdateWrapper<SysUser>()
 | 
				
			||||||
                        .set(SysUser::getPassword, password)
 | 
					                .set(SysUser::getPassword, password)
 | 
				
			||||||
                        .eq(SysUser::getUserId, userId));
 | 
					                .eq(SysUser::getUserId, userId));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -545,7 +561,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public String selectUserNameById(Long userId) {
 | 
					    public String selectUserNameById(Long userId) {
 | 
				
			||||||
        SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
 | 
					        SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
 | 
				
			||||||
                .select(SysUser::getUserName).eq(SysUser::getUserId, userId));
 | 
					            .select(SysUser::getUserName).eq(SysUser::getUserId, userId));
 | 
				
			||||||
        return ObjectUtil.isNull(sysUser) ? null : sysUser.getUserName();
 | 
					        return ObjectUtil.isNull(sysUser) ? null : sysUser.getUserName();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -562,6 +578,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
 | 
				
			|||||||
            .select(SysUser::getNickName).eq(SysUser::getUserId, userId));
 | 
					            .select(SysUser::getNickName).eq(SysUser::getUserId, userId));
 | 
				
			||||||
        return ObjectUtil.isNull(sysUser) ? null : sysUser.getNickName();
 | 
					        return ObjectUtil.isNull(sysUser) ? null : sysUser.getNickName();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 通过用户ID查询用户手机号
 | 
					     * 通过用户ID查询用户手机号
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user