diff --git a/server/like-front/src/main/java/com/mdd/front/controller/ArticleController.java b/server/like-front/src/main/java/com/mdd/front/controller/ArticleController.java index eb61b220..6d429d00 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/ArticleController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/ArticleController.java @@ -62,7 +62,8 @@ public class ArticleController { */ @GetMapping("/detail") public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { - ArticleDetailVo vo = iArticleService.detail(id); + Integer userId = LikeFrontThreadLocal.getUserId(); + ArticleDetailVo vo = iArticleService.detail(id, userId); return AjaxResult.success(vo); } diff --git a/server/like-front/src/main/java/com/mdd/front/service/IArticleService.java b/server/like-front/src/main/java/com/mdd/front/service/IArticleService.java index 39d16eef..a51ce3e8 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/IArticleService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/IArticleService.java @@ -38,9 +38,10 @@ public interface IArticleService { * * @author fzr * @param id 文章主键 + * @param userId 用户ID * @return ArticleDetailVo */ - ArticleDetailVo detail(Integer id); + ArticleDetailVo detail(Integer id, Integer userId); /** * 文章收藏 diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/ArticleServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/ArticleServiceImpl.java index 3f901f89..5dd6f86e 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/ArticleServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/ArticleServiceImpl.java @@ -134,10 +134,11 @@ public class ArticleServiceImpl implements IArticleService { * * @author fzr * @param id 文章主键 + * @param userId 用户ID * @return ArticleDetailVo */ @Override - public ArticleDetailVo detail(Integer id) { + public ArticleDetailVo detail(Integer id, Integer userId) { Article article = articleMapper.selectOne(new QueryWrapper
() .select("id,title,image,intro,summary,visit,author,content,create_time") .eq("id", id) @@ -147,8 +148,15 @@ public class ArticleServiceImpl implements IArticleService { Assert.notNull(article, "数据不存在!"); + ArticleCollect articleCollect = articleCollectMapper.selectOne(new QueryWrapper() + .eq("user_id", userId) + .eq("article_id", article.getId()) + .eq("is_delete", 0) + .last("limit 1")); + ArticleDetailVo vo = new ArticleDetailVo(); BeanUtils.copyProperties(article, vo); + vo.setCollect(articleCollect != null); vo.setImage(UrlUtil.toAbsoluteUrl(article.getImage())); vo.setCreateTime(TimeUtil.timestampToDate(article.getCreateTime())); return vo; diff --git a/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleDetailVo.java b/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleDetailVo.java index 526c6dbd..573580c2 100644 --- a/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleDetailVo.java +++ b/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleDetailVo.java @@ -16,6 +16,7 @@ public class ArticleDetailVo implements Serializable { private String summary; private Integer visit; private String author; + private Boolean collect; private String content; private String createTime;