Commit 86a0e937 by 段启岩

动态类型校验

parent 7ac83f24
...@@ -7,6 +7,7 @@ import cn.meteor.beyondclouds.core.annotation.CurrentSubject; ...@@ -7,6 +7,7 @@ import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject; import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.modules.post.entity.Post; 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.exception.PostServiceException;
import cn.meteor.beyondclouds.modules.post.form.PostForm; import cn.meteor.beyondclouds.modules.post.form.PostForm;
import cn.meteor.beyondclouds.modules.post.service.IPostService; import cn.meteor.beyondclouds.modules.post.service.IPostService;
...@@ -117,11 +118,17 @@ public class PostApi { ...@@ -117,11 +118,17 @@ public class PostApi {
@Anonymous @Anonymous
@ApiOperation("动态列表") @ApiOperation("动态列表")
@GetMapping("/posts") @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()) { if (bindingResult.hasErrors()) {
return Response.fieldError(bindingResult.getFieldError()); 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 { ...@@ -10,7 +10,8 @@ public enum PostErrorCode implements IErrorCode {
NOT_APPEAR_SAME_TIME(10001,"视频和图片不能同时出现"), NOT_APPEAR_SAME_TIME(10001,"视频和图片不能同时出现"),
POST_MUST_NOT_NULL(10002,"动态无内容"), POST_MUST_NOT_NULL(10002,"动态无内容"),
POST_NOT_FOUND(10003,"该动态不存在"), POST_NOT_FOUND(10003,"该动态不存在"),
USER_POST_NOT_FOUND(10004, "用户未发布过此动态"); USER_POST_NOT_FOUND(10004, "用户未发布过此动态"),
TYPE_ERROR(10005, "动态类型错误,类型只能为0,1,2");
private long code; private long code;
......
...@@ -6,8 +6,6 @@ import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException; ...@@ -6,8 +6,6 @@ import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 动态表 服务类 * 动态表 服务类
...@@ -37,9 +35,10 @@ public interface IPostService extends IService<Post> { ...@@ -37,9 +35,10 @@ public interface IPostService extends IService<Post> {
* 动态列表 * 动态列表
* @param pageNumber * @param pageNumber
* @param pageSize * @param pageSize
* @param type
* @return * @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 ...@@ -175,13 +175,17 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
* 获取动态列表 * 获取动态列表
* @param pageNumber * @param pageNumber
* @param pageSize * @param pageSize
* @param type
* @return * @return
*/ */
@Override @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); IPage<Post> postPage = new Page<>(pageNumber,pageSize);
QueryWrapper<Post> queryWrapper = new QueryWrapper(); QueryWrapper<Post> queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
if (null != type) {
queryWrapper.eq("type", type);
}
return page(postPage , queryWrapper); 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