From 97518d66d3c202b8e2fa129177c6d22078b144bd Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Mon, 9 Jan 2023 18:53:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0PC=E8=B5=84=E8=AE=AF=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mdd/front/config/FrontConfig.java | 1 + .../mdd/front/controller/PcController.java | 14 +++++ .../com/mdd/front/service/IPcService.java | 12 +++- .../mdd/front/service/impl/PcServiceImpI.java | 59 ++++++++++++++++++- .../com/mdd/front/vo/PcArticleCenterVo.java | 17 ++++++ .../com/mdd/front/vo/PcArticleDetailVo.java | 3 +- 6 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 server/like-front/src/main/java/com/mdd/front/vo/PcArticleCenterVo.java diff --git a/server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java b/server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java index 7596f4fc..8121a900 100644 --- a/server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java +++ b/server/like-front/src/main/java/com/mdd/front/config/FrontConfig.java @@ -30,6 +30,7 @@ public class FrontConfig { "/api/article/list", "/api/pc/getConfig", "/api/pc/index", + "/api/pc/articleCenter", "/api/pc/articleDetail", "/api/login/getScanCode", "/api/login/scanLogin", diff --git a/server/like-front/src/main/java/com/mdd/front/controller/PcController.java b/server/like-front/src/main/java/com/mdd/front/controller/PcController.java index a16431e8..e8411d83 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/PcController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/PcController.java @@ -4,6 +4,7 @@ import com.mdd.common.core.AjaxResult; import com.mdd.common.validator.annotation.IDMust; import com.mdd.front.LikeFrontThreadLocal; import com.mdd.front.service.IPcService; +import com.mdd.front.vo.PcArticleCenterVo; import com.mdd.front.vo.PcArticleDetailVo; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; @@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; import java.util.Map; /** @@ -47,6 +49,18 @@ public class PcController { return AjaxResult.success(config); } + /** + * 资讯中心 + * + * @author fzr + * @return AjaxResult> + */ + @GetMapping("/articleCenter") + public AjaxResult> articleCenter() { + List list = iPcService.articleCenter(); + return AjaxResult.success(list); + } + /** * 文章详情 * diff --git a/server/like-front/src/main/java/com/mdd/front/service/IPcService.java b/server/like-front/src/main/java/com/mdd/front/service/IPcService.java index 81ac2ea0..6b6834f1 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/IPcService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/IPcService.java @@ -1,7 +1,9 @@ package com.mdd.front.service; +import com.mdd.front.vo.PcArticleCenterVo; import com.mdd.front.vo.PcArticleDetailVo; +import java.util.List; import java.util.Map; public interface IPcService { @@ -20,12 +22,20 @@ public interface IPcService { */ Map getConfig(); + /** + * 资讯中心 + * + * @authro fzr + * @return PcArticleCenterVo + */ + List articleCenter(); + /** * 文章详情 * * @author fzr * @param id 文章主键 - * @return Object + * @return PcArticleDetailVo */ PcArticleDetailVo articleDetail(Integer id, Integer userId); diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/PcServiceImpI.java b/server/like-front/src/main/java/com/mdd/front/service/impl/PcServiceImpI.java index f7ef6c2a..8676b452 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/PcServiceImpI.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/PcServiceImpI.java @@ -13,6 +13,7 @@ import com.mdd.common.mapper.article.ArticleCollectMapper; import com.mdd.common.mapper.article.ArticleMapper; import com.mdd.common.util.*; import com.mdd.front.service.IPcService; +import com.mdd.front.vo.PcArticleCenterVo; import com.mdd.front.vo.PcArticleDetailVo; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -164,6 +165,42 @@ public class PcServiceImpI implements IPcService { return config; } + @Override + public List articleCenter() { + List articleCategoryList = articleCategoryMapper.selectList( + new QueryWrapper() + .eq("is_show", 1) + .eq("is_delete", 0) + .orderByDesc(Arrays.asList("sort", "id"))); + + List list = new LinkedList<>(); + for (ArticleCategory articleCategory : articleCategoryList) { + List
articleList = articleMapper.selectList(new QueryWrapper
() + .eq("cid", articleCategory.getId()) + .eq("is_show", 1) + .eq("is_delete", 0) + .orderByDesc(Arrays.asList("sort", "id")) + .last("limit 10")); + + List> articles = new LinkedList<>(); + for (Article article : articleList) { + Map a = new LinkedHashMap<>(); + a.put("id", article.getId()); + a.put("title", article.getTitle()); + a.put("image", UrlUtils.toAbsoluteUrl(article.getImage())); + articles.add(a); + } + + PcArticleCenterVo vo = new PcArticleCenterVo(); + vo.setId(articleCategory.getId()); + vo.setName(articleCategory.getName()); + vo.setArticle(articles); + list.add(vo); + } + + return list; + } + /** * 文章详情 * @@ -196,7 +233,7 @@ public class PcServiceImpI implements IPcService { // 上一条记录 Article prev = articleMapper.selectOne(new QueryWrapper
() - .select() + .select("id,title") .lt("id", id) .eq("is_delete", 0) .orderByDesc(Arrays.asList("sort", "id")) @@ -217,6 +254,25 @@ public class PcServiceImpI implements IPcService { .eq("is_delete", 0) .last("limit 1")); + // 最新资讯 + List
news = articleMapper.selectList(new QueryWrapper
() + .select("id,title,image,create_time,update_time") + .eq("cid", article.getCid()) + .eq("is_delete", 0) + .orderByDesc("id") + .last("limit 8")); + + List> newsList = new LinkedList<>(); + for (Article newArticle : news) { + Map newsMap = new LinkedHashMap<>(); + newsMap.put("id", newArticle.getId()); + newsMap.put("title", newArticle.getTitle()); + newsMap.put("image", UrlUtils.toAbsoluteUrl(newArticle.getImage())); + newsMap.put("createTime", TimeUtils.timestampToDate(newArticle.getCreateTime())); + newsMap.put("updateTime", TimeUtils.timestampToDate(newArticle.getUpdateTime())); + newsList.add(newsMap); + } + // 处理数据 PcArticleDetailVo vo = new PcArticleDetailVo(); BeanUtils.copyProperties(article, vo); @@ -224,6 +280,7 @@ public class PcServiceImpI implements IPcService { vo.setUpdateTime(TimeUtils.timestampToDate(vo.getUpdateTime())); vo.setCategory(StringUtils.isNotNull(articleCategory) ? articleCategory.getName() : ""); vo.setIsCollect(StringUtils.isNotNull(collect) ? 1 : 0); + vo.setNews(newsList); vo.setPrev(null); vo.setNext(null); diff --git a/server/like-front/src/main/java/com/mdd/front/vo/PcArticleCenterVo.java b/server/like-front/src/main/java/com/mdd/front/vo/PcArticleCenterVo.java new file mode 100644 index 00000000..06149496 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/vo/PcArticleCenterVo.java @@ -0,0 +1,17 @@ +package com.mdd.front.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 资讯中心数据 + */ +@Data +public class PcArticleCenterVo implements Serializable { + + private Integer id; + private String name; + private Object article; + +} diff --git a/server/like-front/src/main/java/com/mdd/front/vo/PcArticleDetailVo.java b/server/like-front/src/main/java/com/mdd/front/vo/PcArticleDetailVo.java index f420da96..f8e60170 100644 --- a/server/like-front/src/main/java/com/mdd/front/vo/PcArticleDetailVo.java +++ b/server/like-front/src/main/java/com/mdd/front/vo/PcArticleDetailVo.java @@ -13,6 +13,7 @@ public class PcArticleDetailVo implements Serializable { private Integer id; private Integer cid; private String category; + private String title; private String intro; private String summary; private String image; @@ -25,6 +26,6 @@ public class PcArticleDetailVo implements Serializable { private String updateTime; private Object prev; private Object next; - + private Object news; }