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