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 ++++++++++++++++++++++-------
 pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml      |    2 +-
 pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml |    4 ++--
 3 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
index ab35e08..d99bd6a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-database-ym.yml
@@ -6,9 +6,9 @@
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
 #            url: jdbc:mysql://192.168.40.166:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            #url: jdbc:mysql://8.130.130.233:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+            url: jdbc:mysql://8.130.130.233:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             #url: jdbc:mysql://8.140.179.55:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
-            url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
+#            url: jdbc:mysql://127.0.0.1:3306/pipIrr_ym?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull
             username: root
             password: dysql,;.abc!@#
             druid:
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index ea73418..83b82ab 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -71,7 +71,7 @@
 
 pipIrr:
     global:
-        dev: false   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+        dev: true   #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
         dsName: ym  #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
     mw:
         webPort: 8070
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