From 2382a47279b6ed520593539f73aa5e512b4f016e Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 03 六月 2025 11:31:55 +0800 Subject: [PATCH] 用户绑定多公司 --- src/main/resources/mapper/system/SysUserMapper.xml | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml index fcd4016..b62aefc 100644 --- a/src/main/resources/mapper/system/SysUserMapper.xml +++ b/src/main/resources/mapper/system/SysUserMapper.xml @@ -6,7 +6,6 @@ <resultMap type="com.ruoyi.project.system.domain.SysUser" id="SysUserResult"> <id property="userId" column="user_id" /> - <result property="deptId" column="dept_id" /> <result property="userName" column="user_name" /> <result property="nickName" column="nick_name" /> <result property="email" column="email" /> @@ -23,6 +22,7 @@ <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="remark" column="remark" /> + <result property="deptNames" column="dept_names" /> <result property="tenantId" column="tenant_id" /> <association property="dept" javaType="com.ruoyi.project.system.domain.SysDept" resultMap="deptResult" /> <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> @@ -48,18 +48,22 @@ </resultMap> <sql id="selectUserVo"> - select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, - d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, + select u.user_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,u.tenant_id from sys_user u - left join sys_dept d on u.dept_id = d.dept_id left join sys_user_role ur on u.user_id = ur.user_id left join sys_role r on r.role_id = ur.role_id </sql> <select id="selectUserList" parameterType="com.ruoyi.project.system.domain.SysUser" resultMap="SysUserResult"> - select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u - left join sys_dept d on u.dept_id = d.dept_id + select u.user_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,T2.dept_names from sys_user u + left join + ( SELECT T1.user_id,GROUP_CONCAT(T2.dept_name SEPARATOR ', ') AS dept_names + FROM + sys_user_dept T1 + LEFT JOIN sys_dept T2 ON T1.dept_id = T2.dept_id + GROUP BY T1.user_id + ) T2 on T2.user_id = u.user_id where u.del_flag = '0' <if test="userId != null and userId != 0"> AND u.user_id = #{userId} @@ -79,8 +83,11 @@ <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> AND date_format(u.create_time,'%Y%m%d') <= date_format(#{params.endTime},'%Y%m%d') </if> - <if test="deptId != null and deptId != 0"> - AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) )) + <if test="deptId != null"> + AND u.user_id IN + ( + SELECT user_id FROM sys_user_dept WHERE dept_id = #{deptId} + ) </if> <!-- 鏁版嵁鑼冨洿杩囨护 --> ${params.dataScope} @@ -180,7 +187,6 @@ <update id="updateUser" parameterType="com.ruoyi.project.system.domain.SysUser"> update sys_user <set> - <if test="deptId != null and deptId != 0">dept_id = #{deptId},</if> <if test="nickName != null and nickName != ''">nick_name = #{nickName},</if> <if test="email != null ">email = #{email},</if> <if test="phonenumber != null ">phonenumber = #{phonenumber},</if> -- Gitblit v1.9.3