Commit 78ceeadc by Author name

2.2动态列表 删除动态完成

parent b64baef8
......@@ -121,7 +121,7 @@ public class BlogApi {
*/
@ApiOperation("他人博客列表")
@GetMapping("/user/{userId}/blogs")
public Response<PageVO<Blog>> getMyBlogs (@Valid PageForm pageForm , @PathVariable("userId") String userId) {
public Response<PageVO<Blog>> getOtherBlogs (@Valid PageForm pageForm , @PathVariable("userId") String userId) {
IPage<Blog> blogPage = blogService.getUserBlogPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Blog> blogPageVO = new PageVO<>(blogPage);
return Response.success(blogPageVO);
......
package cn.meteor.beyondclouds.modules.blog.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author gaoTong
* @date 2020/2/1 12:11
*/
@Data
public class pageForm {
private Integer page;
private Integer size;
}
......@@ -35,6 +35,15 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
this.blogService = blogService;
}
/**
* 发布评论
* @param blogId
* @param parentId
* @param comment
* @param userId
* @throws BlogServiceException
* @throws BlogCommentServiceException
*/
@Override
public void commentCreate(String blogId, Integer parentId, String comment, String userId) throws BlogServiceException, BlogCommentServiceException {
......@@ -88,6 +97,12 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
}
/**
* 删除评论
* @param commentId
* @param userId
* @throws BlogCommentServiceException
*/
@Override
public void deleteComment(Integer commentId, String userId) throws BlogCommentServiceException {
Assert.notNull(commentId, "commentId must not be null");
......@@ -114,6 +129,15 @@ public class BlogCommentServiceImpl extends ServiceImpl<BlogCommentMapper, BlogC
remove(blogCommentQueryWrapper);
}
/**
* 评论列表
* @param pageNumber
* @param size
* @param blogId
* @param parentId
* @return
* @throws BlogCommentServiceException
*/
@Override
public IPage<BlogComment> getCommentPage(Integer pageNumber, Integer size, String blogId, Integer parentId) throws BlogCommentServiceException {
Assert.notNull(blogId, "blogId must not be null");
......
......@@ -67,6 +67,14 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
this.blogExtService = blogExtService;
}
/**
* 发布博客
* @param blog
* @param content
* @param topicIds
* @param tagIds
* @throws BlogCategoryServiceException
*/
@Override
public void publishBlog(Blog blog, String content, List<String> topicIds, List<String> tagIds) throws BlogCategoryServiceException {
......@@ -108,6 +116,12 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
}
}
/**
* 删除博客
* @param userId
* @param blogId
* @throws BlogServiceException
*/
@Override
public void deleteBlog(String userId, String blogId) throws BlogServiceException {
//1.判断要删除的博客是否是当前用户所有
......@@ -146,6 +160,12 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
removeById(blogId);
}
/**
* 博客详情
* @param blogId
* @return
* @throws BlogServiceException
*/
@Override
public BlogDetail getBlog(String blogId) throws BlogServiceException {
......@@ -180,12 +200,25 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
return blogDetail;
}
/**
* 博客列表
* @param pageNumber
* @param pageSize
* @return
*/
@Override
public IPage<Blog> getBlogPage(Integer pageNumber, Integer pageSize) {
IPage<Blog> page = new Page<>(pageNumber, pageSize);
return page(page);
}
/**
* 个人博客列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
@Override
public IPage<Blog> getUserBlogPage(Integer pageNumber, Integer pageSize, String userId) {
QueryWrapper myBlogQueryWrapper = new QueryWrapper();
......@@ -194,6 +227,15 @@ public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements IB
return page(page, myBlogQueryWrapper);
}
/**
* 修改博客
* @param blog
* @param content
* @param topicIds
* @param tagIds
* @throws BlogServiceException
* @throws BlogCategoryServiceException
*/
@Override
public void updateBlog(Blog blog, String content, List<String> topicIds, List<String> tagIds) throws BlogServiceException, BlogCategoryServiceException {
......
package cn.meteor.beyondclouds.modules.post.api;
import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO;
import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.bean.Subject;
import cn.meteor.beyondclouds.modules.post.entity.Post;
import cn.meteor.beyondclouds.modules.post.exception.PostServiceException;
import cn.meteor.beyondclouds.modules.post.form.PostForm;
import cn.meteor.beyondclouds.modules.post.service.IPostService;
import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
......@@ -41,6 +39,13 @@ public class postApi {
this.postService = postService;
}
/**
* 发布动态
* @param postForm
* @param result
* @param subject
* @return
*/
@ApiOperation("发布项目")
@PostMapping("/post")
public Response publishPost(@RequestBody @Valid PostForm postForm , BindingResult result ,
......@@ -66,12 +71,66 @@ public class postApi {
}
/**
* 删除动态
* @param postId
* @param subject
* @return
*/
@ApiOperation("删除动态")
@DeleteMapping("/post/{postId}")
public Response deletePost(@PathVariable("postId") String postId , @CurrentSubject Subject subject) {
public static void main(String[] args) {
//java8特性
String ids= "1,2,3,4,5,6";
List<Long> listIds = Arrays.asList(ids.split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
System.out.println(Arrays.toString(listIds .toArray()));
//删除动态
try {
postService.deletePost(postId, (String) subject.getId());
return Response.success();
} catch (PostServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
}
/**
* 动态列表
* @param pageForm
* @return
*/
@Anonymous
@ApiOperation("动态列表")
@GetMapping("/posts")
public Response<PageVO<Post>> getPostPage (@Valid PageForm pageForm) {
IPage<Post> postPage = postService.getPostPage(pageForm.getPage(),pageForm.getSize());
PageVO<Post> postPageVO = new PageVO<>(postPage);
return Response.success(postPageVO);
}
/**
* 我的动态列表
* @param pageForm
* @param subject
* @return
*/
@ApiOperation("我的动态列表")
@GetMapping("/my/posts")
public Response<PageVO<Post>> getMyPosts (@Valid PageForm pageForm , @CurrentSubject Subject subject) {
IPage<Post> postPage = postService.getUserPostPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Post> postPageVO = new PageVO<>(postPage);
return Response.success(postPageVO);
}
/**
* 获取他人动态列表
* @param userId
* @param pageForm
* @return
*/
@ApiOperation("他人动态列表")
@GetMapping("/user/{userId}/posts")
public Response<PageVO<Post>> getOtherPosts (@PathVariable("userId") String userId , @Valid PageForm pageForm) {
IPage<Post> postPage = postService.getUserPostPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Post> postPageVO = new PageVO<>(postPage);
return Response.success(postPageVO);
}
}
......@@ -8,7 +8,8 @@ import cn.meteor.beyondclouds.core.IErrorCode;
*/
public enum PostErrorCode implements IErrorCode {
NOT_APPEAR_SAME_TIME(10001,"视频和图片不能同时出现"),
POST_MUST_NOT_NULL(10002,"动态无内容")
POST_MUST_NOT_NULL(10002,"动态无内容"),
POST_NOT_FOUND(10003,"该动态不存在")
;
private long code;
......
package cn.meteor.beyondclouds.modules.post.service;
import cn.meteor.beyondclouds.modules.post.entity.Post;
import cn.meteor.beyondclouds.modules.post.exception.PostServiceException;
import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
......@@ -20,4 +22,28 @@ public interface IPostService extends IService<Post> {
*/
void publishPost(Post post) throws ProjectServiceException;
/**
* 删除动态
* @param postId
* @param userId
*/
void deletePost(String postId , String userId) throws PostServiceException;
/**
* 动态列表
* @param pageNumber
* @param pageSize
* @return
*/
IPage<Post> getPostPage (Integer pageNumber , Integer pageSize);
/**
* 个人动态列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
IPage<Post> getUserPostPage (Integer pageNumber , Integer pageSize , String userId);
}
......@@ -2,9 +2,13 @@ package cn.meteor.beyondclouds.modules.post.service.impl;
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.mapper.PostMapper;
import cn.meteor.beyondclouds.modules.post.service.IPostService;
import cn.meteor.beyondclouds.modules.project.exception.ProjectServiceException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
......@@ -20,6 +24,11 @@ import org.springframework.stereotype.Service;
public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IPostService {
/**
* 发布动态
* @param post
* @throws ProjectServiceException
*/
@Override
public void publishPost(Post post) throws ProjectServiceException {
//1.判断是否视频和图片都传了
......@@ -48,4 +57,57 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
}
/**
* 删除动态
* @param postId
* @param userId
* @throws PostServiceException
*/
@Override
public void deletePost(String postId, String userId) throws PostServiceException {
//1.判断是不是该用户发布的动态
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("post_id",postId);
queryWrapper.eq("user_id", userId);
Post post = getOne(queryWrapper);
if ( null == post ) {
throw new PostServiceException(PostErrorCode.POST_NOT_FOUND);
}
//2.删除动态
removeById(postId);
}
/**
* 获取博客列表
* @param pageNumber
* @param pageSize
* @return
*/
@Override
public IPage<Post> getPostPage(Integer pageNumber, Integer pageSize) {
IPage<Post> postPage = new Page<>(pageNumber,pageSize);
return page(postPage);
}
/**
*个人动态列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
@Override
public IPage<Post> getUserPostPage(Integer pageNumber, Integer pageSize, String userId) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id", userId);
queryWrapper.orderByDesc("create_time");
IPage<Post> postPage = new Page<>(pageNumber,pageSize);
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