From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 128 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 113 insertions(+), 15 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 9a570ac..3bbac39 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -74,7 +74,32 @@
</select>
<select id="exportUser" resultType="org.springblade.modules.system.excel.UserExcel">
- SELECT id, tenant_id, user_type, account, name, real_name, email, phone, birthday, role_id, dept_id, post_id FROM blade_user ${ew.customSqlSegment}
+ SELECT id,
+ tenant_id,
+ user_type,
+ account,
+ name,
+ real_name,
+ email,
+ phone,
+ birthday,
+ role_id,
+ dept_id,
+ post_id
+ FROM blade_user ${ew.customSqlSegment}
+ <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>
+ )
+ </if>
</select>
<!--按条件查询用户信息-->
@@ -83,6 +108,10 @@
where is_deleted = 0
<if test="user.roleId!=null and user.roleId!=''">
and role_id like concat('%',#{user.roleId},'%')
+ </if>
+
+ <if test="user.deptId!=null and user.deptId!=''">
+ and dept_id like concat('%',#{user.deptId},'%')
</if>
</select>
@@ -98,19 +127,19 @@
jd.id = #{districtId}
and bu.is_deleted = '0'
and jh.is_deleted = '0'
-
+ and jh.role_type = '1'
</select>
<!--根据手机号查询对应账号和手机号的用户信息-->
<select id="getUserListByPhoneOrAccount" resultType="org.springblade.modules.system.entity.User">
SELECT * FROM blade_user where is_deleted = 0
- and (account = #{phoneNumber} or phone = #{phoneNumber})
+ and account = #{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"
+ <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"/>
@@ -127,8 +156,21 @@
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
+ where bu.is_deleted = 0 and bd.dept_nature = 2
and bu.id = #{userId}
+ union all
+ (
+ 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.level as 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 v_police_region br on br.id = bd.region_code
+ where bu.is_deleted = 0 and bd.dept_nature = 1
+ and bu.id = #{userId}
+ )
</select>
@@ -182,11 +224,11 @@
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 != nuu and districtId != ''">
+ <if test="districtId != null and districtId != ''">
and jd.id = #{districtId}
and bu.is_deleted = 0
</if>
- <if test="building != nuu and building != ''">
+ <if test="building != null and building != ''">
and jhe.building=#{building}
</if>
@@ -201,21 +243,77 @@
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.dept_id in (
- SELECT
+ SELECT
+ *
+ FROM
+ blade_user bu
+ WHERE
+ bu.role_id = #{roleId}
+ and bu.dept_id IN (
+ SELECT
id
- FROM
+ 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
+ (SELECT @id := #{deptId} ) initialisation
+ WHERE
+ (FIND_IN_SET( parent_id, @id ) > 0 or FIND_IN_SET( id, @id ) > 0)
AND @id := CONCAT( @id, ',', id )
- ) or bu.dept_id=#{deptId}
+ )
</select>
+
+ <select id="selectUserByDept" resultMap="userResultMap">
+ select * from blade_user where is_deleted = 0
+ and id != 1123598821738675201
+ <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>
+ )
+ </if>
+ ORDER BY create_time desc
+ </select>
+
+
+ <select id="getPoliceUser" resultType="org.springblade.modules.system.entity.User">
+ SELECT
+ bu.id,
+ bu.name,
+ bu.phone
+ FROM
+ blade_user bu
+ where 1 = 1
+ and bu.lat is not null
+ and bu.lng is not null
+ and IFNULL((
+ ACOS(
+ SIN(
+ (#{latitude} * 3.1415) / 180) * SIN((bu.lat * 3.1415) / 180) +
+ COS((#{latitude} * 3.1415) / 180) * COS((bu.lat * 3.1415) / 180) * COS((#{longitude} * 3.1415) / 180
+ - (bu.lng * 3.1415) / 180)) * 6370.996
+ ), 2) <= 1
+ and bu.role_id like concat('%','1727864411451359233','%')
+ and bu.is_deleted = 0 and bu.status = 2 limit 1
+ </select>
+
+
</mapper>
--
Gitblit v1.9.3