增加详情里的收藏接口

This commit is contained in:
TinyAnts 2022-09-08 17:39:56 +08:00
parent 7d3398387c
commit 394793710d
4 changed files with 14 additions and 3 deletions

View File

@ -62,7 +62,8 @@ public class ArticleController {
*/ */
@GetMapping("/detail") @GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { 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); return AjaxResult.success(vo);
} }

View File

@ -38,9 +38,10 @@ public interface IArticleService {
* *
* @author fzr * @author fzr
* @param id 文章主键 * @param id 文章主键
* @param userId 用户ID
* @return ArticleDetailVo * @return ArticleDetailVo
*/ */
ArticleDetailVo detail(Integer id); ArticleDetailVo detail(Integer id, Integer userId);
/** /**
* 文章收藏 * 文章收藏

View File

@ -134,10 +134,11 @@ public class ArticleServiceImpl implements IArticleService {
* *
* @author fzr * @author fzr
* @param id 文章主键 * @param id 文章主键
* @param userId 用户ID
* @return ArticleDetailVo * @return ArticleDetailVo
*/ */
@Override @Override
public ArticleDetailVo detail(Integer id) { public ArticleDetailVo detail(Integer id, Integer userId) {
Article article = articleMapper.selectOne(new QueryWrapper<Article>() Article article = articleMapper.selectOne(new QueryWrapper<Article>()
.select("id,title,image,intro,summary,visit,author,content,create_time") .select("id,title,image,intro,summary,visit,author,content,create_time")
.eq("id", id) .eq("id", id)
@ -147,8 +148,15 @@ public class ArticleServiceImpl implements IArticleService {
Assert.notNull(article, "数据不存在!"); Assert.notNull(article, "数据不存在!");
ArticleCollect articleCollect = articleCollectMapper.selectOne(new QueryWrapper<ArticleCollect>()
.eq("user_id", userId)
.eq("article_id", article.getId())
.eq("is_delete", 0)
.last("limit 1"));
ArticleDetailVo vo = new ArticleDetailVo(); ArticleDetailVo vo = new ArticleDetailVo();
BeanUtils.copyProperties(article, vo); BeanUtils.copyProperties(article, vo);
vo.setCollect(articleCollect != null);
vo.setImage(UrlUtil.toAbsoluteUrl(article.getImage())); vo.setImage(UrlUtil.toAbsoluteUrl(article.getImage()));
vo.setCreateTime(TimeUtil.timestampToDate(article.getCreateTime())); vo.setCreateTime(TimeUtil.timestampToDate(article.getCreateTime()));
return vo; return vo;

View File

@ -16,6 +16,7 @@ public class ArticleDetailVo implements Serializable {
private String summary; private String summary;
private Integer visit; private Integer visit;
private String author; private String author;
private Boolean collect;
private String content; private String content;
private String createTime; private String createTime;