feat(comment): 实现评论异步消费与内容存储
- 新增评论内容批量存储接口与实现 - 实现MQ消息消费端处理评论发布逻辑 - 支持一级与二级评论的层级关系构建 - 添加评论内容与元数据分离存储机制 - 集成分布式ID生成服务用于评论ID生成 - 完善评论相关DTO、DO、BO模型类 - 添加Cassandra数据库操作支持 - 实现Feign接口调用与事务控制
This commit is contained in:
@@ -3,6 +3,7 @@ package com.hanserwei.hannote.kv.api;
|
||||
import com.hanserwei.framework.common.response.Response;
|
||||
import com.hanserwei.hannote.kv.constant.ApiConstants;
|
||||
import com.hanserwei.hannote.kv.dto.req.AddNoteContentReqDTO;
|
||||
import com.hanserwei.hannote.kv.dto.req.BatchAddCommentContentReqDTO;
|
||||
import com.hanserwei.hannote.kv.dto.req.DeleteNoteContentReqDTO;
|
||||
import com.hanserwei.hannote.kv.dto.req.FindNoteContentReqDTO;
|
||||
import com.hanserwei.hannote.kv.dto.resp.FindNoteContentRspDTO;
|
||||
@@ -24,4 +25,7 @@ public interface KeyValueFeignApi {
|
||||
@PostMapping(value = PREFIX + "/note/content/delete")
|
||||
Response<?> deleteNoteContent(@RequestBody DeleteNoteContentReqDTO deleteNoteContentReqDTO);
|
||||
|
||||
@PostMapping(value = PREFIX + "/comment/content/batchAdd")
|
||||
Response<?> batchAddCommentContent(@RequestBody BatchAddCommentContentReqDTO batchAddCommentContentReqDTO);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.hanserwei.hannote.kv.dto.req;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class BatchAddCommentContentReqDTO {
|
||||
|
||||
@Valid
|
||||
@NotEmpty(message = "评论内容集合不能为空")
|
||||
private List<CommentContentReqDTO> comments;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.hanserwei.hannote.kv.dto.req;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class CommentContentReqDTO {
|
||||
|
||||
@NotNull(message = "笔记noteId不能为空")
|
||||
private Long noteId;
|
||||
|
||||
@NotNull(message = "发布年月不能为空")
|
||||
private String yearMonth;
|
||||
|
||||
@NotNull(message = "评论正文id不能为空")
|
||||
private String contentId;
|
||||
|
||||
@NotNull(message = "评论正文内容不能为空")
|
||||
private String content;
|
||||
}
|
||||
Reference in New Issue
Block a user