<?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="vip.xiaonuo.modular.blogarticle.mapper.BlogArticleMapper">
|
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column">
|
id,title,article_file_id,article_file_type,
|
article_type_id,introduce,cover_file_id,last_editor_date,publish_date,
|
is_top,top_value,auth_status,auth_password,editor_status,
|
separate_year,separate_month,separate_day,is_enable,update_date,create_date
|
</sql>
|
|
<sql id="Base_Column_List">
|
a.id,
|
a.title,
|
a.article_file_type,
|
a.article_type_id,
|
a.introduce,
|
a.cover_file_id,
|
a.auth_status,
|
a.last_editor_date,
|
a.publish_date,
|
a.is_top,
|
a.editor_status,
|
a.is_allowed_comment,
|
a.jump_url as jumpURL,
|
a.update_date,
|
a.create_date,
|
a.video_ids,
|
a.picture_ids
|
</sql>
|
|
<!--首页通用的条件查询-->
|
<sql id="queryListCondition">
|
<trim prefix="WHERE" prefixOverrides="AND | OR">
|
a.is_enable=1
|
and a.editor_status=1
|
and a.publish_date < now()
|
<choose>
|
<when test="param.typeId != null">
|
AND a.article_type_id = #{param.typeId}
|
order by a.is_top desc,a.top_value asc , a.publish_date desc
|
</when>
|
|
<otherwise>
|
<!-- 首页不出现视频等文件类型-->
|
<if test="param.faceExcludeFile != null">
|
and a.article_file_type not in
|
<foreach collection="param.faceExcludeFile" item="obj" separator="," open="(" close=")">
|
#{obj}
|
</foreach>
|
</if>
|
order by a.is_top desc,a.top_value asc , a.update_date desc
|
</otherwise>
|
</choose>
|
</trim>
|
|
</sql>
|
|
<!-- 首页查询-->
|
<select id="searchList" resultType="vip.xiaonuo.modular.blogarticle.entity.BlogArticleVo">
|
select
|
<include refid="Base_Column_List"/>
|
,IF(a.cover_file_id is not null,CONCAT("/",f2.file_bucket,"/",f2.file_object_name),"") as coverFileURL
|
,t.type_name as articleTypeName
|
from
|
blog_article a
|
inner join blog_article_type t
|
on t.id =a.article_type_id
|
|
<!-- 排除首页不查询的分类-->
|
<if test="param.typeId == null">
|
and t.is_show_face = 1
|
</if>
|
|
left join sys_file_info f2
|
on f2.id=a.cover_file_id
|
|
<include refid="queryListCondition"/>
|
|
limit #{param.pageNo},#{param.pageSize}
|
</select>
|
|
<!-- 首页查询个数统计-->
|
<select id="searchListCount" resultType="java.lang.Long">
|
select
|
count(0)
|
from
|
blog_article a
|
<include refid="queryListCondition"/>
|
|
</select>
|
|
<!-- 月份归档统计-->
|
<select id="searchMonthCount" resultType="vip.xiaonuo.modular.blogStatistics.vo.BlogArchiveDetailVo">
|
SELECT
|
separate_month AS `month`,
|
count(1) AS `count`
|
FROM
|
blog_article
|
WHERE
|
(
|
is_enable = 1
|
AND editor_status = 1
|
AND separate_year = #{separateYear}
|
AND publish_date < now()
|
)
|
GROUP BY
|
separate_month
|
ORDER BY separate_month desc
|
|
</select>
|
|
<!-- 上下篇查询-->
|
<select id="getAdjoiningRecord" resultType="vip.xiaonuo.modular.blogarticle.entity.BlogArticleVo">
|
select
|
a.id,
|
a.title
|
from
|
blog_article a
|
<include refid="queryListCondition"/>
|
limit #{param.pageNo},#{param.pageSize}
|
</select>
|
|
<sql id="queryPlatformCondition">
|
<trim prefix="WHERE" prefixOverrides="AND | OR">
|
a.is_enable=1
|
and a.editor_status=1
|
and a.publish_date < now()
|
|
<if test="param.id != null">
|
and a.id = #{param.id}
|
</if>
|
|
<if test="param.fileType != null">
|
and a.article_file_type = #{param.fileType}
|
</if>
|
|
AND a.article_type_id in
|
<foreach collection="param.typeIds" item="obj" separator="," open="(" close=")">
|
#{obj}
|
</foreach>
|
|
order by a.is_top desc,a.top_value asc , a.publish_date desc
|
</trim>
|
|
</sql>
|
|
<!--月台列表查询-->
|
<select id="searchPlatformList" resultType="vip.xiaonuo.modular.blogarticle.entity.BlogArticleVo">
|
select
|
<include refid="Base_Column_List"/>
|
,IF(a.cover_file_id is not null,CONCAT("/",f2.file_bucket,"/",f2.file_object_name),"") as coverFileURL
|
,t.type_name as articleTypeName
|
from
|
blog_article a
|
inner join blog_article_type t
|
on t.id =a.article_type_id
|
|
left join sys_file_info f2
|
on f2.id=a.cover_file_id
|
|
<include refid="queryPlatformCondition"/>
|
|
limit #{param.pageNo},#{param.pageSize}
|
</select>
|
|
<select id="searchPlatformListCount" resultType="java.lang.Long">
|
select
|
count(0)
|
from
|
blog_article a
|
<include refid="queryPlatformCondition"/>
|
</select>
|
|
|
</mapper>
|