From a88bc9d86256d94dcb4580d43bd88b3f19e98c15 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 11 Jul 2022 16:06:38 +0800
Subject: [PATCH] fix

---
 src/main/resources/mapper/ArticleMapper.xml |  115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 109 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/ArticleMapper.xml b/src/main/resources/mapper/ArticleMapper.xml
index 3d8f282..63fedc5 100644
--- a/src/main/resources/mapper/ArticleMapper.xml
+++ b/src/main/resources/mapper/ArticleMapper.xml
@@ -5,21 +5,33 @@
     <select id="selectAdminArticleInPage" resultType="com.xcong.farmer.cms.modules.system.vo.AdminArticleVo">
         SELECT
         a.*,
-        b.column_name columnName
+        b.column_name columnName,
+        c.web_address baseUrl,
+        b.path path
         FROM
         t_article a
         left join t_column b on a.column_id = b.id
+        inner join t_company c on a.company_id=c.id
         <where>
             and a.del_status = 1
             <if test="record != null" >
-                <if test="record.columnId != null">
-                    and a.column_id = #{record.columnId}
+                <if test="record.columnList != null">
+                    and a.column_id in
+                    <foreach collection="record.columnList" separator="," close=")" open="(" item="item">
+                        #{item}
+                    </foreach>
                 </if>
                 <if test="record.companyId != null">
                     and a.company_id = #{record.companyId}
                 </if>
                 <if test="record.title!=null">
                     and a.title like concat ('%',#{record.title},'%')
+                </if>
+                <if test="record.columnIds != null">
+                    and a.column_id in
+                    <foreach collection="record.columnIds" separator="," close=")" open="(" item="item">
+                        #{item}
+                    </foreach>
                 </if>
             </if>
         </where>
@@ -36,15 +48,106 @@
     <select id="selectPrevOrNextArticle" resultType="com.xcong.farmer.cms.modules.system.entity.ArticleEntity">
         select *
         from t_article a, t_column b
-        where a.id!=#{id} and (a.column_id=b.id or a.column_id=b.parent_id) and a.column_id=#{columnId}
+        where (a.column_id=b.id or a.column_id=b.parent_id) and a.column_id=#{columnId} and release_status=1
+        and del_status = 1
         <!--上一篇-->
         <if test="type == 1">
-            order by a.id
+            and #{id} > a.id
+            order by a.id desc
         </if>
         <!--下一篇-->
         <if test="type == 2">
-            order by a.id desc
+            and a.id > #{id}
+            order by a.id
         </if>
         limit 1
     </select>
+
+    <select id="selectArticleById" resultType="com.xcong.farmer.cms.modules.system.entity.ArticleEntity">
+        select a.*, b.column_code, b.column_name, b.path
+        from t_article a, t_column b
+        where a.column_id=b.id and a.id=#{id}
+    </select>
+
+    <select id="selectArticleInPage" resultType="com.xcong.farmer.cms.modules.system.entity.ArticleEntity">
+        select
+            a.*,
+            b.column_code,
+            b.column_name,
+            b.path
+        from t_article a
+        inner join t_column b on a.column_id=b.id
+        inner join t_column c on b.parent_id=c.id or c.id=b.id
+        <where>
+            a.company_id=#{record.companyId} and a.del_status = 1
+            <if test="record.columnCode != null and record.columnCode != ''">
+                and c.column_code=#{record.columnCode}
+            </if>
+            <if test="record.columnIds != null">
+                and c.id in
+                <foreach collection="record.columnIds" item="item" open="(" close=")" separator=",">
+                    ${item}
+                </foreach>
+            </if>
+            <if test="record.releaseType == 2">
+                and release_status = 1
+            </if>
+        </where>
+        order by release_time desc
+    </select>
+
+    <select id="selectWebArticleInPage" resultType="com.xcong.farmer.cms.modules.system.vo.WebArticleVo">
+        SELECT
+        a.*,
+        b.column_name columnName
+        FROM
+        t_article a
+        left join t_column b on a.column_id = b.id
+        <where>
+            and a.del_status = 1
+            and a.release_status = 1
+            and a.company_id = #{record.companyId}
+            <if test="record != null" >
+                <if test="record.columnId != null">
+                    and a.column_id = #{record.columnId}
+                </if>
+                <if test="record.title!=null">
+                    and a.title like concat ('%',#{record.title},'%')
+                </if>
+                <if test="record.author!=null">
+                    and a.author like concat ('%',#{record.author},'%')
+                </if>
+                <if test="record.timeType!=null">
+                    and a.release_time > #{record.timeType}
+                </if>
+            </if>
+        </where>
+        order by a.is_top desc,a.create_time desc
+    </select>
+
+    <select id="selectArticleIdsByColumnId" resultType="java.lang.Long">
+        select a.id from t_article a
+        where a.column_id=#{columnId} and a.company_id=#{companyId} and a.del_status = 1
+        <if test="type != 4">
+            <if test="type == 2">
+                and release_status=1
+            </if>
+            <if test="type == 3">
+                and release_status=0
+            </if>
+        </if>
+    </select>
+
+    <select id="selectArticleByColumnId" resultType="com.xcong.farmer.cms.modules.system.entity.ArticleEntity">
+        select * from t_article a
+        where a.column_id=#{columnId} and a.company_id=#{companyId} and a.del_status = 1
+        <if test="type != 4">
+            <if test="type == 2">
+                and release_status=1
+            </if>
+            <if test="type == 3">
+                and release_status=0
+            </if>
+        </if>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1