kaick преди 1 година
родител
ревизия
77f7397a97

+ 19 - 12
src/main/java/com/caimei/www/controller/unlimited/ArticleController.java

@@ -8,6 +8,7 @@ import com.caimei.www.service.page.ArticleService;
 import com.caimei.www.service.page.CmBrandLandingService;
 import com.caimei.www.service.page.ProductService;
 import com.caimei.www.utils.PaginationVo;
+import com.caimei.www.utils.ResponseJson;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -62,7 +63,7 @@ public class ArticleController extends BaseController {
         List<BaseLink> typeList = articleService.getArticleTypes();
         List<CmBrandLandingVO> cmBrandLandingList = cmBrandLandingService.getCmBrandLandingList(new CmBrandLanding()
                 .setType("4").setAuthorId(id.toString()));
-        List<ImageLink> infoSelected = articleService.getArticleSelected(0, 5);
+        List<Article> infoSelected = articleService.getArticleSelected(0, 5);
         List<CmProductArchiveFile> archiveFiles = articleService.findArchiveFileAddTime(0, 3);
         List<ProductList> productSellNumbers = productService.getProductSellNumbers();
         List<BaseLink> data = articleService.getArticleLabels().getData();
@@ -109,14 +110,6 @@ public class ArticleController extends BaseController {
     public String selectedList(@PathVariable("id") Integer id, @PathVariable("pageNum") Integer pageNum, final Model model) {
         PageHelper.startPage(pageNum, 10);
         List<BaseLink> typeList = articleService.getArticleTypes();
-        PaginationVo pageData = null;
-        if (id == 1) {//精选文章
-            List<ImageLink> infoSelected = articleService.getArticleSelected(null, null);
-            pageData = new PaginationVo<ImageLink>(infoSelected);
-        } else {//美业资料
-            List<CmProductArchiveFile> archiveFiles = articleService.findArchiveFileAddTime(null, null);
-            pageData = new PaginationVo<CmProductArchiveFile>(archiveFiles);
-        }
         if (id == 1) {//精选文章
             List<CmProductArchiveFile> archiveFiles = articleService.findArchiveFileAddTime(0, 3);
             List<ProductList> productSellNumbers = productService.getProductSellNumbers();
@@ -128,15 +121,29 @@ public class ArticleController extends BaseController {
         model.addAttribute("ads", Ads);
         model.addAttribute("labels", data);
         model.addAttribute("articleType", typeList);//导航栏
-        model.addAttribute("pageData", pageData);
         model.addAttribute("labelId", 0);
         model.addAttribute("pageNum", pageNum);
         model.addAttribute("isSearch", true);
         return ARTICLE_LIST_PATH;
     }
+
     /**
-     * 文章搜索结果
+     * 精选文章和美业资料列表数据
      */
+    @ResponseBody
+    @GetMapping("/info/articlerecommendation/{id}")
+    public ResponseJson<PaginationVo> toPagination(@PathVariable("id") Integer id) {
+        PaginationVo pageData = null;
+        if (id == 1) {//精选文章
+            List<Article> infoSelected = articleService.getArticleSelected(null, null);
+            pageData = new PaginationVo<Article>(infoSelected);
+        } else {//美业资料
+            List<CmProductArchiveFile> archiveFiles = articleService.findArchiveFileAddTime(null, null);
+            pageData = new PaginationVo<CmProductArchiveFile>(archiveFiles);
+        }
+        return ResponseJson.success(pageData);
+    }
+
     @GetMapping("/info/search-{pageNum}.html")
     public String toArticleSearch(@PathVariable("pageNum") Integer pageNum, final Model model) {
         List<BaseLink> typeList = articleService.getArticleTypes();
@@ -199,7 +206,7 @@ public class ArticleController extends BaseController {
             articles = articleService.getArticleRelatedId(id.toString());
         }
         String relatedLabels = articleService.relatedLabel(id);
-        List<ImageLink> infoSelected = articleService.getArticleSelected(0, 5);
+        List<Article> infoSelected = articleService.getArticleSelected(0, 5);
         List<CmProductArchiveFile> archiveFiles = articleService.findArchiveFileAddTime(0, 3);
         List<ProductList> productSellNumbers = productService.getProductSellNumbers();
         model.addAttribute("infoSelected", infoSelected);//精选文章

+ 1 - 1
src/main/java/com/caimei/www/mapper/ArticleDao.java

@@ -53,7 +53,7 @@ public interface ArticleDao {
      * @param
      * @return
      */
-    List<ImageLink> getArticleSelected(@Param("pageNum") Integer pageNum,@Param("pageSize")  Integer pageSize);
+    List<Article> getArticleSelected(@Param("pageNum") Integer pageNum,@Param("pageSize")  Integer pageSize);
 
     /**
      * 获取精选文章推荐

+ 1 - 1
src/main/java/com/caimei/www/service/page/ArticleService.java

@@ -35,7 +35,7 @@ public interface ArticleService {
     /**
      * 获取文章推荐
      */
-    List<ImageLink> getArticleSelected(Integer pageNum,   Integer pageSize);
+    List<Article> getArticleSelected(Integer pageNum,   Integer pageSize);
     /**
      * 获取相关文章
      */

+ 2 - 2
src/main/java/com/caimei/www/service/page/impl/ArticleServiceImpl.java

@@ -97,8 +97,8 @@ public class ArticleServiceImpl implements ArticleService {
      *
      */
     @Override
-    public List<ImageLink> getArticleSelected(Integer pageNum,   Integer pageSize) {
-        List<ImageLink> selected = articleDao.getArticleSelected( pageNum,    pageSize);
+    public List<Article> getArticleSelected(Integer pageNum,   Integer pageSize) {
+        List<Article> selected = articleDao.getArticleSelected( pageNum,    pageSize);
         selected.forEach(item -> {
             item.setImage(ImageUtil.getImageURL("", item.getImage(), 0, domain));
         });

+ 81 - 0
src/main/java/com/caimei/www/utils/ResponseJson.java

@@ -0,0 +1,81 @@
+package com.caimei.www.utils;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 全局API返回值
+ *
+ * @author : Charles
+ * @date : 2021/3/4
+ */
+@Data
+public class ResponseJson<T> implements Serializable {
+    /** 状态码 */
+    private int code;
+    /** 提示信息 */
+    private String msg;
+    /** 返回的数据 */
+    private T data;
+
+    private ResponseJson() {}
+
+    private ResponseJson(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    private ResponseJson(int code, String msg, T data) {
+        this.code = code;
+        this.msg = msg;
+        this.data = data;
+    }
+
+    public static ResponseJson success() {
+        return new ResponseJson<>(0, "操作成功");
+    }
+
+    public static<T> ResponseJson<T> success(T data) {
+        return new ResponseJson<>(0, "操作成功", data);
+    }
+
+    public static<T> ResponseJson<T> success(String msg, T data) {
+        return new ResponseJson<>(0, msg, data);
+    }
+
+    public static<T> ResponseJson<T> success(int code, String msg, T data) {
+        return new ResponseJson<>(code, msg, data);
+    }
+
+    public static ResponseJson error() {
+        return new ResponseJson<>(-1, "操作失败");
+    }
+
+    public static ResponseJson error(String msg) {
+        return new ResponseJson<>(-1, msg);
+    }
+
+    public static ResponseJson error(int code, String msg) {
+        return new ResponseJson<>(code, msg);
+    }
+
+    public static<T> ResponseJson<T> error(T data) {
+        return new ResponseJson<>(-1, "操作失败", data);
+    }
+
+    public static<T> ResponseJson<T> error(String msg, T data) {
+        return new ResponseJson<>(-1, msg, data);
+    }
+
+    public static<T> ResponseJson<T> error(int code, String msg, T data) {
+        return new ResponseJson<>(code, msg, data);
+    }
+
+    @Override
+    public String toString() {
+        return "ResponseJson{" + "code=" + code + ", msg='" + msg + '\'' + ", data=" + data + '}';
+    }
+
+    private static final long serialVersionUID = 1L;
+}

+ 13 - 4
src/main/resources/mapper/ArticleMapper.xml

@@ -42,10 +42,19 @@
 		order by a.pubdate desc
 	</select>
 
-    <select id="getArticleSelected" resultType="com.caimei.www.pojo.page.ImageLink">
-		select  a.id,
-				a.title,
-				a.guidanceImage as image
+    <select id="getArticleSelected" resultType="com.caimei.www.pojo.page.Article">
+		select
+		a.id as id,
+		a.title as title,
+		a.guidanceImage as image,
+		a.publisher as publisher,
+		a.pubdate as publishDate,
+		a.recommendContent as intro,
+		a.infoContent as content,
+		(IFNULL(c.pv, 0) + IFNULL(a.basePv, 0) + IFNULL((c.num + a.basePraise), 0)) as pv,
+		a.label as label,
+		a.typeId as typeId,
+		a.relatedLabels
 		from cm_related cr
 		left join info a on a.id=cr.relatedId
 		where cr.type=2