From 19b6f6bd18bd5080b3debef107c5fe8345c1eee8 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 01 Dec 2023 13:57:30 +0800
Subject: [PATCH] 文章通过范围查询

---
 src/main/java/org/springblade/modules/article/vo/ArticleVO.java                    |    5 +
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml             |  148 +++++++++++++++++++++++++++++++++----------------
 src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml               |    4 
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java            |    2 
 src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java |    9 ++
 5 files changed, 116 insertions(+), 52 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java
index 6d5b16b..4383617 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java
@@ -55,4 +55,6 @@
 	Boolean upcomment(String ids, String type);
 
 	ArticleVO getArticleOne(ArticleVO article);
+
+	String getDistrictId(String houseCode);
 }
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..d3c19cc 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -68,37 +68,78 @@
 
 
     <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,
+            jpd.id pdId,
+            (select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1722966265111248897' and ja.article_type = bdb.dict_key) dictValue,
+            jpd.event_type
+            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.districtId != null and article.districtId != ''">
+                and (ja.article_range like concat('%',#{article.districtId},'%')
+                or ja.article_range 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.districtId != null and article.districtId != ''">
+                and ja.article_range like concat('%',#{article.districtId},'%')
+                or ja.article_range is null
+            </if>
+        </if>
+
         order by ja.create_time desc
     </select>
 
@@ -389,29 +430,38 @@
         bdb.dict_value dictValue
         from jczz_article ja LEFT JOIN blade_dict_biz bdb on ja.article_type = bdb.dict_key
         <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.is_deleted = 0
         and ja.publish = 1
         and bdb.parent_id = '1722966265111248897'
         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>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
index ee2ebf0..b305a62 100644
--- a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -8,6 +8,8 @@
 import org.springblade.modules.article.vo.ArticleVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author zhongrj
  * @title 资讯服务实现层
@@ -15,6 +17,7 @@
 @Service
 
 public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements ArticleService {
+
 
 	/**
 	 * 查询资讯分页信息
@@ -35,7 +38,11 @@
 	 */
 	@Override
 	public IPage<ArticleVO> selectArticlePageByApp(IPage<ArticleVO> page, ArticleVO article) {
-		return page.setRecords(baseMapper.selectArticlePageByApp(page,article));
+		// 查询用户小区的id
+		String districId = baseMapper.getDistrictId(article.getHouseCode());
+		article.setDistrictId(districId);
+		List<ArticleVO> articleVOS = baseMapper.selectArticlePageByApp(page, article);
+		return page.setRecords(articleVOS);
 	}
 
 	@Override
diff --git a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
index 225ece2..894329a 100644
--- a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
+++ b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
@@ -71,4 +71,9 @@
 
 	private List<List<String>> articleList;
 
+
+	private String houseCode;
+
+	private String districtId;
+
 }
diff --git a/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml
index e95699f..9f02f39 100644
--- a/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml
+++ b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml
@@ -58,8 +58,8 @@
         jc.deleted_falg,
         bu.name,
         bu.avatar,
-        jc.circle_type
-        (selelct count(1) from jczz_circle_like jcl where jcl.circle_id = jc.id  and  user_id = #{userId}  ) likeFlag
+        jc.circle_type,
+        (select count(1) from jczz_circle_like jcl where jcl.circle_id = jc.id  and  jcl.user_id  = #{circle.userId}  ) likeFlag
         from jczz_circle jc left join blade_user bu on jc.user_id = bu.id
         <where>
             <if test="circle.id != null "> and id = #{circle.id}</if>

--
Gitblit v1.9.3