<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.springblade.modules.article.mapper.ArticleMapper">
|
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="noticeResultMap" type="org.springblade.modules.article.vo.ArticleVO">
|
<result column="id" property="id"/>
|
<result column="title" property="title"/>
|
<result column="type" property="type"/>
|
<result column="content" property="content"/>
|
<result column="url" property="url"/>
|
<result column="video_url" property="videoUrl"/>
|
<result column="source_id" property="sourceId"/>
|
<result column="source_name" property="sourceName"/>
|
<result column="article_type" property="articleType"/>
|
<result column="recommend" property="recommend"/>
|
<result column="publish" property="publish"/>
|
<result column="iscomment" property="iscomment"/>
|
<result column="view_number" property="viewNumber"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="create_user" property="createUser"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result property="articleRange" column="article_range"/>
|
<collection property="countNumber" column="id" javaType="int" select="selectStlCount">
|
</collection>
|
|
</resultMap>
|
|
|
<select id="selectStlCount" resultType="int">
|
select count(1) countNumber
|
FROM jczz_article jn
|
LEFT JOIN jczz_article_like jnl ON jn.id = jnl.article_id
|
where jn.is_deleted = 0
|
and jnl.delete_flag = 0
|
and jn.id = #{id}
|
</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,
|
building,
|
unit
|
from jczz_article
|
</sql>
|
|
|
<select id="selectArticlePageByApp" resultMap="noticeResultMap">
|
<!-- 查询报名和议事 -->
|
<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,
|
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.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.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.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.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 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>=#{article.startTime}
|
</if>
|
<if test="article.endTime!=null and article.endTime!=''">
|
and ja.create_time<=#{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>
|
|
<!--查询资讯敏感词预警-->
|
<select id="pageWords" resultType="org.springblade.modules.article.entity.Article">
|
select * from jczz_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>
|
and iswords = "1"
|
order by id desc
|
</select>
|
|
<!--查询资讯分页列表信息-->
|
<select id="pageDate" resultType="org.springblade.modules.article.entity.Article">
|
select * from jczz_article
|
where 1=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 id desc
|
</select>
|
|
<!--查询收藏资讯分页列表信息-->
|
<select id="pageCollectList" resultType="org.springblade.modules.article.entity.Article">
|
SELECT
|
art.*
|
FROM
|
sys_collect col
|
LEFT JOIN jczz_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 id desc
|
</select>
|
|
<!--查询资讯分页列表信息-->
|
<select id="pageLikes" resultType="org.springblade.modules.article.vo.ArticleVO">
|
SELECT
|
*
|
FROM
|
jczz_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
|
<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 id desc
|
</select>
|
|
<!--查询资讯分页列表信息-->
|
<select id="pageCollect" resultType="org.springblade.modules.article.vo.ArticleVO">
|
SELECT
|
*
|
FROM
|
jczz_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 id desc
|
</select>
|
|
<update id="upcomment">
|
update jczz_article
|
set iscomment = #{type}
|
where id in (${ids})
|
</update>
|
|
<!--个人资讯-->
|
<select id="selectArticleG" resultType="org.springblade.modules.article.entity.Article">
|
select * from jczz_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 id desc
|
</select>
|
|
|
<select id="getArticleOne" parameterType="org.springblade.modules.article.vo.ArticleVO" resultMap="noticeResultMap">
|
select ja.id,
|
ja.title,
|
ja.type,
|
ja.url,
|
ja.video_url,
|
ja.source_id,
|
ja.content,
|
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,
|
ja.article_range,
|
((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>
|
</where>
|
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
|
and jpd.end_time <= SYSDATE()
|
</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>=#{article.startTime}
|
</if>
|
<if test="article.endTime!=null and article.endTime!=''">
|
and ja.create_time<=#{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>
|