From 33dc5038638f6b5e9f7f0b9165905e56797ec990 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 23 Feb 2024 11:00:07 +0800
Subject: [PATCH] 议事议题优化

---
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml             |   55 +++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/article/controller/ArticleController.java    |   40 +++++++++++++------
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java            |    2 +
 src/main/java/org/springblade/modules/article/service/ArticleService.java          |    4 ++
 src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java |    5 ++
 5 files changed, 93 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/controller/ArticleController.java b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
index 5a47964..81f9d60 100644
--- a/src/main/java/org/springblade/modules/article/controller/ArticleController.java
+++ b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
@@ -18,6 +18,7 @@
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author zhongrj
@@ -33,8 +34,9 @@
 
 	/**
 	 * 查询资讯分页信息
-	 * @param article  资讯对象
-	 * @param query    查询参数
+	 *
+	 * @param article 资讯对象
+	 * @param query   查询参数
 	 * @return
 	 */
 	@GetMapping("/pageWeb")
@@ -42,10 +44,16 @@
 		return R.data(articleService.selectArticlePage(Condition.getPage(query), article));
 	}
 
+	@GetMapping("/getArticleByDistrictId")
+	public R<List<ArticleVO>> getArticleByDistrictId(ArticleVO article) {
+		return R.data(articleService.getArticleByDistrictId(article));
+	}
+
 	/**
 	 * 查询资讯分页信息-app
-	 * @param article  资讯对象
-	 * @param query    查询参数
+	 *
+	 * @param article 资讯对象
+	 * @param query   查询参数
 	 * @return
 	 */
 	@GetMapping("/page")
@@ -55,8 +63,9 @@
 
 	/**
 	 * 敏感词预警
-	 * @param article  资讯对象
-	 * @param query    查询参数
+	 *
+	 * @param article 资讯对象
+	 * @param query   查询参数
 	 * @return
 	 */
 	@GetMapping("/pageWords")
@@ -66,8 +75,9 @@
 
 	/**
 	 * 查询资讯分页信息(角色权限)
-	 * @param article  资讯对象
-	 * @param query    查询参数
+	 *
+	 * @param article 资讯对象
+	 * @param query   查询参数
 	 * @return
 	 */
 	@GetMapping("/pageDate")
@@ -82,8 +92,9 @@
 
 	/**
 	 * 查询资讯分页信息(角色权限)附带点赞评论数
-	 * @param article  资讯对象
-	 * @param query    查询参数
+	 *
+	 * @param article 资讯对象
+	 * @param query   查询参数
 	 * @return
 	 */
 	@GetMapping("/pageLikes")
@@ -103,7 +114,7 @@
 	/**
 	 * 资讯详情
 	 *
-	 * @param article  资讯查询对象
+	 * @param article 资讯查询对象
 	 */
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
@@ -136,6 +147,7 @@
 
 	/**
 	 * 修改资讯信息
+	 *
 	 * @param article 资讯对象
 	 */
 	@PostMapping("/update")
@@ -164,6 +176,7 @@
 
 	/**
 	 * 删除资讯信息
+	 *
 	 * @param ids 资讯主键id,id集合
 	 */
 	@PostMapping("/remove")
@@ -189,6 +202,7 @@
 
 	/**
 	 * 查询个人资讯
+	 *
 	 * @param article
 	 * @param query
 	 * @return
@@ -207,7 +221,7 @@
 	public R addNumber(@Valid @RequestBody Article notice) {
 		UpdateWrapper<Article> objectUpdateWrapper = new UpdateWrapper<>();
 		objectUpdateWrapper.setSql("view_number = view_number + 1");
-		objectUpdateWrapper.eq("id",notice.getId());
-		return R.status(articleService.update(null ,objectUpdateWrapper));
+		objectUpdateWrapper.eq("id", notice.getId());
+		return R.status(articleService.update(null, objectUpdateWrapper));
 	}
 }
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 4383617..380d1eb 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.java
@@ -57,4 +57,6 @@
 	ArticleVO getArticleOne(ArticleVO article);
 
 	String getDistrictId(String houseCode);
+
+    List<ArticleVO> getArticleByDistrictId(ArticleVO article);
 }
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 60d6b9a..7d0625e 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -535,4 +535,59 @@
         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
+        where 1=1
+        and ja.is_deleted = 0
+        <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>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/article/service/ArticleService.java b/src/main/java/org/springblade/modules/article/service/ArticleService.java
index dd91876..322f57d 100644
--- a/src/main/java/org/springblade/modules/article/service/ArticleService.java
+++ b/src/main/java/org/springblade/modules/article/service/ArticleService.java
@@ -5,6 +5,8 @@
 import org.springblade.modules.article.entity.Article;
 import org.springblade.modules.article.vo.ArticleVO;
 
+import java.util.List;
+
 /**
  * @author zhongrj
  * 资讯服务接口层
@@ -61,4 +63,6 @@
 	Boolean upcomment(String ids, String type);
 
 	ArticleVO getArticleOne(ArticleVO article);
+
+	List<ArticleVO> getArticleByDistrictId(ArticleVO article);
 }
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 b3ceaa5..61fbb31 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
@@ -170,4 +170,9 @@
 		ArticleVO articleVO = baseMapper.getArticleOne(article);
 		return articleVO;
 	}
+
+	@Override
+	public List<ArticleVO> getArticleByDistrictId(ArticleVO article) {
+		return baseMapper.getArticleByDistrictId(article);
+	}
 }

--
Gitblit v1.9.3