diff --git a/src/main/java/com/cxx/food/controller/MomentController.java b/src/main/java/com/cxx/food/controller/MomentController.java index cddb48f..058d539 100644 --- a/src/main/java/com/cxx/food/controller/MomentController.java +++ b/src/main/java/com/cxx/food/controller/MomentController.java @@ -1,5 +1,6 @@ package com.cxx.food.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cxx.food.dto.*; import com.cxx.food.service.MomentService; import com.fasterxml.jackson.annotation.JsonView; @@ -43,6 +44,13 @@ public class MomentController { return momentService.queryMomentList(); } + @Operation(summary = "分页查询所有朋友圈") + @GetMapping("/page") + public IPage queryMomentByPage(@RequestParam("currentPage") Integer currentPage, + @RequestParam("pageSize") Integer pageSize) { + return momentService.queryMomentByPage(currentPage, pageSize); + } + @Operation(summary = "查询朋友圈") @GetMapping("/{id}") public @JsonView(ReadView.class) List queryMomentById(@PathVariable("id") long id) { diff --git a/src/main/java/com/cxx/food/dao/MomentDao.java b/src/main/java/com/cxx/food/dao/MomentDao.java index 87bc340..83e6b5b 100644 --- a/src/main/java/com/cxx/food/dao/MomentDao.java +++ b/src/main/java/com/cxx/food/dao/MomentDao.java @@ -1,5 +1,7 @@ package com.cxx.food.dao; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cxx.food.dto.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -10,6 +12,8 @@ import java.util.List; public interface MomentDao { List queryMomentList(); + IPage queryMomentByPage(Page page); + List queryMomentById(@Param("id") Long id); void insertMomentImage(@Param("momentId") Long momentId, diff --git a/src/main/java/com/cxx/food/dto/MomentPageDto.java b/src/main/java/com/cxx/food/dto/MomentPageDto.java new file mode 100644 index 0000000..34e8969 --- /dev/null +++ b/src/main/java/com/cxx/food/dto/MomentPageDto.java @@ -0,0 +1,41 @@ +package com.cxx.food.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.Date; +import java.util.List; + +@Getter +@Setter +public class MomentPageDto { + @Schema(description = "id") + private Long id; + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "姓名") + private String username; + + @Schema(description = "头像") + private String avatar; + + @Schema(description = "朋友圈内容") + private String content; + + @Schema(description = "朋友圈图片") + private List imageList; + + @Schema(description = "时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date date; + + @Schema(description = "点赞用户") + private List likeList; + + @Schema(description = "评论内容") + private List commentList; +} diff --git a/src/main/java/com/cxx/food/service/MomentService.java b/src/main/java/com/cxx/food/service/MomentService.java index aae33c9..8a87627 100644 --- a/src/main/java/com/cxx/food/service/MomentService.java +++ b/src/main/java/com/cxx/food/service/MomentService.java @@ -1,6 +1,7 @@ package com.cxx.food.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.cxx.food.dto.*; import java.util.List; @@ -14,6 +15,8 @@ public interface MomentService { List queryMomentList(); + IPage queryMomentByPage(int currentPage, int pageSize); + List queryMomentById(Long id); Boolean addComment(Long momentId, String content); diff --git a/src/main/java/com/cxx/food/service/impl/MomentServiceImpl.java b/src/main/java/com/cxx/food/service/impl/MomentServiceImpl.java index 5bf7add..6b7ed42 100644 --- a/src/main/java/com/cxx/food/service/impl/MomentServiceImpl.java +++ b/src/main/java/com/cxx/food/service/impl/MomentServiceImpl.java @@ -1,6 +1,8 @@ package com.cxx.food.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cxx.food.constant.BizType; import com.cxx.food.dao.MomentDao; import com.cxx.food.dto.MomentDto; @@ -74,6 +76,12 @@ public class MomentServiceImpl implements MomentService { return momentDao.queryMomentList(); } + @Override + public IPage queryMomentByPage(int currentPage, int pageSize) { + Page page = new Page<>(currentPage, pageSize); + return momentDao.queryMomentByPage(page); + } + @Override public List queryMomentById(Long id) { return momentDao.queryMomentById(id); diff --git a/src/main/resources/mapper/MomentMapper.xml b/src/main/resources/mapper/MomentMapper.xml index 30e7c15..d9d2759 100644 --- a/src/main/resources/mapper/MomentMapper.xml +++ b/src/main/resources/mapper/MomentMapper.xml @@ -18,6 +18,23 @@ + + + + + + + + + + + + + + @@ -33,11 +50,11 @@ + +