优化
This commit is contained in:
parent
0f99455d6b
commit
ae4386c1db
@ -312,17 +312,27 @@ public interface TagMapper {
|
|||||||
创建PostService类,实现createPost方法。
|
创建PostService类,实现createPost方法。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建文章
|
* 处理文章发布请求
|
||||||
* @param postRequest 创建文章的请求参数
|
* @param postRequest 创建文章的请求参数
|
||||||
* @return 创建成功后的文章DTO
|
* @return 创建成功后的文章DTO
|
||||||
*/
|
*/
|
||||||
public PostDto createPost(PostRequest postRequest){
|
public PostDto handlePostRequest(PostRequest postRequest){
|
||||||
// 获取当前用户
|
// 获取当前用户
|
||||||
User user = authService.getCurrentUser();
|
User user = authService.getCurrentUser();
|
||||||
|
// 保存文章
|
||||||
|
Post post = savePost(postRequest, user);
|
||||||
|
// 处理post中的标签
|
||||||
|
handleTags(postRequest, user);
|
||||||
|
// 发送消息通知post中@的用户
|
||||||
|
handleAtUser(postRequest, user);
|
||||||
|
|
||||||
|
return postMapper.toDto(post);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Post savePost(PostRequest postRequest, User currentUser){
|
||||||
Post post = new Post();
|
Post post = new Post();
|
||||||
post.setUser(user);
|
post.setUser(currentUser);
|
||||||
// 设置附件价格,默认为0
|
// 设置附件价格,默认为0
|
||||||
post.setAttachmentPrice(postRequest.getAttachmentPrice()!=null?postRequest.getAttachmentPrice():0);
|
post.setAttachmentPrice(postRequest.getAttachmentPrice()!=null?postRequest.getAttachmentPrice():0);
|
||||||
// 设置文章可见性
|
// 设置文章可见性
|
||||||
@ -335,19 +345,12 @@ public interface TagMapper {
|
|||||||
content.setSort(contentReq.getSort()); // 设置排序
|
content.setSort(contentReq.getSort()); // 设置排序
|
||||||
content.setType(contentReq.getType()); // 设置类型
|
content.setType(contentReq.getType()); // 设置类型
|
||||||
content.setPost(post); // 关联文章
|
content.setPost(post); // 关联文章
|
||||||
content.setUser(user); // 关联用户
|
content.setUser(currentUser); // 关联用户
|
||||||
contents.add(content); // 添加到列表
|
contents.add(content); // 添加到列表
|
||||||
});
|
});
|
||||||
post.setContents(contents);
|
post.setContents(contents);
|
||||||
// 保存文章
|
// 保存文章
|
||||||
Post savedPost = postRepository.save(post);
|
return postRepository.save(post);
|
||||||
|
|
||||||
// 处理post中的标签
|
|
||||||
handleTags(postRequest, user);
|
|
||||||
// 发送消息通知post中@的用户
|
|
||||||
handleAtUser(postRequest, user);
|
|
||||||
|
|
||||||
return postMapper.toDto(savedPost);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleTags(PostRequest postRequest, User currentUser){
|
private void handleTags(PostRequest postRequest, User currentUser){
|
||||||
|
@ -35,7 +35,7 @@ public class PostController {
|
|||||||
}
|
}
|
||||||
@PostMapping("/post")
|
@PostMapping("/post")
|
||||||
public DataResult<PostDto> createPost(@RequestBody PostRequest postRequest) {
|
public DataResult<PostDto> createPost(@RequestBody PostRequest postRequest) {
|
||||||
return ResultUtil.ok(postService.createPost(postRequest));
|
return ResultUtil.ok(postService.handlePostRequest(postRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/post/comments")
|
@GetMapping("/post/comments")
|
||||||
|
@ -84,15 +84,26 @@ public class PostService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建文章
|
* 处理文章发布请求
|
||||||
* @param postRequest 创建文章的请求参数
|
* @param postRequest 创建文章的请求参数
|
||||||
* @return 创建成功后的文章DTO
|
* @return 创建成功后的文章DTO
|
||||||
*/
|
*/
|
||||||
public PostDto createPost(PostRequest postRequest){
|
public PostDto handlePostRequest(PostRequest postRequest){
|
||||||
// 获取当前用户
|
// 获取当前用户
|
||||||
User user = authService.getCurrentUser();
|
User user = authService.getCurrentUser();
|
||||||
|
// 保存文章
|
||||||
|
Post post = savePost(postRequest, user);
|
||||||
|
// 处理post中的标签
|
||||||
|
handleTags(postRequest, user);
|
||||||
|
// 发送消息通知post中@的用户
|
||||||
|
handleAtUser(postRequest, user);
|
||||||
|
|
||||||
|
return postMapper.toDto(post);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Post savePost(PostRequest postRequest, User currentUser){
|
||||||
Post post = new Post();
|
Post post = new Post();
|
||||||
post.setUser(user);
|
post.setUser(currentUser);
|
||||||
// 设置附件价格,默认为0
|
// 设置附件价格,默认为0
|
||||||
post.setAttachmentPrice(postRequest.getAttachmentPrice()!=null?postRequest.getAttachmentPrice():0);
|
post.setAttachmentPrice(postRequest.getAttachmentPrice()!=null?postRequest.getAttachmentPrice():0);
|
||||||
// 设置文章可见性
|
// 设置文章可见性
|
||||||
@ -105,21 +116,13 @@ public class PostService {
|
|||||||
content.setSort(contentReq.getSort()); // 设置排序
|
content.setSort(contentReq.getSort()); // 设置排序
|
||||||
content.setType(contentReq.getType()); // 设置类型
|
content.setType(contentReq.getType()); // 设置类型
|
||||||
content.setPost(post); // 关联文章
|
content.setPost(post); // 关联文章
|
||||||
content.setUser(user); // 关联用户
|
content.setUser(currentUser); // 关联用户
|
||||||
contents.add(content); // 添加到列表
|
contents.add(content); // 添加到列表
|
||||||
});
|
});
|
||||||
post.setContents(contents);
|
post.setContents(contents);
|
||||||
// 保存文章
|
// 保存文章
|
||||||
Post savedPost = postRepository.save(post);
|
return postRepository.save(post);
|
||||||
|
|
||||||
// 处理post中的标签
|
|
||||||
handleTags(postRequest, user);
|
|
||||||
// 发送消息通知post中@的用户
|
|
||||||
handleAtUser(postRequest, user);
|
|
||||||
|
|
||||||
return postMapper.toDto(savedPost);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleTags(PostRequest postRequest, User currentUser){
|
private void handleTags(PostRequest postRequest, User currentUser){
|
||||||
// 处理post中的标签
|
// 处理post中的标签
|
||||||
postRequest.getTags().forEach((tag)->{
|
postRequest.getTags().forEach((tag)->{
|
||||||
|
Loading…
Reference in New Issue
Block a user