Selaa lähdekoodia

fix(database): 修正用户分页查询SQL逻辑和字段映射

- 将用户名字段由sys_user表的realname改为nm_family_members表的full_name
- 调整表连接顺序,采用nm_family_members表内连接sys_user表
- 修改查询条件,聚焦于nm_family_members的del_flag和user_type字段
- 修正模糊查询条件,匹配nm_family_members表的full_name字段
- 取消real_name_status的IFNULL包裹,直接使用nm_family_members的字段值
- 优化LEFT JOIN子查询,统计家庭成员数量匹配用户ID
- 保持查询结果的排序依据为sys_user的创建时间字段
Sheep 1 viikko sitten
vanhempi
commit
d928d2159e

+ 8 - 9
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -338,25 +338,24 @@
     <select id="findCUserPage" resultType="org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO">
         SELECT
             u.id,
-            u.realname AS username,
+            nfm.full_name AS username,
             nfm.real_name_img AS avatar,
             u.phone,
-            IFNULL(nfm.real_name_status, 0) AS real_name_status,
+            nfm.real_name_status,
             tem.num AS familyNum,
             u.create_time
         FROM
-            sys_user u
-                LEFT JOIN nm_family_members nfm ON u.id = nfm.user_id AND nfm.user_type = 0 AND nfm.del_flag = 0
+            nm_family_members nfm
+                INNER JOIN sys_user u ON nfm.user_id = u.id AND u.del_flag = 0 AND u.user_identity = 3 AND u.org_code IS NULL
                 LEFT JOIN ( SELECT fm.user_id, COUNT(*) AS num FROM nm_family_members fm WHERE fm.del_flag = 0 GROUP BY fm.user_id ) AS tem ON u.id = tem.user_id
         <where>
-            u.del_flag = 0
-            AND u.user_identity = 3
-            AND u.org_code IS NULL
+            nfm.del_flag = 0
+            AND nfm.user_type = 1
             <if test="findPageCUserInfoRequestDTO.username!=null  and findPageCUserInfoRequestDTO.username!=''">
-                and u.username like CONCAT('%',#{findPageCUserInfoRequestDTO.username},'%')
+                and nfm.full_name like CONCAT('%',#{findPageCUserInfoRequestDTO.username},'%')
             </if>
             <if test="findPageCUserInfoRequestDTO.realNameStatus!=null">
-                and IFNULL(nfm.real_name_status, 0)=#{findPageCUserInfoRequestDTO.realNameStatus}
+                and nfm.real_name_status=#{findPageCUserInfoRequestDTO.realNameStatus}
             </if>
         </where>
             ORDER BY u.create_time DESC