From 0b1e9e70818f0e3eb32dd6c029d42d93236ecdc6 Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Wed, 03 Jul 2024 12:07:01 +0800
Subject: [PATCH] 数据同步新增连接池配置

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 162 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index b808f9c..ccd39d3 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -50,18 +50,18 @@
         </if>
         <if test="deptIdList!=null and deptIdList.size>0">
             and id in (
-                SELECT
-                    user_id
-                FROM
-                    blade_user_dept
-                WHERE
-                dept_id IN
-                <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
+            SELECT
+            user_id
+            FROM
+            blade_user_dept
+            WHERE
+            dept_id IN
+            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
             )
         </if>
-        ORDER BY id
+        ORDER BY create_time desc
     </select>
 
     <select id="getUser" resultMap="userResultMap">
@@ -98,7 +98,7 @@
             jd.id  = #{districtId}
           and bu.is_deleted = '0'
           and jh.is_deleted = '0'
-
+          and jh.role_type = '1'
     </select>
 
     <!--根据手机号查询对应账号和手机号的用户信息-->
@@ -107,4 +107,155 @@
         and (account = #{phoneNumber} or phone = #{phoneNumber})
     </select>
 
+    <!--用户详情map-->
+    <resultMap id="selectUserDetailMap" type="org.springblade.modules.system.vo.UserDetailVO" autoMapping="true">
+        <id property="id" column="id"/>
+        <collection property="deptList" javaType="java.util.List"
+                    ofType="org.springblade.modules.system.vo.DeptDetailVO" autoMapping="true">
+            <id property="id" column="cid"/>
+            <id property="level" column="region_level"/>
+        </collection>
+    </resultMap>
+
+    <!--用户详情接口-->
+    <select id="getUserInfo" resultMap="selectUserDetailMap">
+        SELECT
+        bu.*,
+        bd.id as cid,bd.parent_id,bd.ancestors,bd.dept_category,bd.dept_name,bd.full_name,bd.sort,bd.region_code,
+        br.region_level
+        FROM blade_user bu
+        left join blade_user_dept bud on bud.user_id = bu.id
+        left join blade_dept bd on bud.dept_id = bd.id and bd.is_deleted = 0
+        left join blade_region br on br.code = bd.region_code
+        where bu.is_deleted = 0
+        and bu.id = #{userId}
+    </select>
+
+
+    <select id="searchUserById" resultType="org.springblade.modules.system.vo.UserVO">
+       select
+	        id userId,
+	        tenant_id,
+	        code,
+	        user_type,
+	        account,
+	        name,
+	        real_name,
+	        avatar,
+	        email,
+	        phone,
+	        birthday,
+	        sex,
+	        role_id,
+	        dept_id,
+	        post_id,
+	        create_user,
+	        create_dept,
+	        create_time,
+	        update_user,
+	        update_time,
+	        status,
+	        is_deleted
+		from
+        	blade_user
+        where
+        id = #{id}
+    </select>
+
+    <select id="getUserInfoByDistrictId"
+            resultType="org.flowable.idm.engine.impl.persistence.entity.UserEntity">
+        SELECT
+        bu.id,
+        bu.tenant_id,
+        bu.code,
+        bu.user_type,
+        bu.account,
+        bu.name,
+        bu.real_name,
+        bu.avatar,
+        bu.email,
+        bu.phone,
+        bu.birthday
+        FROM
+        blade_user bu
+        LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
+        LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
+        LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
+        <where>
+            <if test="districtId != null and districtId != ''">
+                and jd.id = #{districtId}
+                and bu.is_deleted = 0
+            </if>
+            <if test="building != null and building != ''">
+                and jhe.building=#{building}
+            </if>
+
+        </where>
+
+    </select>
+
+    <!--查询没有匹配的数据-->
+    <select id="getNotBindUserDept" resultType="org.springblade.modules.system.entity.User">
+        select bu.* from blade_user bu
+        left join blade_user_dept bud on bu.id = bud.user_id
+        where bu.is_deleted = 0 and bud.id is null
+        and bu.dept_id!=''
+    </select>
+    <select id="getUserListByDeptIds" resultType="org.springblade.modules.system.entity.User">
+        SELECT * FROM blade_user bu where is_deleted = 0
+        and dept_id in
+        <foreach collection="deptIds.split(',')" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="getUserInfoByPropertyId" resultType="org.springblade.modules.system.entity.User"
+            parameterType="java.lang.String">
+            SELECT
+            *
+            FROM
+            blade_user bu
+            WHERE
+            bu.role_id = #{roleId}
+            and bu.dept_id IN (
+            SELECT
+            id
+            FROM
+            ( SELECT id, parent_id FROM blade_dept ORDER BY parent_id, id ) org_query,
+            (SELECT	@id := #{deptId} ) initialisation
+            WHERE
+            (FIND_IN_SET( parent_id, @id ) > 0 or FIND_IN_SET( id, @id ) > 0)
+            AND @id := CONCAT( @id, ',', id )
+            )
+
+    </select>
+    <select id="getUserInfoByDistrictIds" resultType="org.springblade.modules.system.entity.User">
+
+        SELECT
+        bu.id,
+        bu.tenant_id,
+        bu.code,
+        bu.user_type,
+        bu.account,
+        bu.name,
+        bu.real_name,
+        bu.avatar,
+        bu.email,
+        bu.phone,
+        bu.birthday
+        FROM
+        blade_user bu
+        LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
+        LEFT JOIN jczz_house jhe ON jhe.house_code = jh.house_code
+        LEFT JOIN jczz_district jd on jd.aoi_code=jhe.district_code
+        <where>
+            and jd.id  in
+            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            and bu.is_deleted = 0
+        </where>
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3