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 |  292 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 207 insertions(+), 85 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
index 235969e..bf56660 100644
--- a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
@@ -1,106 +1,228 @@
 <?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 
-from p_privilege_user t 
-where 1 =1 
-<if test="privilegeFlag !=null and privilegeFlag != ''">
-   and t.privilege_flag= #{privilegeFlag}
-</if> 
-<if test="puId !=null and puId != ''">
-   and t.pu_id= #{puId}
-</if> 
-<if test="pId !=null and pId != ''">
-   and t.p_id= #{pId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="userId !=null and userId != ''">
-   and t.user_id= #{userId}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
-
+        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
+        </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'
+        </if>
+        where 1 =1
+        <if test="privilegeFlag !=null and privilegeFlag != ''">
+            and t.privilege_flag= #{privilegeFlag}
+        </if>
+        <if test="puId !=null and puId != ''">
+            and t.pu_id= #{puId}
+        </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
     </select>
-
-
-
 
     <!-- 淇敼鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
     <update id="updatePrivilegeUserInfo" parameterType="Map">
-        update  p_privilege_user t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="privilegeFlag !=null and privilegeFlag != ''">
-, t.privilege_flag= #{privilegeFlag}
-</if> 
-<if test="pId !=null and pId != ''">
-, t.p_id= #{pId}
-</if> 
-<if test="storeId !=null and storeId != ''">
-, t.store_id= #{storeId}
-</if> 
-<if test="userId !=null and userId != ''">
-, t.user_id= #{userId}
-</if> 
- where 1=1 <if test="puId !=null and puId != ''">
-and t.pu_id= #{puId}
-</if> 
-
+        update p_privilege_user t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="privilegeFlag !=null and privilegeFlag != ''">
+            , t.privilege_flag= #{privilegeFlag}
+        </if>
+        <if test="pId !=null and pId != ''">
+            , t.p_id= #{pId}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            , t.store_id= #{storeId}
+        </if>
+        <if test="userId !=null and userId != ''">
+            , t.user_id= #{userId}
+        </if>
+        where 1=1
+        <if test="puId !=null and puId != ''">
+            and t.pu_id= #{puId}
+        </if>
     </update>
 
     <!-- 鏌ヨ鐢ㄦ埛鏉冮檺鏁伴噺 add by wuxw 2018-07-03 -->
-     <select id="queryPrivilegeUsersCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from p_privilege_user t 
-where 1 =1 
-<if test="privilegeFlag !=null and privilegeFlag != ''">
-   and t.privilege_flag= #{privilegeFlag}
-</if> 
-<if test="puId !=null and puId != ''">
-   and t.pu_id= #{puId}
-</if> 
-<if test="pId !=null and pId != ''">
-   and t.p_id= #{pId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="userId !=null and userId != ''">
-   and t.user_id= #{userId}
-</if> 
+    <select id="queryPrivilegeUsersCount" parameterType="Map" resultType="Map">
+        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'
+        </if>
+        where 1 =1
+        <if test="privilegeFlag !=null and privilegeFlag != ''">
+            and t.privilege_flag= #{privilegeFlag}
+        </if>
+        <if test="puId !=null and puId != ''">
+            and t.pu_id= #{puId}
+        </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+    </select>
 
+    <!-- 鏌ヨ鐢ㄦ埛鏉冮檺鏁伴噺 add by wuxw 2018-07-03 -->
+    <select id="queryPrivilegeUserInfoCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from p_privilege_user t
+        inner JOIN u_user uu on t.user_id = uu.user_id and uu.status_cd = '0'
+        where 1 =1
+        <if test="privilegeFlag !=null and privilegeFlag != ''">
+            and t.privilege_flag= #{privilegeFlag}
+        </if>
+        <if test="puId !=null and puId != ''">
+            and t.pu_id= #{puId}
+        </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
 
-     </select>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+        <if test="userName !=null and userName != ''">
+            and uu.name like concat('%', #{userName},'%')
+        </if>
+    </select>
 
+    <!-- 鏌ヨ鐢ㄦ埛鏉冮檺淇℃伅 add by wuxw 2018-07-03 -->
+    <select id="queryPrivilegeUserInfos" 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,
+        uu.address,uu.sex,uu.user_id,uu.user_id userId,uu.level_cd,uu.level_cd
+        levelCd,uu.location_cd,uu.location_cd locationCd,uu.score,uu.name,uu.tel,uu.email,uu.age
+        from p_privilege_user t
+        inner JOIN u_user uu on t.user_id = uu.user_id and uu.status_cd = '0'
+        where 1 =1
+        <if test="privilegeFlag !=null and privilegeFlag != ''">
+            and t.privilege_flag= #{privilegeFlag}
+        </if>
+        <if test="puId !=null and puId != ''">
+            and t.pu_id= #{puId}
+        </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="userId !=null and userId != ''">
+            and t.user_id= #{userId}
+        </if>
+        <if test="userName !=null and userName != ''">
+            and uu.name like concat('%', #{userName},'%')
+        </if>
+        order by t.create_time desc
+        <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 -->
+    <select id="queryStaffsNoRoleInfos" parameterType="Map" resultType="Map">
+        select
+        t.user_id,t.user_id userId,
+        t.address,t.sex,t.user_id,t.user_id userId,t.level_cd,t.level_cd
+        levelCd,t.location_cd,t.location_cd locationCd,t.score,t.name,t.tel,t.email,t.age
+        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