From 781c2e20a4bb844dae3f4eafbf5f0e494b942ea8 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 25 五月 2023 18:07:08 +0800
Subject: [PATCH] optimize

---
 java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml |   53 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
index bd13024..bf56660 100644
--- a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
@@ -1,30 +1,24 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="privilegeUserV1ServiceDaoImpl">
 
-
     <!-- 淇濆瓨鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="savePrivilegeUserInfo" parameterType="Map">
-        insert into p_privilege_user(
-        privilege_flag,pu_id,p_id,store_id,user_id
-        ) values (
-        #{privilegeFlag},#{puId},#{pId},#{storeId},#{userId}
-        )
+        insert into p_privilege_user(privilege_flag, pu_id, p_id, store_id, user_id)
+        values (#{privilegeFlag}, #{puId}, #{pId}, #{storeId}, #{userId})
     </insert>
-
 
     <!-- 鏌ヨ鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
     <select id="getPrivilegeUserInfo" parameterType="Map" resultType="Map">
         select t.privilege_flag,t.privilege_flag privilegeFlag,t.pu_id,t.pu_id puId,t.p_id,t.p_id
         pId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.user_id,t.user_id userId
         <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
-        ,pg.`name` roleName
+            ,pg.`name` roleName
         </if>
         from p_privilege_user t
         <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
-        left join p_privilege_group pg on t.p_id = pg.pg_id  and pg.status_cd = '0'
+            left join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0'
         </if>
         where 1 =1
         <if test="privilegeFlag !=null and privilegeFlag != ''">
@@ -49,9 +43,7 @@
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
-
     </select>
-
 
     <!-- 淇敼鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
     <update id="updatePrivilegeUserInfo" parameterType="Map">
@@ -75,7 +67,6 @@
         <if test="puId !=null and puId != ''">
             and t.pu_id= #{puId}
         </if>
-
     </update>
 
     <!-- 鏌ヨ鐢ㄦ埛鏉冮檺鏁伴噺 add by wuxw 2018-07-03 -->
@@ -83,7 +74,7 @@
         select count(1) count
         from p_privilege_user t
         <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
-            left join p_privilege_group pg on t.p_id = pg.pg_id  and pg.status_cd = '0'
+            left join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0'
         </if>
         where 1 =1
         <if test="privilegeFlag !=null and privilegeFlag != ''">
@@ -170,20 +161,37 @@
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
-
     </select>
+
     <!-- 鏌ヨ鐢ㄦ埛鏉冮檺鏁伴噺 add by wuxw 2018-07-03 -->
     <select id="queryStaffsNoRoleCount" parameterType="Map" resultType="Map">
+        <if test="orgIds != null and orgIds.length > 0">
+        select count(*) count from (
+        </if>
         select count(1) count
         from u_user t
         inner join s_store_user su on t.user_id = su.user_id and su.status_cd = '0'
         left join p_privilege_user pu on t.user_id = pu.user_id and pu.status_cd = '0' and pu.privilege_flag = '1' and pu.p_id = #{pId}
+        <if test="orgIds != null and orgIds.length > 0">
+            LEFT JOIN u_org_staff_rel uosr on t.user_id=uosr.staff_id
+        </if>
         where t.status_cd = '0'
         and pu.pu_id is null
         <if test="userName !=null and userName != ''">
             and t.name like concat('%', #{userName},'%')
         </if>
         and su.store_id = #{storeId}
+        <if test="orgIds != null and orgIds.length > 0">
+            and uosr.org_id in
+            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+            AND uosr.status_cd = '0'
+            group by t.user_id
+        </if>
+        <if test="orgIds != null and orgIds.length > 0">
+            )a
+        </if>
     </select>
 
     <!-- 鏌ヨ鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
@@ -195,17 +203,26 @@
         from u_user t
         inner join s_store_user su on t.user_id = su.user_id and su.status_cd = '0'
         left join p_privilege_user pu on t.user_id = pu.user_id and pu.status_cd = '0' and pu.privilege_flag = '1' and pu.p_id = #{pId}
+        <if test="orgIds != null and orgIds.length > 0">
+            LEFT JOIN u_org_staff_rel uosr on t.user_id=uosr.staff_id
+        </if>
         where t.status_cd = '0'
         and pu.pu_id is null
         <if test="userName !=null and userName != ''">
             and t.name like concat('%', #{userName},'%')
         </if>
         and su.store_id = #{storeId}
+        <if test="orgIds != null and orgIds.length > 0">
+            and uosr.org_id in
+            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+            AND uosr.status_cd = '0'
+            group by t.user_id
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
-
     </select>
-
 </mapper>

--
Gitblit v1.8.0