From 03f388cb4c080e7419b795b01e6ea11ebef3e708 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Tue, 6 Sep 2022 16:25:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=B6=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/entity/article/ArticleCollect.java | 26 +++++++++++++++++ .../mapper/article/ArticleCollectMapper.java | 12 ++++++++ .../front/controller/ArticleController.java | 13 +++++++++ .../mdd/front/service/IArticleService.java | 10 +++++++ .../service/impl/ArticleServiceImpl.java | 29 +++++++++++++++++++ .../front/vo/article/ArticleCollectVo.java | 20 +++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 server/like-common/src/main/java/com/mdd/common/entity/article/ArticleCollect.java create mode 100644 server/like-common/src/main/java/com/mdd/common/mapper/article/ArticleCollectMapper.java create mode 100644 server/like-front/src/main/java/com/mdd/front/vo/article/ArticleCollectVo.java diff --git a/server/like-common/src/main/java/com/mdd/common/entity/article/ArticleCollect.java b/server/like-common/src/main/java/com/mdd/common/entity/article/ArticleCollect.java new file mode 100644 index 00000000..c300d144 --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/entity/article/ArticleCollect.java @@ -0,0 +1,26 @@ +package com.mdd.common.entity.article; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 文章实体类 + */ +@Data +public class ArticleCollect implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Integer id; // 主键 + private Integer userId; // 用户ID + private Integer articleId; // 文章ID + private Integer isDelete; // 是否删除 + private Long createTime; // 创建时间 + private Long updateTime; // 更新时间 + private Long deleteTime; // 删除时间 + +} diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/article/ArticleCollectMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/article/ArticleCollectMapper.java new file mode 100644 index 00000000..e5036f53 --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/mapper/article/ArticleCollectMapper.java @@ -0,0 +1,12 @@ +package com.mdd.common.mapper.article; + +import com.mdd.common.core.basics.IBaseMapper; +import com.mdd.common.entity.article.ArticleCollect; +import org.apache.ibatis.annotations.Mapper; + +/** + * 文章收藏Mapper + */ +@Mapper +public interface ArticleCollectMapper extends IBaseMapper { +} 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 01fc07f5..1c5c4d52 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 @@ -6,6 +6,7 @@ import com.mdd.common.validator.annotation.IDMust; import com.mdd.front.service.IArticleService; import com.mdd.front.validate.PageParam; import com.mdd.front.vo.article.ArticleCateVo; +import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleListVo; import org.springframework.validation.annotation.Validated; @@ -61,4 +62,16 @@ public class ArticleController { return AjaxResult.success(vo); } + /** + * 文章收藏 + * + * @author fzr + * @param pageParam 分页参数 + * @return Object + */ + @GetMapping("/collect") + public Object collect(@Validated PageParam pageParam) { + PageResult list = iArticleService.collect(pageParam); + return AjaxResult.success(list); + } } 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 64e2846d..a15d6cea 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 @@ -3,6 +3,7 @@ package com.mdd.front.service; import com.mdd.common.core.PageResult; import com.mdd.front.validate.PageParam; import com.mdd.front.vo.article.ArticleCateVo; +import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleListVo; @@ -40,4 +41,13 @@ public interface IArticleService { */ ArticleDetailVo detail(Integer id); + /** + * 文章收藏 + * + * @author fzr + * @param pageParam 分页参数 + * @return PageResult + */ + PageResult collect(PageParam pageParam); + } 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 3aa2c36d..6c96016d 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 @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.query.MPJQueryWrapper; +import com.mdd.common.config.GlobalConfig; import com.mdd.common.core.PageResult; import com.mdd.common.entity.article.Article; import com.mdd.common.entity.article.ArticleCategory; +import com.mdd.common.entity.article.ArticleCollect; import com.mdd.common.mapper.article.ArticleCategoryMapper; import com.mdd.common.mapper.article.ArticleMapper; import com.mdd.common.utils.TimeUtil; @@ -14,6 +17,7 @@ import com.mdd.common.utils.UrlUtil; import com.mdd.front.service.IArticleService; import com.mdd.front.validate.PageParam; import com.mdd.front.vo.article.ArticleCateVo; +import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleListVo; import org.springframework.beans.BeanUtils; @@ -119,4 +123,29 @@ public class ArticleServiceImpl implements IArticleService { return vo; } + @Override + public PageResult collect(PageParam pageParam) { + Integer pageNo = pageParam.getPageNo(); + Integer pageSize = pageParam.getPageSize(); + + MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); + mpjQueryWrapper.select("t.id,t.article_id,a.title,a.image,a.intro,a.visit,a.create_time") + .eq("t.user_id", 1) + .eq("t.is_delete", 0) + .orderByDesc("t.id") + .innerJoin("?_article a ON a.id=t.article_id".replace("?_", GlobalConfig.tablePrefix)); + + IPage iPage = articleMapper.selectJoinPage( + new Page<>(pageNo, pageSize), + ArticleCollectVo.class, + mpjQueryWrapper); + + for (ArticleCollectVo vo : iPage.getRecords()) { + vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage())); + vo.setCreateTime(TimeUtil.timestampToDate(vo.getCreateTime())); + } + + return PageResult.iPageHandle(iPage); + } + } diff --git a/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleCollectVo.java b/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleCollectVo.java new file mode 100644 index 00000000..de6f269a --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/vo/article/ArticleCollectVo.java @@ -0,0 +1,20 @@ +package com.mdd.front.vo.article; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ArticleCollectVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private Integer articleId; + private String title; + private String image; + private String intro; + private Integer visit; + private String createTime; + +}