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/discuss/mapper/UserTopicsMapper.xml | 247 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 227 insertions(+), 20 deletions(-)
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
index c7b0108..95ae488 100644
--- a/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
+++ b/src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
@@ -5,7 +5,7 @@
<!-- 通用查询映射结果 -->
<resultMap id="userTopicsResultMap" type="org.springblade.modules.discuss.vo.UserTopicsVO">
<result property="id" column="id"/>
- <result property="userId" column="user_id"/>
+ <result property="householdId" column="household_id"/>
<result property="topicsId" column="topics_id"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
@@ -17,7 +17,7 @@
<sql id="selectUserTopics">
select
id,
- user_id,
+ household_id,
topics_id,
create_time,
update_time,
@@ -31,47 +31,254 @@
<select id="selectUserTopicsPage" resultMap="userTopicsResultMap">
SELECT
- jut.public_discuss_id,
+ jut.article_id,
+ jut.delete_flag,
+ jut.signature_path,
+ jut.create_time,
+ jut.household_id,
bu.avatar,
- bu.`name`,
- bu.phone,
+ jh.name,
+ jh.phone_number phone,
jda.address_name,
jda.aoi_name
+ <if test="userTopics.articleId != null ">,
+ group_concat(jt.option_content) optionContent </if>
FROM
jczz_user_topics as jut
- LEFT JOIN blade_user bu ON jut.user_id = bu.id
- LEFT JOIN jczz_household jh ON jh.associated_user_id = jut.user_id
+ LEFT JOIN jczz_household jh ON jh.id = jut.household_id and jh.is_deleted = 0
LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
+ LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
+ LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
<where>
<if test="userTopics.id != null ">and jut.id = #{userTopics.id}</if>
- <if test="userTopics.userId != null ">and jut.user_id = #{userTopics.userId}</if>
+ <if test="userTopics.name != null and userTopics.name != ''">
+ and bu.name like concat('%',#{userTopics.name},'%')
+ </if>
+ <if test="userTopics.phone != null and userTopics.phone != ''">
+ and bu.phone like concat('%',#{userTopics.phone},'%')
+ </if>
+
+ <if test="userTopics.aoiCodeList != null and userTopics.aoiCodeList.size() > 0">
+ and jda.aoi_code in
+ <foreach collection="userTopics.aoiCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </if>
+
+ <if test="userTopics.householdId != null ">and jut.household_id = #{userTopics.householdId}</if>
<if test="userTopics.topicsId != null ">and jut.topics_id = #{userTopics.topicsId}</if>
<if test="userTopics.createTime != null ">and jut.create_time = #{userTopics.createTime}</if>
<if test="userTopics.updateTime != null ">and jut.update_time = #{userTopics.updateTime}</if>
<if test="userTopics.deleteFlag != null ">and jut.delete_flag = #{userTopics.deleteFlag}</if>
- <if test="userTopics.publicDiscussId != null ">and jut.public_discuss_id = #{userTopics.publicDiscussId}
- GROUP BY jut.public_discuss_id,
+ <if test="userTopics.articleId != null ">
+ and jut.article_id = #{userTopics.articleId}
+ and jut.delete_flag = 0
+ GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.household_id,jut.delete_flag,
bu.avatar,
- bu.`name`,
- bu.phone,
+ jh.name,
+ jh.phone_number,
jda.address_name,
jda.aoi_name
</if>
</where>
</select>
- <select id="selectUserTopicsList" parameterType="org.springblade.modules.discuss.dto.UserTopicsDTO" resultMap="userTopicsResultMap">
+ <select id="selectUserTopicsList" parameterType="org.springblade.modules.discuss.dto.UserTopicsDTO"
+ resultMap="userTopicsResultMap">
<include refid="selectUserTopics"/>
<where>
- <if test="id != null "> and id = #{id}</if>
- <if test="userId != null "> and user_id = #{userId}</if>
- <if test="topicsId != null "> and topics_id = #{topicsId}</if>
- <if test="createTime != null "> and create_time = #{createTime}</if>
- <if test="updateTime != null "> and update_time = #{updateTime}</if>
- <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
- <if test="publicDiscussId != null "> and public_discuss_id = #{publicDiscussId}</if>
+ <if test="id != null ">and id = #{id}</if>
+ <if test="userId != null ">and user_id = #{userId}</if>
+ <if test="topicsId != null ">and topics_id = #{topicsId}</if>
+ <if test="createTime != null ">and create_time = #{createTime}</if>
+ <if test="updateTime != null ">and update_time = #{updateTime}</if>
+ <if test="deleteFlag != null ">and delete_flag = #{deleteFlag}</if>
+ <if test="publicDiscussId != null ">and public_discuss_id = #{publicDiscussId}</if>
</where>
</select>
+ <select id="exportUser" resultType="org.springblade.modules.discuss.excel.UserTopicsExcel">
+ SELECT
+ jut.article_id,
+ jut.delete_flag,
+ jut.signature_path,
+ jut.create_time,
+ jut.household_id,
+ bu.avatar,
+ jh.name,
+ jh.phone_number phone,
+ jda.address_name,
+ jhs.area,
+ jhs.remark,
+ jda.address_code houseCode,
+ jda.aoi_name
+ <if test="articleId != null ">,
+ group_concat(jt.option_content) optionContent </if>
+ FROM
+ jczz_user_topics as jut
+ LEFT JOIN jczz_household jh ON jh.id = jut.household_id and jh.is_deleted = 0
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
+ LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
+ LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
+ LEFT JOIN jczz_house jhs on jhs.house_code= jda.address_code
+ <where>
+ <if test="id != null ">and jut.id = #{id}</if>
+ <if test="name != null and name != ''">
+ and bu.name like concat('%',#{name},'%')
+ </if>
+ <if test="phone != null and phone != ''">
+ and bu.phone like concat('%',#{phone},'%')
+ </if>
+
+ <if test="aoiCodeList != null and aoiCodeList.size() > 0">
+ and jda.aoi_code in
+ <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </if>
+
+ <if test="householdId != null ">and jut.household_id = #{householdId}</if>
+ <if test="topicsId != null ">and jut.topics_id = #{topicsId}</if>
+ <if test="createTime != null ">and jut.create_time = #{createTime}</if>
+ <if test="updateTime != null ">and jut.update_time = #{updateTime}</if>
+ <if test="deleteFlag != null ">and jut.delete_flag = #{deleteFlag}</if>
+ <if test="articleId != null ">
+ and jut.article_id = #{articleId}
+ and jut.delete_flag = 0
+ GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.household_id,jut.delete_flag,
+ bu.avatar,
+ jh.name,
+ jh.phone_number,
+ jda.address_name,
+ jhs.area,
+ jhs.remark,
+ jda.address_code,
+ jda.aoi_name
+ </if>
+ </where>
+
+ </select>
+
+
+ <select id="getresult" resultMap="userTopicsResultMap">
+
+ SELECT
+ jts.option_content
+ FROM
+ jczz_user_topics jut
+ LEFT JOIN jczz_topics jts ON jts.id = jut.topics_id
+ WHERE
+ jut.article_id = #{articleId}
+ and jut.household_id=#{householdId}
+ and jts.discuss_content=#{discussContent}
+
+ </select>
+
+ <select id="getresultTwo" resultType="org.springblade.modules.discuss.excel.UserTopicsExcel">
+ SELECT
+ jut.article_id,
+ jut.delete_flag,
+ jut.signature_path,
+ jut.create_time,
+ jut.household_id,
+ bu.avatar,
+ jh.name,
+ jh.phone_number phone,
+ jda.address_name,
+ jhs.area,
+ jhs.remark,
+ jda.address_code houseCode,
+ jda.aoi_name,
+ jt.option_content,
+ jhs.building,
+ jhs.room,
+ jhs.district_name
+ FROM
+ jczz_user_topics as jut
+ LEFT JOIN jczz_household jh ON jh.id = jut.household_id
+ LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
+ LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
+ LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
+ LEFT JOIN jczz_house jhs on jhs.house_code= jda.address_code
+ <where>
+ and jt.discuss_content != '议事规则'
+ and jt.discuss_content != '管理规约'
+ <if test="id != null ">and jut.id = #{id}</if>
+ <if test="name != null and name != ''">
+ and bu.name like concat('%',#{name},'%')
+ </if>
+ <if test="phone != null and phone != ''">
+ and bu.phone like concat('%',#{phone},'%')
+ </if>
+
+ <if test="aoiCodeList != null and aoiCodeList.size() > 0">
+ and jda.aoi_code in
+ <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </if>
+
+ <if test="householdId != null ">and jut.household_id = #{householdId}</if>
+ <if test="topicsId != null ">and jut.topics_id = #{topicsId}</if>
+ <if test="createTime != null ">and jut.create_time = #{createTime}</if>
+ <if test="updateTime != null ">and jut.update_time = #{updateTime}</if>
+ <if test="deleteFlag != null ">and jut.delete_flag = #{deleteFlag}</if>
+ <if test="articleId != null ">
+ and jut.article_id = #{articleId}
+ and jut.delete_flag = 0
+ </if>
+ </where>
+
+ </select>
+ <select id="getHouseholdList" resultType="org.springblade.modules.discuss.excel.holdExcel">
+ SELECT
+ jh.id,
+ jh.room,
+ jh.building,
+ jh.house_name,
+ jh.district_name,
+ jut.create_time,
+ jh.area,
+ (
+ SELECT
+ group_concat( jt.id ) AS optionContent
+ FROM jczz_topics jt
+ WHERE jt.id = jut.topics_id
+ and jut.house_code = jh.house_code
+ AND jut.article_id = #{articleId}
+ ) optionContent,
+ (SELECT jhd.name from jczz_household jhd where jhd.house_code = jh.house_code AND jhd.is_deleted = 0 and jhd.relationship = 1 limit 1 ) name,
+ (SELECT jhd.phone_number from jczz_household jhd where jhd.house_code = jh.house_code AND jhd.is_deleted = 0 and jhd.relationship = 1 limit 1 ) phone
+ FROM
+ jczz_house jh
+ LEFT JOIN jczz_household jhd ON jhd.house_code = jh.house_code
+ AND jh.is_deleted = 0 and jhd.relationship = 1
+ LEFT JOIN jczz_user_topics jut on jut.household_id = jhd.id AND jut.article_id = #{articleId}
+ <where>
+ <if test="aoiCodeList != null and aoiCodeList.size() > 0">
+ and jh.district_code in
+ <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </if>
+ </where>
+ GROUP BY id
+ </select>
+
+ <select id="getUserTopicsTotal" resultType="java.util.Map">
+ SELECT IFNULL(sum(a.area), 0) AS area,
+ IFNULL(COUNT(1), 0) number
+ FROM (SELECT DISTINCT jut.house_code,
+ jh.area
+ FROM jczz_user_topics jut
+ LEFT JOIN jczz_household jhd ON jhd.id = jut.household_id
+ LEFT JOIN jczz_house jh ON jh.house_code = jhd.house_code
+ LEFT JOIN jczz_topics jt ON jt.id = jut.topics_id
+ AND jt.delete_flag = 0
+ WHERE jut.article_id = #{articleId}) a
+
+ </select>
+
+
</mapper>
--
Gitblit v1.9.3