Commit Graph

21 Commits

Author SHA1 Message Date
e0cf96edbf Revert "feat(comment): 新增评论删除及缓存清理功能"
This reverts commit 6985431236.
2025-11-09 15:19:48 +08:00
6985431236 feat(comment): 新增评论删除及缓存清理功能
- 新增删除一级评论及其子评论的接口与实现- 新增批量删除评论的功能支持
- 新增根据回复评论ID查询评论的方法
- 为CommentLevelEnum添加通过code获取枚举值的方法
- 实现评论本地缓存删除服务接口
- 新增删除评论后的MQ消费者处理逻辑
- 新增删除评论本地缓存的MQ广播消费逻辑
- 扩展NoteCountDOMapper以支持评论总数更新操作
2025-11-09 15:16:20 +08:00
85e0238857 feat(comment): 新增删除评论功能
- 新增删除评论接口,支持物理删除评论及关联内容
- 添加权限校验,仅允许评论创建者删除评论- 使用编程式事务保证删除操作的原子性- 删除评论后清理 Redis 缓存(ZSet 和 String 类型)
- 发送 MQ 消息异步更新计数、删除关联数据及本地缓存
- 新增 DeleteCommentReqVO 请求参数类校验评论 ID
- 补充 KeyValueRpcService 删除评论内容方法
- 新增相关 MQ Topic 常量及响应码枚举
- 更新 HTTP 接口测试用例
2025-11-09 14:12:24 +08:00
f74397ed1e feat(comment): 计数服务:评论点赞数更新,取消点赞接口
- 新增取消点赞接口 /comment/unlike
- 添加布隆过滤器校验评论是否已点赞
- 实现取消点赞时从布隆过滤器中移除记录
- 发送取消点赞消息到 RocketMQ 进行异步处理
- 新增取消点赞相关枚举和异常码
- 更新计数服务消费点赞/取消点赞消息逻辑
- 支持评论点赞数的增减与持久化更新
- 添加 HTTP 客户端测试用例
2025-11-09 13:53:07 +08:00
a8d5c7f9b7 feat(comment): 实现评论点赞功能
- 新增评论点赞接口,支持用户对评论进行点赞操作
- 集成 Redis 布隆过滤器,用于快速校验评论是否已被点赞
- 编写 Lua 脚本实现布隆过滤器的检查与添加逻辑
- 定义点赞相关枚举类,包括点赞状态和操作类型- 新增点赞请求 VO 和 MQ 消息 DTO,规范数据传输结构
- 通过 RocketMQ 异步处理点赞记录落库,提升接口响应速度
- 添加 HTTP 客户端测试用例,便于接口调试和验证
- 补充 Redis Key 构建方法及常量定义,统一缓存键管理
2025-11-08 22:16:15 +08:00
8be6719be8 feat(comment): 实现子评论分页查询与缓存优化
- 新增根据父评论 ID 和限制数量查询子评论的数据库方法
- 实现子评论分页缓存机制,使用 ZSET + String 结构提升查询性能
- 添加子评论详情批量同步到 Redis 的功能
-优化子评论计数数据的缓存读取与数据库同步逻辑
- 新增父评论不存在时的业务异常处理
- 完善子评论缓存失效后的数据库查询与数据回填机制
- 提取公共方法用于批量操作 Redis 数据,提升代码复用性
2025-11-08 21:58:29 +08:00
e3f9b6a5b5 feat(comment): 一级评论:子评论总数更新与查询
- 新增批量查询评论计数的数据库接口及SQL实现
- 优化本地缓存中评论ID失效判断逻辑,修正变量命名
- 增加从Redis中获取评论计数数据的功能,并支持缺失时回源数据库
- 实现评论计数数据异步同步至Redis的逻辑,包括子评论总数和点赞数
- 在消费端增加更新Redis中评论子评论总数的逻辑
- 添加评论计数相关的Redis Key和Field常量定义
- 更新HTTP测试用例中的评论内容和回复ID,验证计数同步功能
2025-11-08 21:01:15 +08:00
6f22c2b50d feat(comment): 实现二级评论分页查询功能
- 新增子评论分页查询接口 /comment/child/list- 添加查询一级评论下子评论总数的 Mapper 方法
- 实现二级评论分页数据查询的 Mapper 方法
- 补充对应的 XML 查询语句,支持按 parent_id 查询子评论
- 创建 FindChildCommentItemRspVO 和 FindChildCommentPageListReqVO VO 类
- 在 CommentServiceImpl 中实现子评论分页查询业务逻辑
- 支持批量查询子评论内容及用户信息并组装返回数据
- 添加 HTTP 客户端测试用例用于验证接口功能
2025-11-08 20:29:24 +08:00
bd775b805c feat(comment): 实现评论热度同步到 Redis ZSet
- 新增 Lua 脚本支持热点评论添加与更新
- 在评论消费端同步一级评论至 Redis 热点评论 ZSet
- 支持批量更新评论热度并维护 Redis 中的 Top 500 热点评论
- 修改 CommentDO 和 CommentHeatBO 模型,增加 noteId 字段以支持按笔记分组
- 调整 Mapper XML 查询字段,补充 note_id 字段用于构建 Redis Key
- 优化 Redis 脚本执行逻辑,确保线程安全及数据一致性
- 更新 HTTP 测试用例内容,验证 Redis 同步功能正确性
2025-11-08 15:48:18 +08:00
85e6bab079 feat(comment): 引入本地缓存优化评论查询性能
- 添加 Caffeine 依赖以支持本地缓存
- 实现评论详情的本地缓存机制,减少 Redis 查询压力
-优化分页查询逻辑,优先从本地缓存获取评论数据
- 异步同步评论详情至本地缓存,提升响应速度
- 简化 Redis 操作代码,提高可读性和维护性
2025-11-08 15:34:27 +08:00
6fbe8eed25 feat(comment): 实现评论热度排序及缓存优化
- 修改 CommentDO 中 heat 字段类型从 BigDecimal为 Double
- 新增 selectHeatComments 方法用于查询热门评论- 优化评论分页查询逻辑,引入 Redis 缓存提升性能
- 新增评论总数与热门评论的 Redis 缓存同步机制
- 实现评论详情的 Redis 批量缓存与过期策略
- 添加 COMMENT_NOT_FOUND 业务异常码
- 更新 RedisKeyConstants 增加相关键构建方法
- 调整 XML 映射文件以支持新的查询与字段类型- 引入 RedisTemplate 和线程池异步处理缓存操作
- 在 FindCommentItemRspVO 中新增 heat 字段返回热度值
2025-11-08 11:43:32 +08:00
fdee4dc2b4 feat(comment): 实现评论分页查询功能
- 新增评论分页查询接口与实现逻辑
- 支持查询一级评论及其最早回复的二级评论
- 支持从KV服务批量获取评论内容
- 支持从用户服务批量获取用户信息并组装- 新增评论热度字段用于排序
- 修改MyBatis代码生成配置至comment模块
- 调整评论表结构,优化字段定义
- 完善相关DTO、VO及Mapper文件
- 添加HTTP客户端测试用例
2025-11-08 11:07:50 +08:00
29cf889dd7 feat(comment): 新增一级评论首条回复ID字段及更新机制
- 在 CommentDO 中新增 firstReplyCommentId 字段,用于记录一级评论下最早回复的评论 ID
- 在 CommentDOMapper 中新增 selectEarliestByParentId 和 updateFirstReplyCommentIdByPrimaryKey 方法,用于查询和更新一级评论的首条回复 ID
- 在 t_comment 表中新增 first_reply_comment_id 字段- 新增 OneLevelCommentFirstReplyCommentIdUpdateConsumer 消费者,用于异步更新一级评论的首条回复 ID- 新增 RedisKeyConstants 常量类,用于构建 Redis Key
- 新增 RedisTemplateConfig 配置类,用于配置 RedisTemplate
- 在 pom.xml 中新增 spring-boot-starter-data-redis 依赖
2025-11-07 21:49:47 +08:00
c454e1832c feat(comment): 新增评论热度计算与更新功能
- 在评论数据对象中新增 childCommentTotal 和 heat 字段
- 扩展 CommentDOMapper 支持批量更新评论热度值
- 新增 CommentHeatBO 类用于封装评论热度信息
- 实现基于点赞数和回复数的热度值计算工具类 HeatCalculator
- 添加 RocketMQ 消费者异步处理评论热度更新消息
- 引入 buffer-trigger依赖实现消息聚合发送
- 扩展 JsonUtils 工具类支持 Set 类型反序列化
- 新增 MQ 常量 TOPIC_COMMENT_HEAT_UPDATE用于热度更新主题
- 修改 SQL 脚本增加 heat 字段并设置默认值- 更新测试接口请求参数内容以适配新逻辑
2025-11-07 21:19:42 +08:00
9ec330216f feat(count): 实现评论计数功能支持二级评论统计
- 新增评论数据对象 CommentDO 及其 MyBatis 映射配置
- 新增评论级别枚举 CommentLevelEnum 区分一级与二级评论
- 新增 CountNoteChildCommentConsumer 消费 MQ 消息并更新子评论总数
- 修改 CountPublishCommentMqDTO 增加 level 和 parentId 字段以支持层级识别
- 调整 Comment2DBConsumer 中构造 CountPublishCommentMqDTO 的逻辑,使用 commentBO 提取完整信息
- 配置 MyBatis Code Helper 插件指向新的 han-note-count 模块路径
- 更新 gateApi.http 测试接口示例,添加 replyCommentId 参数用于模拟二级评论发布
2025-11-07 17:42:43 +08:00
63495b4938 feat(count): 实现评论发布后异步更新笔记评论数功能
- 新增 CountPublishCommentMqDTO 用于传输评论计数消息
- 在评论服务中添加异步发送评论计数消息逻辑
- 新建 CountNoteCommentConsumer 消费评论计数消息并批量更新笔记评论数
- 扩展 t_comment 表结构,新增 child_comment_total 字段
- 更新 MQ 常量配置,添加评论计数相关 Topic 定义
- 调整 LIKE/UNLIKE 和 COLLECT/UNCOLLECT 消费者中的注解使用(防止循环依赖)
- 修改 gateApi.http 中的测试用例内容以适配新功能
2025-11-07 17:13:01 +08:00
a37e76c87c feat(comment): 实现评论异步消费与内容存储
- 新增评论内容批量存储接口与实现
- 实现MQ消息消费端处理评论发布逻辑
- 支持一级与二级评论的层级关系构建
- 添加评论内容与元数据分离存储机制
- 集成分布式ID生成服务用于评论ID生成
- 完善评论相关DTO、DO、BO模型类
- 添加Cassandra数据库操作支持
- 实现Feign接口调用与事务控制
2025-11-05 19:19:19 +08:00
c37b16ff42 feat(mq): 实现评论发布消息消费功能
- 新增 Comment2DBConsumer 消费者类,用于处理评论发布消息- 配置 RocketMQ 消费者,订阅 PublishCommentTopic 主题
- 实现消息监听逻辑,支持批量消费和手动确认机制
- 添加令牌桶限流控制,限制每秒处理消息数量
- 集成 Spring Boot 生命周期管理,确保消费者优雅关闭
- 新增 MQ 测试类 MQTests,验证消息发送与消费流程
- 引入 rocketmq-client 依赖以支持 RocketMQ 功能
2025-11-04 21:53:28 +08:00
eb19d52fcb feat(comment): 引入MQ消息重试机制
- 添加Spring Retry依赖及AOP支持
- 配置重试策略与指数退避机制
- 创建SendMqRetryHelper封装MQ发送与重试逻辑
- 替换原有RocketMQTemplate为带重试功能的实现
- 增加线程池配置以支持异步重试任务执行
- 更新测试用例中的评论内容用于验证重试机制
2025-11-04 21:38:28 +08:00
226c28885b feat(comment): 新增评论功能模块
- 新增评论发布接口,支持内容和图片评论
- 新增评论和评论点赞数据表结构及对应DO、Mapper
- 新增评论相关DTO、VO及校验规则
- 新增评论服务接口及实现,集成RocketMQ异步发送
- 新增全局异常处理器,统一处理参数校验和业务异常
- 配置网关路由,支持/comment/**路径转发至评论服务
- 新增RocketMQ配置类,启用MQ自动配置
- 添加评论发布HTTP测试用例
2025-11-04 19:45:11 +08:00
5eb3c7b58e feat(comment): 初始化评论服务模块
- 新增评论服务基础结构,包括 api 和 biz 模块
- 配置应用启动端口、Nacos 服务发现与配置中心
- 添加 MyBatis-Plus、MySQL、Druid 等依赖
- 创建评论表和评论点赞表 SQL 脚本
- 配置日志输出格式及异步写入策略
- 更新 IDEA 编码设置和数据源映射
- 在父级 pom 中注册评论服务模块
2025-11-04 19:18:21 +08:00