部门管理-根据部门查询用户信息
This commit is contained in:
+23
-16
@@ -3,35 +3,36 @@ package com.jero.modules.system.controller;
|
|||||||
|
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
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.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.apache.shiro.SecurityUtils;
|
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
||||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.aspect.annotation.PermissionData;
|
import com.jero.common.aspect.annotation.PermissionData;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.modules.base.service.BaseCommonService;
|
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
import com.jero.common.system.util.JwtUtil;
|
import com.jero.common.system.util.JwtUtil;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.util.*;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
|
import com.jero.common.util.PasswordUtil;
|
||||||
|
import com.jero.common.util.RedisUtil;
|
||||||
|
import com.jero.common.util.oConvertUtils;
|
||||||
|
import com.jero.modules.base.service.BaseCommonService;
|
||||||
import com.jero.modules.system.entity.*;
|
import com.jero.modules.system.entity.*;
|
||||||
import com.jero.modules.system.model.DepartIdModel;
|
import com.jero.modules.system.model.DepartIdModel;
|
||||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||||
import com.jero.modules.system.service.*;
|
import com.jero.modules.system.service.*;
|
||||||
import com.jero.modules.system.vo.SysDepartUsersVO;
|
import com.jero.modules.system.vo.SysDepartUsersVO;
|
||||||
import com.jero.modules.system.vo.SysUserRoleVO;
|
import com.jero.modules.system.vo.SysUserRoleVO;
|
||||||
import org.apache.shiro.subject.Subject;
|
import io.swagger.annotations.Api;
|
||||||
import org.checkerframework.framework.qual.RequiresQualifier;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
@@ -61,6 +62,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
|
@Api(tags = "用户管理")
|
||||||
@RequestMapping("/sys/user")
|
@RequestMapping("/sys/user")
|
||||||
public class SysUserController {
|
public class SysUserController {
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -647,6 +649,7 @@ public class SysUserController {
|
|||||||
/**
|
/**
|
||||||
* 部门用户列表
|
* 部门用户列表
|
||||||
*/
|
*/
|
||||||
|
@ApiOperation(value = "查询组织下的用户列表")
|
||||||
@RequestMapping(value = "/departUserList", method = RequestMethod.GET)
|
@RequestMapping(value = "/departUserList", method = RequestMethod.GET)
|
||||||
@RequiresPermissions("sys:user:list")
|
@RequiresPermissions("sys:user:list")
|
||||||
public Result<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
public Result<IPage<SysUser>> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
@@ -654,16 +657,20 @@ public class SysUserController {
|
|||||||
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
|
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
|
||||||
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
|
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
|
||||||
String depId = req.getParameter("depId");
|
String depId = req.getParameter("depId");
|
||||||
String username = req.getParameter("username");
|
// String username = req.getParameter("username");
|
||||||
|
String username = null;
|
||||||
//根据部门ID查询,当前和下级所有的部门IDS
|
//根据部门ID查询,当前和下级所有的部门IDS
|
||||||
List<String> subDepids = new ArrayList<>();
|
List<String> subDepids = new ArrayList<>();
|
||||||
//部门id为空时,查询我的部门下所有用户
|
//部门id为空时,查询我的部门下所有用户
|
||||||
if(oConvertUtils.isEmpty(depId)){
|
if(oConvertUtils.isEmpty(depId)){
|
||||||
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1;
|
queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||||
if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
|
subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList());
|
||||||
subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
|
// LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
}
|
// int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1;
|
||||||
|
// if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){
|
||||||
|
// subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds());
|
||||||
|
// }
|
||||||
}else{
|
}else{
|
||||||
subDepids = sysDepartService.getSubDepIdsByDepId(depId);
|
subDepids = sysDepartService.getSubDepIdsByDepId(depId);
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-10
@@ -3,28 +3,34 @@
|
|||||||
<mapper namespace="com.jero.modules.system.mapper.SysDepartMapper">
|
<mapper namespace="com.jero.modules.system.mapper.SysDepartMapper">
|
||||||
|
|
||||||
<select id="queryUserDeparts" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
|
<select id="queryUserDeparts" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
|
||||||
select * from sys_depart where id IN ( select dep_id from sys_user_depart where user_id = #{userId} )
|
select d.*
|
||||||
|
from sys_depart d, sys_depart_role_user dru, sys_depart_role dr
|
||||||
|
WHERE d.id = dr.depart_id
|
||||||
|
and dr.id = dru.drole_id
|
||||||
|
and dru.user_id = #{userId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 根据username查询所拥有的部门 -->
|
<!-- 根据username查询所拥有的部门 -->
|
||||||
<select id="queryDepartsByUsername" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
|
<select id="queryDepartsByUsername" parameterType="String" resultType="com.jero.modules.system.entity.SysDepart">
|
||||||
SELECT *
|
select d.*
|
||||||
FROM sys_depart
|
from sys_depart d, sys_depart_role_user dru, sys_depart_role dr
|
||||||
WHERE id IN (
|
WHERE d.id = dr.depart_id
|
||||||
SELECT dep_id
|
and dr.id = dru.drole_id
|
||||||
FROM sys_user_depart
|
and dru.user_id in (
|
||||||
WHERE user_id = (
|
|
||||||
SELECT id
|
SELECT id
|
||||||
FROM sys_user
|
FROM sys_user
|
||||||
WHERE username = #{username}
|
WHERE username = #{username}
|
||||||
)
|
)
|
||||||
)
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 根据部门Id查询,当前和下级所有部门IDS -->
|
<!-- 根据部门Id查询,当前和下级所有部门IDS -->
|
||||||
<select id="getSubDepIdsByDepId" resultType="java.lang.String">
|
<select id="getSubDepIdsByDepId" resultType="java.lang.String">
|
||||||
select id from sys_depart where del_flag = '0' and org_code like concat((select org_code from sys_depart where id=#{departId}),'%')
|
SELECT sd.id
|
||||||
</select>
|
FROM sys_depart sd,( SELECT ( @nodes := queryChildrenTempNode (#{departId})) AS pids ) t
|
||||||
|
WHERE
|
||||||
|
FIND_IN_SET( sd.id, t.pids )
|
||||||
|
AND del_flag = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
<!--根据部门编码获取我的部门下所有部门ids -->
|
<!--根据部门编码获取我的部门下所有部门ids -->
|
||||||
<select id="getSubDepIdsByOrgCodes" resultType="java.lang.String">
|
<select id="getSubDepIdsByOrgCodes" resultType="java.lang.String">
|
||||||
|
|||||||
+1
-1
@@ -46,7 +46,7 @@
|
|||||||
<select id="getUserByDepIds" resultType="com.jero.modules.system.entity.SysUser">
|
<select id="getUserByDepIds" resultType="com.jero.modules.system.entity.SysUser">
|
||||||
select * from sys_user where del_flag = 0
|
select * from sys_user where del_flag = 0
|
||||||
<if test="departIds!=null and departIds.size()>0">
|
<if test="departIds!=null and departIds.size()>0">
|
||||||
and id in (select user_id from sys_user_depart where dep_id in
|
and id in (select dru.user_id from sys_depart_role dr, sys_depart_role_user dru where dr.id = dru.drole_id and dr.depart_id in
|
||||||
<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
|
<foreach collection="departIds" index="index" item="id" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|||||||
+6
-8
@@ -1,13 +1,12 @@
|
|||||||
package com.jero.modules.system.service.impl;
|
package com.jero.modules.system.service.impl;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.constant.CacheConstant;
|
import com.jero.common.constant.CacheConstant;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.constant.FillRuleConstant;
|
import com.jero.common.constant.FillRuleConstant;
|
||||||
|
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||||
import com.jero.common.util.FillRuleUtil;
|
import com.jero.common.util.FillRuleUtil;
|
||||||
import com.jero.common.util.YouBianCodeUtil;
|
import com.jero.common.util.YouBianCodeUtil;
|
||||||
import com.jero.modules.system.entity.*;
|
import com.jero.modules.system.entity.*;
|
||||||
@@ -15,15 +14,14 @@ import com.jero.modules.system.mapper.*;
|
|||||||
import com.jero.modules.system.model.DepartIdModel;
|
import com.jero.modules.system.model.DepartIdModel;
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
import com.jero.modules.system.service.ISysDepartService;
|
||||||
import com.jero.modules.system.util.FindsDepartsChildrenUtil;
|
import com.jero.modules.system.util.FindsDepartsChildrenUtil;
|
||||||
|
import io.netty.util.internal.StringUtil;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import java.util.*;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
|
|
||||||
import io.netty.util.internal.StringUtil;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
Reference in New Issue
Block a user