This commit is contained in:
ls
2024-10-16 15:30:27 +08:00
parent 35e48104b9
commit 7bb433234f
5 changed files with 827 additions and 786 deletions

View File

@@ -9,6 +9,8 @@ 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.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 jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@@ -16,7 +18,6 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.PermissionData; import org.jeecg.common.aspect.annotation.PermissionData;
import org.jeecg.common.base.BaseMap;
import org.jeecg.common.config.TenantContext; import org.jeecg.common.config.TenantContext;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.SymbolConstant;
@@ -47,8 +48,6 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -107,6 +106,7 @@ public class SysUserController {
/** /**
* 获取租户下用户数据(支持租户隔离) * 获取租户下用户数据(支持租户隔离)
*
* @param user * @param user
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
@@ -239,6 +239,7 @@ public class SysUserController {
/** /**
* 冻结&解冻用户 * 冻结&解冻用户
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -431,6 +432,7 @@ public class SysUserController {
/** /**
* 用户选择组件 专用 根据用户账号或部门分页查询 * 用户选择组件 专用 根据用户账号或部门分页查询
*
* @param departId * @param departId
* @param username * @param username
* @return * @return
@@ -569,9 +571,9 @@ public class SysUserController {
} }
/** /**
* @功能根据id 批量查询
* @param userIds * @param userIds
* @return * @return
* @功能根据id 批量查询
*/ */
@RequestMapping(value = "/queryByIds", method = RequestMethod.GET) @RequestMapping(value = "/queryByIds", method = RequestMethod.GET)
public Result<Collection<SysUser>> queryByIds(@RequestParam(name = "userIds") String userIds) { public Result<Collection<SysUser>> queryByIds(@RequestParam(name = "userIds") String userIds) {
@@ -586,9 +588,9 @@ public class SysUserController {
/** /**
* @功能根据id 批量查询
* @param userNames * @param userNames
* @return * @return
* @功能根据id 批量查询
*/ */
@RequestMapping(value = "/queryByNames", method = RequestMethod.GET) @RequestMapping(value = "/queryByNames", method = RequestMethod.GET)
public Result<Collection<SysUser>> queryByNames(@RequestParam(name = "userNames") String userNames) { public Result<Collection<SysUser>> queryByNames(@RequestParam(name = "userNames") String userNames) {
@@ -634,7 +636,8 @@ public class SysUserController {
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
String roleId = req.getParameter("roleId"); String roleId = req.getParameter("roleId");
String username = req.getParameter("username"); String username = req.getParameter("username");
IPage<SysUser> pageList = sysUserService.getUserByRoleId(page,roleId,username); String roleCode = req.getParameter("roleCode");
IPage<SysUser> pageList = sysUserService.getUserByRoleId(page, roleId, username, roleCode);
result.setSuccess(true); result.setSuccess(true);
result.setResult(pageList); result.setResult(pageList);
return result; return result;
@@ -673,8 +676,10 @@ public class SysUserController {
return result; return result;
} }
} }
/** /**
* 删除指定角色的用户关系 * 删除指定角色的用户关系
*
* @param * @param
* @return * @return
*/ */
@@ -917,6 +922,7 @@ public class SysUserController {
/** /**
* 查询当前用户的所有部门/当前部门编码 * 查询当前用户的所有部门/当前部门编码
*
* @return * @return
*/ */
@RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET) @RequestMapping(value = "/getCurrentUserDeparts", method = RequestMethod.GET)
@@ -938,8 +944,6 @@ public class SysUserController {
} }
/** /**
* 用户注册接口 * 用户注册接口
* *
@@ -1191,6 +1195,7 @@ public class SysUserController {
/** /**
* 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配
*
* @param keyword * @param keyword
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
@@ -1283,6 +1288,7 @@ public class SysUserController {
/** /**
* 移动端修改用户信息 * 移动端修改用户信息
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -1347,8 +1353,10 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 移动端保存设备信息 * 移动端保存设备信息
*
* @param clientId * @param clientId
* @return * @return
*/ */
@@ -1370,6 +1378,7 @@ public class SysUserController {
} }
return result; return result;
} }
/** /**
* 根据userid获取用户信息和部门员工信息 * 根据userid获取用户信息和部门员工信息
* *
@@ -1394,8 +1403,10 @@ public class SysUserController {
} }
return Result.ok(map); return Result.ok(map);
} }
/** /**
* 移动端查询部门用户信息 * 移动端查询部门用户信息
*
* @param departId * @param departId
* @return * @return
*/ */
@@ -1408,8 +1419,10 @@ public class SysUserController {
result.setResult(childrenUser); result.setResult(childrenUser);
return result; return result;
} }
/** /**
* 移动端查询用户信息(通过用户名模糊查询) * 移动端查询用户信息(通过用户名模糊查询)
*
* @param keyword * @param keyword
* @return * @return
*/ */
@@ -1462,6 +1475,7 @@ public class SysUserController {
/** /**
* 根据用户名修改手机号[该方法未使用] * 根据用户名修改手机号[该方法未使用]
*
* @param json * @param json
* @return * @return
*/ */
@@ -1503,6 +1517,7 @@ public class SysUserController {
/** /**
* 根据对象里面的属性值作in查询 属性可能会变 用户组件用到 * 根据对象里面的属性值作in查询 属性可能会变 用户组件用到
*
* @param sysUser * @param sysUser
* @return * @return
*/ */
@@ -1522,6 +1537,7 @@ public class SysUserController {
/** /**
* 聊天 创建聊天组件专用 根据用户账号、用户姓名、部门id分页查询 * 聊天 创建聊天组件专用 根据用户账号、用户姓名、部门id分页查询
*
* @param departId 部门id * @param departId 部门id
* @param keyword 搜索值 * @param keyword 搜索值
* @return * @return
@@ -1545,6 +1561,7 @@ public class SysUserController {
/** /**
* 简版流程用户选择组件 * 简版流程用户选择组件
*
* @param departId 部门id * @param departId 部门id
* @param roleId 角色id * @param roleId 角色id
* @param keyword 搜索值 * @param keyword 搜索值
@@ -1574,6 +1591,7 @@ public class SysUserController {
/** /**
* 用户离职(新增代理人和用户状态变更操作)【低代码应用专用接口】 * 用户离职(新增代理人和用户状态变更操作)【低代码应用专用接口】
*
* @param sysUserAgent * @param sysUserAgent
* @return * @return
*/ */
@@ -1611,6 +1629,7 @@ public class SysUserController {
/** /**
* 更新刪除状态和离职状态【低代码应用专用接口】 * 更新刪除状态和离职状态【低代码应用专用接口】
*
* @param jsonObject * @param jsonObject
* @return Result<String> * @return Result<String>
*/ */
@@ -1634,6 +1653,7 @@ public class SysUserController {
/** /**
* 获取用户信息(vue3用户设置专用)【低代码应用专用接口】 * 获取用户信息(vue3用户设置专用)【低代码应用专用接口】
*
* @return * @return
*/ */
@GetMapping("/login/setting/getUserData") @GetMapping("/login/setting/getUserData")
@@ -1673,6 +1693,7 @@ public class SysUserController {
/** /**
* 用户编辑(vue3用户设置专用)【低代码应用专用接口】 * 用户编辑(vue3用户设置专用)【低代码应用专用接口】
*
* @param sysUser * @param sysUser
* @return * @return
*/ */
@@ -1693,6 +1714,7 @@ public class SysUserController {
/** /**
* 批量修改 【low-app】 * 批量修改 【low-app】
*
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@@ -1712,6 +1734,7 @@ public class SysUserController {
/** /**
* 根据关键词搜索部门和用户【low-app】 * 根据关键词搜索部门和用户【low-app】
*
* @param keyword * @param keyword
* @return * @return
*/ */
@@ -1723,6 +1746,7 @@ public class SysUserController {
/** /**
* 编辑部门前获取部门相关信息 【low-app】 * 编辑部门前获取部门相关信息 【low-app】
*
* @param id * @param id
* @return * @return
*/ */
@@ -1734,6 +1758,7 @@ public class SysUserController {
/** /**
* 编辑部门 【low-app】 * 编辑部门 【low-app】
*
* @param updateDepartInfo * @param updateDepartInfo
* @return * @return
*/ */
@@ -1745,6 +1770,7 @@ public class SysUserController {
/** /**
* 设置负责人 取消负责人 * 设置负责人 取消负责人
*
* @param json * @param json
* @return * @return
*/ */
@@ -1756,6 +1782,7 @@ public class SysUserController {
/** /**
* 修改租户下的用户【低代码应用专用接口】 * 修改租户下的用户【低代码应用专用接口】
*
* @param sysUser * @param sysUser
* @param req * @param req
* @return * @return
@@ -1782,6 +1809,7 @@ public class SysUserController {
/** /**
* 切换租户时 需要修改 loginTenantId * 切换租户时 需要修改 loginTenantId
* QQYUN-4491 【应用】一些小问题 1、上次选中登录的租户下次登录未记忆 * QQYUN-4491 【应用】一些小问题 1、上次选中登录的租户下次登录未记忆
*
* @param sysUser * @param sysUser
* @return * @return
*/ */
@@ -1812,6 +1840,7 @@ public class SysUserController {
/** /**
* 应用用户导出 * 应用用户导出
*
* @param request * @param request
* @return * @return
*/ */
@@ -1822,6 +1851,7 @@ public class SysUserController {
/** /**
* 应用用户导入 * 应用用户导入
*
* @param request * @param request
* @return * @return
*/ */

View File

@@ -76,7 +76,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
* @param username 用户登录账户 * @param username 用户登录账户
* @return * @return
*/ */
IPage<SysUser> getUserByRoleId(Page page, @Param("roleId") String roleId, @Param("username") String username); IPage<SysUser> getUserByRoleId(Page page, @Param("roleId") String roleId, @Param("username") String username, @Param("roleCode") String roleCode);
/** /**
* 根据用户名设置部门ID * 根据用户名设置部门ID

View File

@@ -14,7 +14,8 @@
<!-- 根据部门Id查询 --> <!-- 根据部门Id查询 -->
<select id="getUserByDepId" resultType="org.jeecg.modules.system.entity.SysUser"> <select id="getUserByDepId" resultType="org.jeecg.modules.system.entity.SysUser">
select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where dep_id=#{departId}) select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where
dep_id=#{departId})
<if test="username!=null and username!=''"> <if test="username!=null and username!=''">
and username = #{username} and username = #{username}
</if> </if>
@@ -25,7 +26,8 @@
<if test="orgCode != null"> <if test="orgCode != null">
<bind name="bindOrgCode" value="orgCode+'%'"/> <bind name="bindOrgCode" value="orgCode+'%'"/>
</if> </if>
select username from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where dep_id in (select id from sys_depart where org_code LIKE #{bindOrgCode})) select username from sys_user where del_flag = 0 and id in (select user_id from sys_user_depart where dep_id in
(select id from sys_depart where org_code LIKE #{bindOrgCode}))
</select> </select>
<!-- 查询用户的所属部门名称信息 --> <!-- 查询用户的所属部门名称信息 -->
@@ -53,10 +55,18 @@
<!-- 根据角色Id查询 --> <!-- 根据角色Id查询 -->
<select id="getUserByRoleId" resultType="org.jeecg.modules.system.entity.SysUser"> <select id="getUserByRoleId" resultType="org.jeecg.modules.system.entity.SysUser">
select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where role_id=#{roleId}) select * from sys_user where del_flag = 0 and id in (select user_id from sys_user_role where 1=1
<if test="username!=null and username!=''"> <if test="roleId!=null and roleId!=''">
and username = #{username} and role_id = #{roleId}
</if> </if>
<if test="roleCode!=null and roleCode!=''">
and role_code = #{roleCode}
</if>
)
<if test="username!=null and username!=''">
and username = #{roleCode}
</if>
</select> </select>
<!-- 修改用户部门code --> <!-- 修改用户部门code -->
@@ -131,7 +141,8 @@
<!-- 查询 getUserByOrgCode 的总数--> <!-- 查询 getUserByOrgCode 的总数-->
<select id="getUserByOrgCodeTotal" resultType="java.lang.Integer"> <select id="getUserByOrgCodeTotal" resultType="java.lang.Integer">
SELECT COUNT(1) <include refid="getUserByOrgCodeFromSql"/> SELECT COUNT(1)
<include refid="getUserByOrgCodeFromSql"/>
</select> </select>
<!-- 批量删除角色的与用户关系--> <!-- 批量删除角色的与用户关系-->

View File

@@ -177,7 +177,7 @@ public interface ISysUserService extends IService<SysUser> {
* @param username 用户账户名称 * @param username 用户账户名称
* @return * @return
*/ */
public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username); public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username,String roleCode);
/** /**
* 通过用户名获取用户角色集合 * 通过用户名获取用户角色集合

View File

@@ -551,9 +551,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
* @return * @return
*/ */
@Override @Override
public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username) { public IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username,String roleCode) {
//update-begin---author:wangshuai ---date:20230220 for[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------ //update-begin---author:wangshuai ---date:20230220 for[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------
IPage<SysUser> userRoleList = userMapper.getUserByRoleId(page, roleId, username); IPage<SysUser> userRoleList = userMapper.getUserByRoleId(page, roleId, username,roleCode);
List<SysUser> records = userRoleList.getRecords(); List<SysUser> records = userRoleList.getRecords();
if (null != records && records.size() > 0) { if (null != records && records.size() > 0) {
List<String> userIds = records.stream().map(SysUser::getId).collect(Collectors.toList()); List<String> userIds = records.stream().map(SysUser::getId).collect(Collectors.toList());