From 4c19ddd36bdfb43b5ef4e8df3c9a98cd4d356d6c Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 26 May 2022 10:55:04 +0800
Subject: [PATCH] 1、资讯模糊匹配修改
---
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 169 insertions(+), 0 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 7214381..73e70ff 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -18,6 +18,36 @@
<if test="article.endTime!=null and article.endTime!=''">
and create_time<=#{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},'%')
+ </if>
+ and iswords = "0"
+ order by create_time desc
+ </select>
+
+ <!--查询资讯敏感词预警-->
+ <select id="pageWords" resultType="org.springblade.modules.article.entity.Article">
+ select * from sys_article
+ 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>=#{article.startTime}
+ </if>
+ <if test="article.endTime!=null and article.endTime!=''">
+ and create_time<=#{article.endTime}
+ </if>
<if test="article.articleType!=null and article.articleType!=''">
and article_type = #{article.articleType}
</if>
@@ -25,6 +55,7 @@
AND CONCAT(title,source_name)
LIKE CONCAT ('%', #{article.keyword},'%')
</if>
+ and iswords = "1"
order by create_time desc
</select>
@@ -42,6 +73,30 @@
<if test="(article.rolename==null and article.rolename=='') or (article.rolename!='administrator' and article.rolename!='policeAdmin')">
AND publish = 1
</if>
+ and iswords = "0"
+ order by create_time desc
+ </select>
+
+ <!--查询收藏资讯分页列表信息-->
+ <select id="pageCollectList" resultType="org.springblade.modules.article.entity.Article">
+ SELECT
+ art.*
+ FROM
+ sys_collect col
+ LEFT JOIN sys_article art on art.id = col.collect_article
+ WHERE
+ 1 = 1 AND collect_user = #{article.userid}
+ <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},'%')
+ </if>
+ <if test="(article.rolename==null and article.rolename=='') or (article.rolename!='administrator' and article.rolename!='policeAdmin')">
+ AND publish = 1
+ </if>
+ and iswords = "0"
order by create_time desc
</select>
@@ -67,6 +122,24 @@
likes_article,
b.islikes
) likes ON art.id = likes.likes_article
+
+ LEFT JOIN (
+ SELECT
+ a.collect_article,
+ COUNT( * ) AS collectcount,
+ b.iscollect
+ FROM
+ sys_collect a
+ LEFT JOIN ( SELECT collect_article, COUNT( * ) AS iscollect FROM sys_collect WHERE 1 = 1
+ <if test="article.userid!=null and article.userid!=''">
+ and collect_user = #{article.userid}
+ </if>
+ GROUP BY collect_article ) b ON a.collect_article = b.collect_article
+ GROUP BY
+ collect_article,
+ b.iscollect
+ ) collect ON art.id = collect.collect_article
+
LEFT JOIN (
SELECT
article,
@@ -87,6 +160,72 @@
<if test="(article.rolename==null and article.rolename=='') or (article.rolename!='administrator' and article.rolename!='policeAdmin')">
AND publish = 1
</if>
+ and iswords = "0"
+ order by create_time desc
+ </select>
+
+ <!--查询资讯分页列表信息-->
+ <select id="pageCollect" resultType="org.springblade.modules.article.vo.ArticleVo">
+ SELECT
+ *
+ FROM
+ sys_article art
+ LEFT JOIN (
+ SELECT
+ a.likes_article,
+ COUNT( * ) AS count,
+ b.islikes
+ FROM
+ sys_likes a
+ LEFT JOIN ( SELECT likes_article, COUNT( * ) AS islikes FROM sys_likes WHERE 1 = 1
+ <if test="article.userid!=null and article.userid!=''">
+ and likes_user = #{article.userid}
+ </if>
+ GROUP BY likes_article ) b ON a.likes_article = b.likes_article
+ GROUP BY
+ likes_article,
+ b.islikes
+ ) likes ON art.id = likes.likes_article
+
+ LEFT JOIN (
+ SELECT
+ a.collect_article,
+ COUNT( * ) AS collectcount,
+ b.iscollect
+ FROM
+ sys_collect a
+ LEFT JOIN ( SELECT collect_article, COUNT( * ) AS iscollect FROM sys_collect WHERE 1 = 1
+ <if test="article.userid!=null and article.userid!=''">
+ and collect_user = #{article.userid}
+ </if>
+ GROUP BY collect_article ) b ON a.collect_article = b.collect_article
+ GROUP BY
+ collect_article,
+ b.iscollect
+ ) collect ON art.id = collect.collect_article
+
+ LEFT JOIN (
+ SELECT
+ article,
+ COUNT(*) as comments
+ FROM
+ sys_comment
+ GROUP BY article
+ ) com on com.article = art.id
+ WHERE
+ 1 = 1
+ AND iscollect = 1
+ <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},'%')
+ </if>
+ <if test="(article.rolename==null and article.rolename=='') or (article.rolename!='administrator' and article.rolename!='policeAdmin')">
+ AND publish = 1
+ </if>
+ and iswords = "0"
order by create_time desc
</select>
@@ -94,4 +233,34 @@
update sys_article set iscomment = #{type}
where id in(${ids})
</update>
+
+ <!--个人资讯-->
+ <select id="selectArticleG" resultType="org.springblade.modules.article.entity.Article">
+ select * from sys_article
+ 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>=#{article.startTime}
+ </if>
+ <if test="article.endTime!=null and article.endTime!=''">
+ and create_time<=#{article.endTime}
+ </if>
+ <if test="article.articleType!=null and article.articleType!=''">
+ and article_type = #{article.articleType}
+ </if>
+ <if test="article.keyword!=null and article.keyword!=''">
+ AND CONCAT(title,source_name)
+ LIKE CONCAT ('%', #{article.keyword},'%')
+ </if>
+ <if test="(article.rolename==null and article.rolename=='') or (article.rolename!='administrator' and article.rolename!='policeAdmin')">
+ AND publish = 1
+ </if>
+ and iswords = "0" and type!=1
+ order by create_time desc
+ </select>
</mapper>
--
Gitblit v1.9.3