From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 255 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 244 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 df0e6fd..3bbac39 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -42,23 +42,26 @@
<if test="user.realName!=null and user.realName != ''">
and real_name like concat('%',#{user.realName},'%')
</if>
+ <if test="user.name!=null and user.name != ''">
+ and name like concat('%',#{user.name},'%')
+ </if>
<if test="user.userType!=null and user.userType != ''">
and user_type = #{user.userType}
</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">
@@ -71,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>
<!--按条件查询用户信息-->
@@ -81,6 +109,211 @@
<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>
+ <select id="searchUserByDistrictId" resultType="org.springblade.modules.system.entity.User">
+ SELECT
+ bu.*
+ FROM
+ blade_user bu
+ LEFT JOIN jczz_household jh ON bu.id = jh.associated_user_id
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
+ LEFT JOIN jczz_district jd on jd.aoi_code=jda.aoi_code
+ WHERE
+ 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}
+ </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 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>
+
+
+ <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="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