From 783636b8af8b5309ad1e6f1598aed7df10bebb63 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期五, 23 八月 2024 15:17:25 +0800 Subject: [PATCH] 修改用户分页查询接口一个用户两个角色会出现两条数据的bug --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml | 29 ++++++++++++++++++++++------- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml index cbf6296..dcb0b69 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/BaUserMapper.xml @@ -48,7 +48,7 @@ </sql> <sql id="part_Column_List"> - ${alias}.id, ${alias}.name, ${alias}.phone, ${alias}.disabled + #{alias}.id, #{alias}.name, #{alias}.phone, #{alias}.disabled </sql> <sql id="Login_Column_List"> @@ -240,7 +240,7 @@ INNER JOIN ba_role_permissions per ON per.roleId = rol.id <where> <if test = "userId != null and userId > 0"> - AND user.id = ${userId} + AND user.id = #{userId} </if> </where> </select> @@ -259,7 +259,7 @@ AND us.disabled = 0 AND us.deleted = 0 <if test = "userId != null and userId > 0"> - AND us.id = ${userId} + AND us.id = #{userId} </if> </where> </select> @@ -268,6 +268,19 @@ <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> SELECT COUNT(*) AS recordCount + FROM + ( + SELECT + CAST(id AS char) AS id, + phone, + name AS userName, + disabled AS stateId, + (CASE + WHEN disabled = 0 THEN "姝e父" + WHEN disabled = 1 THEN "宸茬鐢�" + END) AS stateName, + CAST(blockId AS char) AS blockId, + (SELECT name FROM ba_block WHERE id = user.blockId) AS blockName FROM ba_user user LEFT JOIN ba_user_role usro ON usro.userId = user.id <where> @@ -283,9 +296,10 @@ </if> <if test = "roleId != null and roleId > 0"> - AND usro.roleId = ${roleId} + AND usro.roleId = #{roleId} </if> </where> + GROUP BY user.id) c </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃--> @@ -316,9 +330,10 @@ </if> <if test = "roleId != null and roleId > 0"> - AND usro.roleId = ${roleId} + AND usro.roleId = #{roleId} </if> </where> + GROUP BY user.id ORDER BY user.id DESC <trim prefix="limit " > <if test="start != null and count != null"> @@ -332,7 +347,7 @@ SELECT roleId FROM ba_user_role - WHERE userId = ${userId} + WHERE userId = #{userId} </select> <select id="getRoleNamesByUserId" resultType="java.util.HashMap"> @@ -340,7 +355,7 @@ ro.name AS roleName FROM ba_user_role usro INNER JOIN ba_role ro ON usro.roleId = ro.id - WHERE userId = ${userId} + WHERE userId = #{userId} </select> -- Gitblit v1.8.0