From f14c50cb0036d3ddd655ce4e34732ba396a836c4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 30 五月 2023 12:42:03 +0800
Subject: [PATCH] optimize 统计
---
java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml | 93 ++++++++++++++++++++++++++++++++++++++++------
1 files changed, 80 insertions(+), 13 deletions(-)
diff --git a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
index 5c9718a..bf56660 100644
--- a/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
@@ -1,25 +1,25 @@
<?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
+ </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}
@@ -43,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">
@@ -69,13 +67,15 @@
<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
+ <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}
@@ -115,11 +115,15 @@
<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>
</select>
@@ -150,12 +154,75 @@
<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