|
|
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 |
|
|
|
2b06ca0300
|
feat(kv): 新增批量查询评论内容功能
- 新增 BatchFindCommentContentReqDTO 用于批量查询请求参数校验
- 新增 FindCommentContentReqDTO 和 FindCommentContentRspDTO 用于查询参数与响应封装
- 在 CommentContentController 中添加 /comment/content/batchFind 接口
- 实现 CommentContentRepository 的批量查询方法
- 在 CommentContentServiceImpl 中完成批量查询逻辑,包括参数解析与数据转换
- 更新 gateApi.http 添加批量查询接口测试用例
|
2025-11-08 09:54:34 +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 |
|
|
|
f49d0e6b76
|
refactor(mq): 重构笔记收藏与点赞的MQ消费者实现以提升性能和可靠性
- 使用DefaultMQPushConsumer替代RocketMQListener以支持批量消费
- 实现消息批量处理逻辑,减少数据库交互次数
- 添加内存级操作合并,避免重复操作写入数据库
- 配置流量削峰限流,控制数据库QPS在可接受范围
- 增加重试机制和手动ACK确保消息可靠消费
- 调整MQ主题订阅关系,统一消息流转逻辑
- 新增RocketMQ客户端依赖以支持底层API调
- 优化消费者启动和销毁流程,确保资源正确释放
- 修改Mapper支持批量插入或更新操作
- 调整计数服务消费主题,简化消息链路
|
2025-11-06 20:17:00 +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 |
|
|
|
2b2cd2be70
|
refactor(search):重构搜索服务模块结构
- 将 han-note-search 模块拆分为 han-note-search-api 和 han-note-search-biz
- 调整包路径,统一添加 biz 子包以区分业务实现
- 更新相关类的导入路径以适配新的包结构
- 修改 Maven 模块配置,设置父模块打包方式为 pom- 添加新的 API 模块用于 RPC 接口定义
- 更新依赖配置,确保模块间正确引用
- 调整 IDEA 编译器配置以识别新模块
- 更新 HTTP 客户端测试数据和请求示例
- 添加 Feign 客户端支持以实现服务间通信
- 实现笔记文档重建功能并提供对外接口
- 增加数据对齐服务中远程调用搜索服务的能力
- 更新全局异常处理器和枚举类的包路径
- 调整应用启动类的 Mapper 扫描路径
- 更新 Elasticsearch 配置类和索引相关类路径
- 修改控制器和服务接口以支持新架构
- 更新测试类路径以匹配新的项目结构
|
2025-11-03 16:00:22 +08:00 |
|
|
|
218f4c6974
|
refactor(search):优化 Canal 数据同步逻辑
- 移除未使用的 IndexResponse 导入
- 简化 Elasticsearch 索引写入操作,去除不必要的响应处理- 保持异常处理逻辑不变,确保错误日志记录完整性
|
2025-11-03 14:53:09 +08:00 |
|
|
|
268a009c9b
|
feat(search): 实现用户索引同步与删除功能
- 新增处理用户事件的逻辑,包括插入和更新操作
- 实现用户文档的删除方法- 添加批量同步用户索引和笔记索引的功能
- 扩展 selectEsNoteIndexData 方法支持按用户 ID 查询
- 新增 selectEsUserIndexData 方法用于查询用户索引数据
- 更新 XML 映射文件以支持新的查询条件和字段
|
2025-11-03 14:52:51 +08:00 |
|
|
|
678c8ab8eb
|
feat(search): 实现 Canal 数据同步到 Elasticsearch 功能
- 添加 Elasticsearch 客户端依赖及配置
- 实现 Canal 数据监听与解析逻辑
- 新增笔记索引同步与删除处理
- 添加 MyBatis Mapper 扫描与数据源配置
- 定义笔记状态与可见性枚举类
- 配置 MyBatis XML 映射文件路径
|
2025-11-03 14:22:55 +08:00 |
|
|
|
39d2eb1063
|
feat(search): 集成 Canal 实现数据库变更监听与词典热更新
- 新增 Canal 客户端配置与连接管理
- 实现 Canal 数据订阅与消费调度任务
- 添加外部词典热更新接口与服务实现- 配置 Elasticsearch词典热更新支持
- 引入 Canal 相关依赖并统一版本管理- 启用 Spring 定时任务支持以驱动 Canal 消费- 增加项目词典以优化拼写检查准确性
|
2025-11-02 19:03:26 +08:00 |
|
|
|
96b4127873
|
feat(search): 集成 Canal 实现数据库变更监听与词典热更新
- 新增 Canal 客户端配置与连接管理
- 实现 Canal 数据订阅与消费调度任务
- 添加外部词典热更新接口与服务实现- 配置 Elasticsearch词典热更新支持
- 引入 Canal 相关依赖并统一版本管理- 启用 Spring 定时任务支持以驱动 Canal 消费- 增加项目词典以优化拼写检查准确性
|
2025-11-02 19:02:52 +08:00 |
|
|
|
7c62f1dcf9
|
feat(search): 增加笔记发布时间范围筛选功能
- 在 DateConstants 中新增 MM-dd 和 HH:mm 时间格式常量
- 在 DateUtils 中增加 localDateTime2String 和 formatRelativeTime 方法- 新增 NotePublishTimeRangeEnum 枚举类用于定义发布时间范围
- 在搜索服务中实现按发布时间范围筛选逻辑
- 修改 SearchNoteReqVO 添加 publishTimeRange 参数
- 修改 SearchNoteRspVO 将 updateTime 改为字符串类型并新增评论数和收藏数字段
- 更新搜索结果处理逻辑以支持新的时间格式化和数据展示
|
2025-11-02 14:40:42 +08:00 |
|
|
|
1335582827
|
fix(search):修复用户搜索服务中的空指针异常和高亮逻辑
- 修复了likeTotal字段为null时的空指针异常- 重构用户搜索逻辑,优化查询构建和响应处理
- 移除了过时的Guava Lists依赖,使用ArrayList替代
- 改进了高亮字段处理逻辑,确保正确提取高亮内容
- 更新异常处理类型从Exception到具体的IOException-优化代码结构,添加注释分段标识提高可读性- 调整粉丝总数格式化逻辑,增强空值处理能力
|
2025-11-02 14:13:10 +08:00 |
|
|
|
34c7092abc
|
feat(search): 增强笔记搜索功能支持类型筛选和多种排序方式
- 新增笔记类型筛选功能,支持图文和视频类型过滤
- 添加多种排序方式:最新发布、最多点赞、最多评论、最多收藏
- 实现综合排序逻辑,基于 function_score 查询优化搜索结果
- 增加搜索结果高亮显示标题功能
-重构查询构建逻辑,支持动态构建 bool 查询和 function_score 查询
- 添加 NoteSortTypeEnum 枚举类管理排序类型
- 优化搜索响应处理,支持高亮字段解析和数据格式化
- 更新 SearchNoteReqVO 模型,添加 type 和 sort 查询参数
- 改进异常处理逻辑,使用 IOException 替代通用 Exception
- 移除旧的 stream 处理方式,采用循环遍历处理搜索结果
|
2025-11-01 22:34:58 +08:00 |
|
|
|
3d33a73462
|
feat(search): 实现笔记搜索功能
- 添加 Elasticsearch 配置,支持通过 ObjectMapper 注入
- 创建笔记索引字段常量类 NoteIndex
- 新增搜索控制器 NoteController,提供搜索接口
- 实现 NoteService 接口及具体业务逻辑 NoteServiceImpl
- 构建 function_score 查询,结合多字段匹配与评分函数
- 支持搜索结果高亮显示及分页处理
- 添加请求参数校验和响应数据格式化逻辑
- 更新 SearchUserRspVO 使用 JsonAlias 替代 JsonProperty
|
2025-11-01 14:53:28 +08:00 |
|
|
|
4b13e52a29
|
feat(search): 实现用户搜索昵称高亮与粉丝数格式化- 添加昵称高亮字段 highlightNickname 到 SearchUserRspVO
- 修改粉丝总数字段类型为 String,支持格式化显示
- 引入 NumberUtils 工具类,实现数字转“万”单位格式
- 配置 Elasticsearch 查询高亮规则,支持昵称关键词高亮
- 新增 mergeHitToRspVO 方法,合并原始数据与高亮结果
- 优化搜索请求构建逻辑,增强可读性与扩展性
|
2025-11-01 13:50:18 +08:00 |
|
|
|
4e00542371
|
feat(search): 实现用户搜索功能
- 添加 Elasticsearch 客户端配置
- 创建用户搜索接口和实现类
- 定义搜索请求和响应 VO 类
- 集成分页查询和关键字匹配逻辑
- 添加 Elasticsearch 测试用例
- 更新 pom.xml 依赖和版本管理
- 添加 HTTP 客户端测试脚本
|
2025-10-30 22:21:06 +08:00 |
|
|
|
3437c2bff4
|
feat(search): 初始化搜索服务模块- 添加搜索服务基础配置文件 application.yml 和 bootstrap.yml
- 配置 Nacos 服务发现与配置中心集成
- 引入 Elasticsearch 客户端依赖并配置连接参数
- 创建全局异常处理器 GlobalExceptionHandler
- 定义响应码枚举 ResponseCodeEnum
- 添加用户搜索请求/响应 VO 类
- 定义用户索引常量 UserIndex
- 创建 UserService 接口及实现类
|
2025-10-29 22:37:08 +08:00 |
|
|
|
c216ca4c63
|
chore(http-client): 添加 Elasticsearch 索引和文档操作示例
- 新增创建索引的 HTTP 请求示例
- 添加多个创建文档的 PUT 请求示例
- 包含不同类型内容的文档数据(旅游、美食、穿搭)
- 提供基于 multi_match 的搜索文档示例
- 所有请求均针对 note 索引进行操作
- 补充完整的请求体和时间字段内容
|
2025-10-27 23:04:14 +08:00 |
|
|
|
6cc5c06879
|
feat(data-align): 新增多种计数对齐任务及批量删除支持
- 新增粉丝数、笔记发布数、笔记点赞数、笔记收藏数、用户收藏数、用户点赞数等计数对齐任务
- 扩展 DeleteRecordMapper 支持多种计数变更表的批量删除操作
- 新增 SelectRecordMapper 查询方法支持各类计数表数据批量获取- 新增 UpdateRecordMapper 更新方法支持多维度计数表更新
- 完善 Redis 缓存更新逻辑,支持用户和笔记维度的计数缓存同步
- 添加对应的 XML 映射文件 SQL 实现,支持分片表结构动态拼接- 优化计数对齐任务处理流程,提升数据一致性保障能力
|
2025-10-25 23:21:37 +08:00 |
|
|
|
d1f756d5c8
|
refactor(data-align):优化数据对齐任务与MQ消费逻辑
fix(data-align,note):点赞同一用户发布的两篇不同笔记,无法保存变更记录。点赞笔记的SQL查询错误修复。
- 移除了事务模板,简化数据库操作流程
- 分离笔记ID与用户ID的布隆过滤器处理逻辑- 新增针对笔记作者的点赞/收藏数变更记录
- 重构Redis键命名规范,区分笔记与用户维度
- 优化MQ消息处理流程,增强异常捕获机制
- 更新HTTP客户端测试用例与环境配置
-修复NoteServiceImpl中点赞查询的用户ID条件缺失
- 调整分片计算方式,提升数据分布均匀性
|
2025-10-24 20:57:21 +08:00 |
|
|
|
ac65664dfe
|
feat(data-align): 实现用户关注数对齐分片任务
- 新增 DeleteRecordMapper 接口及 XML 配置,支持批量删除临时表记录
- 新增 SelectRecordMapper 接口及 XML 配置,支持分批查询和统计关注数
- 新增 UpdateRecordMapper 接口及 XML 配置,用于更新用户关注总数
- 新增 FollowingCountShardingXxlJob 任务类,实现分片广播处理关注数对齐逻辑
-重命名 InsertRecordMapper为 InsertMapper 并同步更新相关引用
- 在 RedisKeyConstants 中新增构建用户计数 Key 的方法及相关常量
- 修改多个消费者类中的 Mapper 引用名称以匹配重命名后的接口
- 更新数据源映射文件,调整 Mapper XML 文件路径配置
|
2025-10-24 19:10:40 +08:00 |
|
|
|
17123657f4
|
feat(data-align): 实现用户关注、粉丝及笔记发布数的数据对齐功能
- 新增 LUA 脚本实现布隆过滤器校验日增量数据
- 修改表结构将 t_data_align_note_publish_count_temp 的 note_id 替换为 user_id
-为 CreateTableXxlJob 添加事务管理确保表创建一致性
- 新增 FollowUnfollowMqDTO 和 NoteOperateMqDTO 用于消息传递
- 扩展 InsertRecordMapper 支持插入关注、粉丝和笔记发布计数记录
- 在 RedisKeyConstants 中新增多个布隆过滤器相关常量和构建方法
- 新增两个 RocketMQ 消费者处理用户关注/取关和笔记发布/删除事件
- 更新 HTTP 测试文件中的请求参数以适配最新接口逻辑
|
2025-10-23 20:02:36 +08:00 |
|
|
|
5c4d8862a2
|
feat(data-align): 添加删除日增量临时表功能
- 新增 DeleteTableMapper 接口及 XML 映射文件
- 实现删除多种日增量表的 SQL 语句- 创建 DeleteTableXxlJob 定时任务
- 支持按日期和分片批量删除临时表- 集成 XXL-JOB 执行日志记录
- 自动清理最近一个月的历史数据表
|
2025-10-21 20:09:20 +08:00 |
|
|
|
a6f4d437d2
|
feat(data-align): 新增笔记收藏数据对齐功能
- 新增布隆过滤器Lua脚本,用于日增量笔记收藏数据去重
- 新增收藏/取消收藏MQ消息DTO定义- 新增笔记收藏数和用户获得收藏数的数据库插入接口及XML配置
- 新增笔记收藏数MQ Topic常量定义
- 优化笔记服务中布隆过滤器异步初始化逻辑-修复取消收藏时Lua脚本路径错误问题
- 增强取消收藏操作的幂等性校验
- 新增笔记收藏数据对齐消费者,实现增量数据落库和布隆过滤器更新
- 新增笔记收藏布隆过滤器相关常量和工具方法
|
2025-10-21 20:02:48 +08:00 |
|
|
|
c1c0590cce
|
feat(data-align): 实现笔记点赞增量数据处理与布隆过滤器校验
- 新增 Redis 布隆过滤器 Lua 脚本,用于校验日增量变更数据- 创建 InsertRecordMapper 及 XML 映射文件,支持笔记和用户点赞数落库
- 定义 LikeUnlikeNoteMqDTO用于 MQ 消息传输
- 配置 RedisTemplate 支持 JSON 序列化
- 修改 TableConstants 中 buildTableNameSuffix 方法参数类型为 long
- 实现 TodayNoteLikeIncrementData2DBConsumer 消费者逻辑:
- 使用布隆过滤器去重判断 - 数据库写入操作使用事务保证原子性
- 写入成功后更新布隆过滤器
- 更新 IntelliJ IDEA 数据源映射与 SQL 检查配置
|
2025-10-21 19:45:43 +08:00 |
|
|
|
8a1681e590
|
feat(data-align): bug修复,目前取消点赞接口可以重复访问,已经修改,但后续考虑换掉布隆过滤器。
- 新增 MQ 常量定义文件 MQConstants.java
- 新增 RocketMQ 配置类 RocketMQConfig.java
- 新增笔记点赞增量数据消费类 TodayNoteLikeIncrementData2DBConsumer- 引入 Jackson 和 RocketMQ Starter 依赖
-优化笔记取消点赞逻辑,增强布隆过滤器处理
- 增强日志记录,包括布隆过滤器初始化和执行结果- 添加空值检查以提高代码健壮性
- 修复笔记服务中重复注释问题
|
2025-10-21 19:14:20 +08:00 |
|
|
|
f217b8133a
|
feat(data-align): 新增数据对齐日增量表创建功能
- 新增 CreateTableMapper 接口定义多个创建临时表方法
- 新增 CreateTableMapper.xml 实现具体建表 SQL逻辑
- 修改 CreateTableXxlJob 定时任务,集成表创建逻辑
- 新增 TableConstants 工具类用于构建表名后缀
- 更新 MyBatis 配置文件路径映射及词典配置
- 支持按日期和分片自动创建七种数据对齐相关表结构
|
2025-10-20 21:43:15 +08:00 |
|
|
|
efd2e51d24
|
feat(job): 集成XXL-JOB分布式定时任务
- 添加XXL-JOB核心依赖
- 创建任务配置类XxlJobConfig
- 定义任务属性类XxlJobProperties
- 新增创建表任务示例CreateTableXxlJob
- 实现任务执行器初始化逻辑
- 配置任务日志路径及保留天数
- 注册任务组件到Spring容器
- 添加任务处理器注解及日志记录
|
2025-10-19 20:24:17 +08:00 |
|
|
|
023d0c0926
|
feat(data-align): 初始化数据对齐模块
- 添加 han-note-data-align 模块基础结构
- 配置 application.yml 和 bootstrap.yml 文件
- 设置 MyBatis Plus 和 Redis 配置
- 集成 Nacos 服务发现与配置中心
- 添加日志配置文件 logback-spring.xml
- 创建数据源和 MyBatis 相关 IDEA 配置文件- 更新 .gitignore 排除特定开发环境配置和日志文件
- 配置 IntelliJ IDEA 编译器和编码设置
|
2025-10-19 20:01:31 +08:00 |
|
|
|
7fc24e1e2a
|
feat(count): 实现笔记发布与删除的计数更新功能
- 新增笔记操作 MQ 消费者 CountNotePublishConsumer
- 支持处理笔记发布和删除消息,更新 Redis 和数据库计数
- 新增笔记操作相关常量:TOPIC_NOTE_OPERATE、TAG_NOTE_PUBLISH、TAG_NOTE_DELETE
- 定义笔记操作 DTO:NoteOperateMqDTO,用于 MQ 消息传递
- 在笔记服务中发送笔记发布和删除的 MQ 消息
- 新增 Redis Hash 字段 noteTotal 用于存储笔记总数
- 新增数据库操作 insertOrUpdateNoteTotalByUserId 用于更新笔记总数
|
2025-10-19 17:58:57 +08:00 |
|
|
|
7b1df60c05
|
feat(count): 新增笔记收藏与点赞计数聚合功能,用户维度统计功能
- 新增 AggregationCountCollectedUncollectedNoteMqDTO 和 AggregationCountLikeUnlikeNoteMqDTO 聚合消息体
- 在 CollectUnCollectNoteMqDTO、CountCollectUnCollectNoteMqDTO 和 CountLikeUnlikeNoteMqDTO 中添加 noteCreatorId 字段
- 优化 CountNoteCollect2DBConsumer 和 CountNoteLike2DBConsumer 消费者逻辑,支持事务性更新用户及笔记计数
- 修改 CountNoteCollectConsumer 和 CountNoteLikeConsumer,使用聚合 DTO 替代 Map 结构处理计数逻辑
- 扩展 JsonUtils 工具类,新增 parseList 方法用于解析 JSON 到 List 对象
- 更新 NoteServiceImpl 中点赞和收藏相关方法,补充获取并传递 noteCreatorId 参数
- 在 UserCountDOMapper 及其 XML 映射文件中新增点赞数和收藏数的插入或更新操作接口
|
2025-10-19 17:18:20 +08:00 |
|
|
|
564eefa7bc
|
feat(count): 实现笔记收藏计数功能
- 新增笔记收藏/取消收藏 MQ 消费者,处理收藏计数逻辑
- 新增笔记收藏数落库消费者,实现批量更新数据库
- 新增收藏类型枚举和 DTO 类,用于消息传递与解析
- 修改 MQ 消费组名称前缀统一为 han_note_group_
- 新增 Redis 收藏总数字段常量及更新逻辑
- 扩展 NoteCountDOMapper 支持收藏数插入或更新操作
- 在 XML 映射文件中新增对应 SQL 插入语句
- 完善 MQ 常量定义,增加收藏相关主题常量
|
2025-10-19 16:06:45 +08:00 |
|
|
|
c036fadbff
|
feat(note): 实现笔记取消收藏功能
- 新增取消收藏笔记的 Controller 接口 /uncollect
- 实现取消收藏笔记的业务逻辑,包括布隆过滤器校验和数据库状态更新
- 添加 Lua 脚本用于 Redis 布隆过滤器检查笔记是否被收藏
- 新增取消收藏相关的枚举类 NoteUnCollectLuaResultEnum
- 扩展 RocketMQ 消息标签支持取消收藏操作
- 在 NoteCollectionDOMapper 中新增 update2UnCollectByUserIdAndNoteId 方法
- 新增响应码 NOTE_NOT_COLLECTED用于未收藏情况的错误提示
- 添加取消收藏请求参数 VO 类 UnCollectNoteReqVO
- 更新 HTTP 客户端测试脚本增加取消收藏接口调用示例
|
2025-10-19 15:40:27 +08:00 |
|
|
|
61cfbd6b81
|
feat(note): 实现笔记收藏与取消收藏功能
- 新增收藏/取消收藏 MQ 消费者 CollectUnCollectNoteConsumer
- 新增 MQ 消息 DTO 类 CollectUnCollectNoteMqDTO
- 新增收藏操作类型枚举 CollectUnCollectNoteTypeEnum
- 在 MQConstants 中新增收藏相关主题与标签常量
- 扩展 NoteCollectionDOMapper 支持插入或更新收藏记录
- 在 NoteCollectionDOMapper.xml 中实现 insertOrUpdate SQL 逻辑
- 在 NoteServiceImpl 中构建并发送收藏 MQ 消息
- 添加流量削峰限流与幂等性处理机制
|
2025-10-18 21:31:09 +08:00 |
|
|
|
1ac61d1b06
|
feat(note): 实现笔记收藏ZSET更新逻辑
- 移除TODO注释,完善收藏判断逻辑
- 新增Lua脚本实现ZSET收藏列表更新
- 添加ZSET列表不存在时的初始化逻辑
- 实现收藏列表超限移除最早收藏项
- 支持批量同步历史收藏数据到Redis
- 设置随机过期时间避免缓存雪崩
|
2025-10-18 21:19:12 +08:00 |
|
|
|
65b089de70
|
feat(note): 实现笔记收藏功能
- 新增笔记收藏接口及对应业务逻辑
- 添加布隆过滤器和ZSet校验笔记是否已收藏
- 实现异步初始化用户收藏笔记数据到Redis
- 新增多个Lua脚本支持批量操作和过期时间设置
- 更新NoteCollectionDO实体类字段类型和时间格式
- 添加收藏相关枚举类和请求VO类
- 扩展RedisKeyConstants常量类支持收藏功能键名构建
- 在网关API测试文件中增加笔记收藏入口配置
|
2025-10-18 21:11:10 +08:00 |
|
|
|
54c34706fb
|
feat(count): 实现笔记点赞计数功能
- 新增笔记点赞计数 MQ DTO 类
- 实现笔记点赞计数消费者,支持流量削峰与批量聚合
- 实现笔记点赞计数落库消费者,带限流处理
- 新增笔记点赞类型枚举类
- 添加笔记点赞相关 MQ Topic 常量定义
- 扩展笔记计数 Mapper,支持点赞数更新
- 新增 Redis 笔记计数 Key 构建方法及字段常量
- 在笔记服务中发送点赞计数 MQ 消息
|
2025-10-18 16:16:18 +08:00 |
|
|
|
cfcd12be0d
|
fix(note):修复笔记取消点赞逻辑错误
- 增加布隆过滤器不存在情况的处理逻辑
- 调整笔记未点赞状态的判断条件
-优化异步初始化布隆过滤器的执行流程- 修复状态判断与异常抛出的逻辑错误
|
2025-10-18 15:37:01 +08:00 |
|
|
|
90bd9a5a5d
|
feat(note): 实现笔记取消点赞功能
- 新增 Lua 脚本用于布隆过滤器校验笔记是否被点赞
- 添加取消点赞接口 /note/note/unlike
- 实现取消点赞业务逻辑,包括 Redis ZSet 删除与 MQ 异步更新
- 新增取消点赞请求 VO 类 UnlikeNoteReqVO
- 新增 Lua 脚本执行结果枚举 NoteUnlikeLuaResultEnum
- 添加响应码 NOTE_NOT_LIKED 用于未点赞提示
- 更新 HTTP 客户端测试用例,增加取消点赞入口
- 消费者 LikeUnlikeNoteConsumer 支持处理取消点赞消息
- 补充相关服务层方法 unlikeNote 及其实现
|
2025-10-18 15:28:38 +08:00 |
|