From ded4f0891dd2a76f36844d7c220155e3cd1e6918 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 16 五月 2024 17:10:28 +0800 Subject: [PATCH] feat:部门管理员功能权限控制 --- src/main/resources/mapper/UserMapper.xml | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index e04892e..2a28d9a 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -332,17 +332,27 @@ <select id="userPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.user.UserPageRequestVM"> SELECT - <include refid="Base_Column_List"/> - FROM t_user - <where> - and deleted=0 + a.* + FROM t_user a + lEFT join + (select * from t_user_department + <if test="departmentId != null and departmentId.size() > 0"> + where department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> + </if> + group by user_id + ) + b on a.id = b.user_id + where + a.deleted=0 + <if test="departmentId != null and departmentId.size() > 0"> + and b.department_id in <foreach collection="departmentId" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> + </if> <if test="userName != null and userName != ''"> and real_name like concat('%',#{userName},'%') </if> <if test="role != null "> and role= #{role} </if> - </where> </select> @@ -481,8 +491,8 @@ t_user tu INNER JOIN t_user_department tud ON tu.id = tud.user_id AND tu.deleted = 0 LEFT JOIN t_exam_paper_answer tepa ON tepa.create_user = tu.id <where> - <if test="query.deptId != null"> - AND tud.department_id = #{query.deptId} + <if test="query.deptId != null and query.deptId.size() > 0"> + AND tud.department_id in <foreach collection="query.deptId" item="deptId" open="(" separator="," close=")"> #{deptId} </foreach> </if> <if test="query.start != null and query.end != null"> AND tepa.create_time between #{query.start} and #{query.end} @@ -531,4 +541,17 @@ ))) </update> + <select id="getDeptAdminIds" resultType="java.lang.Integer" parameterType="java.lang.Integer"> + select department_id from t_user_department where dept_admin = 1 and user_id = #{id} + </select> + + <select id="getDeptAdmins" resultType="com.mindskip.xzs.domain.Department" parameterType="java.lang.Integer"> + <if test="id != null"> + select a.id, a.name from t_department a inner join t_user_department b on a.id = b.department_id where a.deleted = 0 and b.dept_admin = 1 and b.user_id = #{id} order by a.id desc + </if> + <if test="id == null"> + select a.id, a.name from t_department a where a.deleted = 0 order by a.id desc + </if> + </select> + </mapper> -- Gitblit v1.8.0