Browse Source

信息中心V1.3.9

kaick 1 year ago
parent
commit
65a993ef89

+ 1 - 1
src/main/java/com/caimei365/user/mapper/ArticleMapper.java

@@ -32,7 +32,7 @@ public interface ArticleMapper {
     /**
      * 查询文章分类列表
      */
-    List<ArticleTypeVo> getArticleTypeList();
+    List<ArticleTypeVo> getArticleTypeList(String parentId);
     /**
      * 根据文章标签查询标签id
      */

+ 6 - 0
src/main/java/com/caimei365/user/model/vo/ArticleTypeVo.java

@@ -3,6 +3,7 @@ package com.caimei365.user.model.vo;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * Description
@@ -22,5 +23,10 @@ public class ArticleTypeVo implements Serializable {
      */
     private String typeName;
 
+    /**
+     * 子级文章分类
+     */
+    private List<ArticleTypeVo> articleTypes;
+
     private static final long serialVersionUID = 1L;
 }

+ 6 - 1
src/main/java/com/caimei365/user/model/vo/ShopArticleVo.java

@@ -71,6 +71,11 @@ public class ShopArticleVo {
 	 */
 	private String typeName;
 
+	/**
+	 * 父级文章分类Id
+	 */
+	private String parentId;
+
 	/**
 	 * 引导图
 	 */
@@ -115,4 +120,4 @@ public class ShopArticleVo {
 	 * 添加时间
 	 */
 	private Date createDate;
-}
+}

+ 13 - 3
src/main/java/com/caimei365/user/service/impl/ShopServiceImpl.java

@@ -435,7 +435,8 @@ public class ShopServiceImpl implements ShopService {
         // 供应商文章
         ShopArticleVo shopArticle = articleMapper.getShopArticleById(articleId);
         // 文章分类列表
-        List<ArticleTypeVo> articleTypeList = articleMapper.getArticleTypeList();
+        List<ArticleTypeVo> articleTypeList = articleMapper.getArticleTypeList("0");
+        infoTypes(articleTypeList);
         // 文章标签列表
         String articleLabels = articleMapper.getArticleLabelList();
         // 文章关联的标签库
@@ -550,10 +551,19 @@ public class ShopServiceImpl implements ShopService {
 
     @Override
     public ResponseJson<List<ArticleTypeVo>> getArticleTypeList() {
-        List<ArticleTypeVo> articleTypeList = articleMapper.getArticleTypeList();
+        List<ArticleTypeVo> articleTypeList = articleMapper.getArticleTypeList("0");
+        infoTypes(articleTypeList);
         return ResponseJson.success(articleTypeList);
     }
-
+    public void infoTypes(List<ArticleTypeVo> articleTypes ) {
+        articleTypes.forEach(type->{
+            List<ArticleTypeVo> articleTypes1 = articleMapper.getArticleTypeList(type.getTypeId().toString());
+            if(articleTypes1.size()>0){
+                type.setArticleTypes(articleTypes1);
+                infoTypes(articleTypes1);
+            }
+        });
+    }
     @Override
     public ResponseJson<Void> deleteArticle(Integer articleId) {
         articleMapper.deleteArticle(articleId);

+ 5 - 2
src/main/resources/mapper/ArticleMapper.xml

@@ -24,9 +24,11 @@
     </select>
     <select id="getArticleTypeList" resultType="com.caimei365.user.model.vo.ArticleTypeVo">
         select id as typeId, name as typeName
-        from info_type
+        from info_type a
         where enabledStatus = '1'
+          and a.delFlag = 0 and a.type = 1
           and shopUseFlag = 1
+          and a.parentId=#{parentId}
         order by sort desc, createDate desc
     </select>
     <select id="getArticleLabelId" resultType="java.lang.Integer">
@@ -42,6 +44,7 @@
         publisher,
         source,
         it.name as typeName,
+        it.parentId as parentId,
         guidanceImage,
         i.pubdate as publishDate,
         i.createDate,
@@ -63,7 +66,7 @@
             and publisher like concat('%',#{publisher},'%')
         </if>
         <if test="typeId != null">
-            and typeId = #{typeId}
+            and (typeId = #{typeId} or it.parentId=#{typeId})
         </if>
         <if test="status != null">
             and i.enabledStatus = #{status}