Commit 86a0e937 by 段启岩

动态类型校验

parent 7ac83f24
......@@ -7,6 +7,7 @@ import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.modules.post.entity.Post;
import cn.meteor.beyondclouds.modules.post.enums.PostErrorCode;
import cn.meteor.beyondclouds.modules.post.exception.PostServiceException;
import cn.meteor.beyondclouds.modules.post.form.PostForm;
import cn.meteor.beyondclouds.modules.post.service.IPostService;
......@@ -117,11 +118,17 @@ public class PostApi {
@Anonymous
@ApiOperation("动态列表")
@GetMapping("/posts")
public Response<?> getPostPage (@Valid PageForm pageForm, BindingResult bindingResult, @CurrentSubject Subject subject) {
public Response<?> getPostPage (@Valid PageForm pageForm, BindingResult bindingResult,
@RequestParam(value = "type", required = false) Integer type, @CurrentSubject Subject subject) {
if (bindingResult.hasErrors()) {
return Response.fieldError(bindingResult.getFieldError());
}
IPage<Post> postPage = postService.getPostPage(pageForm.getPage(),pageForm.getSize());
if (null != type && !List.of(0, 1, 2).contains(type)) {
return Response.error(PostErrorCode.TYPE_ERROR);
}
IPage<Post> postPage = postService.getPostPage(pageForm.getPage(),pageForm.getSize(), type);
......
......@@ -10,7 +10,8 @@ public enum PostErrorCode implements IErrorCode {
NOT_APPEAR_SAME_TIME(10001,"视频和图片不能同时出现"),
POST_MUST_NOT_NULL(10002,"动态无内容"),
POST_NOT_FOUND(10003,"该动态不存在"),
USER_POST_NOT_FOUND(10004, "用户未发布过此动态");
USER_POST_NOT_FOUND(10004, "用户未发布过此动态"),
TYPE_ERROR(10005, "动态类型错误,类型只能为0,1,2");
private long code;
......
......@@ -6,8 +6,6 @@ import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 动态表 服务类
......@@ -37,9 +35,10 @@ public interface IPostService extends IService<Post> {
* 动态列表
* @param pageNumber
* @param pageSize
* @param type
* @return
*/
IPage<Post> getPostPage (Integer pageNumber , Integer pageSize);
IPage<Post> getPostPage(Integer pageNumber, Integer pageSize, Integer type);
/**
* 个人动态列表
......
......@@ -175,13 +175,17 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
* 获取动态列表
* @param pageNumber
* @param pageSize
* @param type
* @return
*/
@Override
public IPage<Post> getPostPage(Integer pageNumber, Integer pageSize) {
public IPage<Post> getPostPage(Integer pageNumber, Integer pageSize, Integer type) {
IPage<Post> postPage = new Page<>(pageNumber,pageSize);
QueryWrapper<Post> queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("create_time");
if (null != type) {
queryWrapper.eq("type", type);
}
return page(postPage , queryWrapper);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment