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/article/mapper/ArticleMapper.xml |  431 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 326 insertions(+), 105 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index 4fc94c1..1cf62e9 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -23,7 +23,7 @@
         <result column="update_user" property="updateUser"/>
         <result column="create_user" property="createUser"/>
         <result column="is_deleted" property="isDeleted"/>
-        <result property="articleRange"    column="article_range"    />
+        <result property="articleRange" column="article_range"/>
         <collection property="countNumber" column="id" javaType="int" select="selectStlCount">
         </collection>
 
@@ -40,97 +40,222 @@
     </select>
 
 
-
     <sql id="selectArticle">
-        select
-            id,
-            title,
-            type,
-            content,
-            url,
-            video_url,
-            source_id,
-            source_name,
-            article_type,
-            recommend,
-            publish,
-            iscomment,
-            view_number,
-            create_time,
-            update_time,
-            update_user,
-            create_user,
-            is_deleted,
-            article_range
-        from
-            jczz_article
+        select id,
+               title,
+               type,
+               content,
+               url,
+               video_url,
+               source_id,
+               source_name,
+               article_type,
+               recommend,
+               publish,
+               iscomment,
+               view_number,
+               create_time,
+               update_time,
+               update_user,
+               create_user,
+               is_deleted,
+               article_range,
+               building,
+               unit
+        from jczz_article
     </sql>
 
 
     <select id="selectArticlePageByApp" resultMap="noticeResultMap">
-        select ja.id,
-        ja.title,
-        ja.type,
-        ja.url,
-        ja.video_url,
-        ja.source_id,
-        ja.source_name,
-        ja.article_type,
-        ja.recommend,
-        ja.publish,
-        ja.iscomment,
-        ja.view_number,
-        ja.create_time,
-        ja.update_time,
-        ja.update_user,
-        ja.create_user,
-        ja.is_deleted,
-        bdb.dict_value dictValue,
-        jpd.id pdId,
-        jpd.event_type
-        from jczz_article ja LEFT JOIN blade_dict_biz bdb on ja.article_type = bdb.dict_key
-        LEFT JOIN jczz_public_discuss jpd on jpd.article_id=ja.id
-        where ja.is_deleted = 0
-        and ja.publish = 1
-        and bdb.parent_id = '1722966265111248897'
-        <if test="article.articleType != null and article.articleType != ''">
-          and  ja.article_type = #{article.articleType}
-        </if>
+        <!-- 查询报名和议事 -->
         <if test="article.eventType != null">
-            and  jpd.event_type = #{article.eventType}
+            select ja.id,
+            ja.title,
+            ja.type,
+            ja.url,
+            ja.video_url,
+            ja.source_id,
+            ja.source_name,
+            ja.article_type,
+            ja.recommend,
+            ja.publish,
+            ja.iscomment,
+            ja.view_number,
+            ja.create_time,
+            ja.update_time,
+            ja.update_user,
+            ja.create_user,
+            ja.is_deleted,
+            (select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1740566650527752194' and ja.article_type
+            = bdb.dict_key) dictValue,
+            jpd.id pdId
+            from jczz_article ja
+            LEFT JOIN jczz_public_discuss jpd on jpd.article_id=ja.id
+            where ja.is_deleted = 0
+            and ja.publish = 1
+            <if test="article.articleType != null and article.articleType != ''">
+                and ja.article_type = #{article.articleType}
+            </if>
+
+            <if test="article.eventType != null">
+                and jpd.event_type = #{article.eventType}
+            </if>
+
+            <if test="article.type != null">
+                and ja.type = #{article.type}
+            </if>
+
+            <if test="article.type == null">
+                and ja.type = 0
+            </if>
+
+            <if test="article.districtId != null and article.districtId != ''">
+                and (ja.article_range like concat('%',#{article.districtId},'%')
+                or ja.article_range is null or ja.article_range = '')
+            </if>
+            <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+                and (ja.article_range like
+                <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+                </foreach>
+                ) or ja.article_range is null
+            </if>
+
+            <if test="article.districtId == null ">
+                and ja.article_range is  null
+            </if>
+
+            <if test="article.householdId != null">
+                and (FIND_IN_SET ( #{article.householdId}, jpd.user_ids )
+                OR jpd.user_ids IS NULL or jpd.user_ids = '')
+            </if>
+
+            <if test="article.building != null and article.building != ''">
+                and (ja.building = #{article.building}
+                or ja.building is null)
+            </if>
+
+            <if test="article.unit != null and article.unit != ''">
+                and (ja.unit = #{article.unit}
+                or ja.unit is null)
+            </if>
         </if>
+        <!-- 查询文章 -->
+        <if test="article.eventType == null">
+            select ja.id,
+            ja.title,
+            ja.type,
+            ja.url,
+            ja.video_url,
+            ja.source_id,
+            ja.source_name,
+            ja.article_type,
+            ja.recommend,
+            ja.publish,
+            ja.iscomment,
+            ja.view_number,
+            ja.create_time,
+            ja.update_time,
+            ja.update_user,
+            ja.create_user,
+            (select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1722966265111248897' and ja.article_type
+            = bdb.dict_key) dictValue,
+            ja.is_deleted
+            from jczz_article ja
+            where ja.is_deleted = 0
+            and ja.publish = 1
+            <if test="article.articleType != null and article.articleType != ''">
+                and ja.article_type = #{article.articleType}
+            </if>
+
+            <if test="article.type != null">
+                and ja.type = #{article.type}
+            </if>
+
+            <if test="article.type == null">
+                and ja.type = 0
+            </if>
+
+            <if test="article.districtId != null and article.districtId != ''">
+                and (ja.article_range like concat('%',#{article.districtId},'%')
+                or ja.article_range is null)
+            </if>
+
+            <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+                and (ja.article_range like
+                <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+                </foreach>
+                ) or ja.article_range is null
+            </if>
+
+            <if test="article.building != null and article.building != ''">
+                and (ja.building = #{article.building}
+                or ja.building is null)
+            </if>
+
+            <if test="article.unit != null and article.unit != ''">
+                and (ja.unit = #{article.unit}
+                or ja.unit is null)
+            </if>
+        </if>
+
         order by ja.create_time desc
     </select>
 
     <!--查询资讯分页列表信息-->
-    <select id="selectArticlePage" resultType="org.springblade.modules.article.entity.Article">
-        select * from jczz_article
+    <select id="selectArticlePage" resultType="org.springblade.modules.article.vo.ArticleVO">
+        SELECT
+        ja.*,
+        br.`village_name` communityName,
+        br.town_name streetName
+        FROM
+        jczz_article ja
+        LEFT JOIN jczz_district jd ON ja.district_id = jd.id
+        LEFT JOIN blade_region br on br.`code` = jd.community_code
         where 1=1
-        <if test="article.title!=null and article.title!=''">
-            and title like concat('%',#{article.title},'%')
-        </if>
-        <if test="article.sourceName!=null and article.sourceName!=''">
-            and source_name like concat('%',#{article.sourceName},'%')
-        </if>
-        <if test="article.startTime!=null and article.startTime!=''">
-            and create_time&gt;=#{article.startTime}
-        </if>
-        <if test="article.endTime!=null and article.endTime!=''">
-            and create_time&lt;=#{article.endTime}
-        </if>
-        <if test="article.publish!=null and article.publish!=''">
-            and publish = #{article.publish}
-        </if>
-        <if test="article.articleType!=null and article.articleType!=''">
-            and article_type like concat('%',#{article.articleType},'%')
-        </if>
-        <if test="article.keyword!=null and article.keyword!=''">
-            AND CONCAT(title,source_name)
-            LIKE CONCAT ('%', #{article.keyword},'%')
+        and ja.is_deleted = 0
+        <if test="article.communityName!=null and article.communityName!=''">
+            and br.`village_name` like concat('%',#{article.communityName},'%')
         </if>
 
-        and is_deleted = 0
-        order by id desc
+        <if test="article.streetName!=null and article.streetName!=''">
+            and br.town_name like concat('%',#{article.streetName},'%')
+        </if>
+
+        <if test="article.title!=null and article.title!=''">
+            and ja.title like concat('%',#{article.title},'%')
+        </if>
+        <if test="article.sourceName!=null and article.sourceName!=''">
+            and ja.source_name like concat('%',#{article.sourceName},'%')
+        </if>
+        <if test="article.startTime!=null and article.startTime!=''">
+            and ja.create_time&gt;=#{article.startTime}
+        </if>
+        <if test="article.endTime!=null and article.endTime!=''">
+            and ja.create_time&lt;=#{article.endTime}
+        </if>
+        <if test="article.publish!=null and article.publish!=''">
+            and ja.publish = #{article.publish}
+        </if>
+        <if test="article.articleType!=null and article.articleType!=''">
+            and ja.article_type like concat('%',#{article.articleType},'%')
+        </if>
+        <if test="article.type != null ">and ja.type = #{article.type}</if>
+
+        <if test="article.keyword!=null and article.keyword!=''">
+            AND CONCAT(ja.title,ja.source_name)
+            LIKE CONCAT ('%', #{article.keyword},'%')
+        </if>
+        <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+            and (ja.article_range like
+            <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+            </foreach>
+            )
+            <!--            and ja.district_id in-->
+            <!--            <foreach collection="article.districtIdList" index="index" item="item" open="(" separator="," close=")">-->
+            <!--                #{item}-->
+            <!--            </foreach>-->
+        </if>
+        order by ja.create_time desc
     </select>
 
     <!--查询资讯敏感词预警-->
@@ -186,7 +311,7 @@
         sys_collect col
         LEFT JOIN jczz_article art on art.id = col.collect_article
         WHERE
-        1 = 1 AND collect_user =  #{article.userid}
+        1 = 1 AND collect_user = #{article.userid}
         <if test="article.articleType!=null and article.articleType!=''">
             and article_type LIKE CONCAT ('%', #{article.articleType},'%')
         </if>
@@ -331,8 +456,9 @@
     </select>
 
     <update id="upcomment">
-        update jczz_article set iscomment = #{type}
-        where id in(${ids})
+        update jczz_article
+        set iscomment = #{type}
+        where id in (${ids})
     </update>
 
     <!--个人资讯-->
@@ -386,32 +512,127 @@
         ja.create_user,
         ja.is_deleted,
         ja.article_range,
-        bdb.dict_value dictValue
-        from jczz_article ja LEFT JOIN blade_dict_biz bdb on ja.article_type = bdb.dict_key
+        ((select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id=#{parentId} and ja.article_type
+        = bdb.dict_key)) dictValue
+        from jczz_article ja
         <where>
-            <if test="id != null "> and ja.id = #{id}</if>
-            <if test="title != null  and title != ''"> and ja.title = #{title}</if>
-            <if test="type != null "> and ja.type = #{type}</if>
-            <if test="content != null  and content != ''"> and ja.content = #{content}</if>
-            <if test="url != null  and url != ''"> and ja.url = #{url}</if>
-            <if test="videoUrl != null  and videoUrl != ''"> and ja.video_url = #{videoUrl}</if>
-            <if test="sourceId != null  and sourceId != ''"> and ja.source_id = #{sourceId}</if>
-            <if test="sourceName != null  and sourceName != ''"> and ja.source_name = #{sourceName}</if>
-            <if test="articleType != null  and articleType != ''"> and ja.article_type = #{articleType}</if>
-            <if test="recommend != null "> and ja.recommend = #{recommend}</if>
-            <if test="publish != null  and publish != ''"> and ja.publish = #{publish}</if>
-            <if test="iscomment != null  and iscomment != ''"> and ja.iscomment = #{iscomment}</if>
-            <if test="viewNumber != null "> and ja.view_number = #{viewNumber}</if>
-            <if test="createTime != null "> and ja.create_time = #{createTime}</if>
-            <if test="updateTime != null "> and ja.update_time = #{updateTime}</if>
-            <if test="updateUser != null "> and ja.update_user = #{updateUser}</if>
-            <if test="createUser != null "> and ja.create_user = #{createUser}</if>
-            <if test="isDeleted != null "> and ja.is_deleted = #{isDeleted}</if>
-            <if test="articleRange != null  and articleRange != ''"> and article_range = #{articleRange}</if>
+            <if test="id != null ">and ja.id = #{id}</if>
+            <if test="title != null  and title != ''">and ja.title = #{title}</if>
+            <if test="type != null ">and ja.type = #{type}</if>
+            <if test="content != null  and content != ''">and ja.content = #{content}</if>
+            <if test="url != null  and url != ''">and ja.url = #{url}</if>
+            <if test="videoUrl != null  and videoUrl != ''">and ja.video_url = #{videoUrl}</if>
+            <if test="sourceId != null  and sourceId != ''">and ja.source_id = #{sourceId}</if>
+            <if test="sourceName != null  and sourceName != ''">and ja.source_name = #{sourceName}</if>
+            <if test="articleType != null  and articleType != ''">and ja.article_type = #{articleType}</if>
+            <if test="recommend != null ">and ja.recommend = #{recommend}</if>
+            <if test="publish != null  and publish != ''">and ja.publish = #{publish}</if>
+            <if test="iscomment != null  and iscomment != ''">and ja.iscomment = #{iscomment}</if>
+            <if test="viewNumber != null ">and ja.view_number = #{viewNumber}</if>
+            <if test="createTime != null ">and ja.create_time = #{createTime}</if>
+            <if test="updateTime != null ">and ja.update_time = #{updateTime}</if>
+            <if test="updateUser != null ">and ja.update_user = #{updateUser}</if>
+            <if test="createUser != null ">and ja.create_user = #{createUser}</if>
+            <if test="isDeleted != null ">and ja.is_deleted = #{isDeleted}</if>
+            <if test="articleRange != null  and articleRange != ''">and article_range = #{articleRange}</if>
         </where>
-        and  ja.is_deleted = 0
-        and ja.publish = 1
-        and bdb.parent_id = '1722966265111248897'
+        and ja.is_deleted = 0
         order by ja.create_time desc
     </select>
+
+
+    <select id="getDistrictId" resultType="java.lang.String">
+        SELECT jd.id
+        FROM jczz_doorplate_address jda
+                 LEFT JOIN jczz_district jd ON jda.aoi_code = jd.aoi_code
+        WHERE jda.address_code = #{houseCode}
+
+    </select>
+    <select id="getArticleByDistrictId" resultType="org.springblade.modules.article.vo.ArticleVO"
+            parameterType="org.springblade.modules.article.vo.ArticleVO">
+        SELECT
+        ja.*,
+        br.`village_name` communityName,
+        br.town_name streetName
+        FROM
+        jczz_article ja
+        LEFT JOIN jczz_district jd ON ja.district_id = jd.id
+        LEFT JOIN blade_region br on br.`code` = jd.community_code
+        LEFT JOIN jczz_public_discuss jpd on jpd.article_id=ja.id
+        where 1=1
+        and ja.is_deleted = 0
+
+        <if test="article.eventType != null">
+            and jpd.event_type = #{article.eventType}
+            and jpd.end_time is not null
+        </if>
+
+        <if test="article.propertyFlag!=null ">
+            <if test="article.communityName!=null and article.communityName!=''">
+                and br.`village_name` like concat('%',#{article.communityName},'%')
+            </if>
+
+            <if test="article.streetName!=null and article.streetName!=''">
+                and br.town_name like concat('%',#{article.streetName},'%')
+            </if>
+        </if>
+
+        <if test="article.title!=null and article.title!=''">
+            and ja.title like concat('%',#{article.title},'%')
+        </if>
+        <if test="article.sourceName!=null and article.sourceName!=''">
+            and ja.source_name like concat('%',#{article.sourceName},'%')
+        </if>
+        <if test="article.startTime!=null and article.startTime!=''">
+            and ja.create_time&gt;=#{article.startTime}
+        </if>
+        <if test="article.endTime!=null and article.endTime!=''">
+            and ja.create_time&lt;=#{article.endTime}
+        </if>
+        <if test="article.publish!=null and article.publish!=''">
+            and ja.publish = #{article.publish}
+        </if>
+        <if test="article.articleType!=null and article.articleType!=''">
+            and ja.article_type like concat('%',#{article.articleType},'%')
+        </if>
+        <if test="article.type != null ">
+          and ja.type = #{article.type}
+          </if>
+
+        <if test="article.keyword!=null and article.keyword!=''">
+            AND CONCAT(ja.title,ja.source_name)
+            LIKE CONCAT ('%', #{article.keyword},'%')
+        </if>
+        <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
+            and (ja.article_range like
+            <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
+            </foreach>
+            )
+        </if>
+        order by ja.create_time desc
+
+    </select>
+
+    <select id="getAllList" resultType="org.springblade.modules.article.entity.Article">
+        SELECT
+        ja.*
+        FROM
+        jczz_article ja
+        where 1=1
+        and ja.is_deleted = 0
+        and ja.publish = 1
+        and ja.type = 0
+        limit #{i},#{size}
+    </select>
+
+    <select id="getAllListTotal" resultType="java.lang.Integer">
+        SELECT
+        count(*)
+        FROM
+        jczz_article ja
+        where 1=1
+        and ja.is_deleted = 0
+        and ja.publish = 1
+        and ja.type = 0
+    </select>
 </mapper>

--
Gitblit v1.9.3