Commit Graph

121 Commits

Author SHA1 Message Date
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
bb44cd3d23 bugFix: (note)
- Bloom 布隆过滤器不存在时,未校验是否点赞其他笔记
2025-10-17 22:20:20 +08:00
7c92bd91f6 feat(note): 实现笔记点赞功能及Redis ZSet同步
- 新增笔记点赞MQ消费者LikeUnlikeNoteConsumer,支持点赞与取消点赞操作
- 添加LikeUnlikeNoteMqDTO数据传输对象和LikeUnlikeNoteTypeEnum枚举类
- 扩展NoteLikeDO实体类使用LocalDateTime并调整status字段类型为Integer
- 实现NoteLikeDOMapper的insertOrUpdate方法支持插入或更新点赞记录- 新增两个Lua脚本用于批量添加点赞记录及检查更新用户点赞ZSet-优化NoteServiceImpl中的点赞逻辑,增强幂等性校验和ZSet初始化机制
- 引入Redis ZSet维护用户最近100条点赞记录,并支持过期时间设置
- 调整MQ常量定义,增加点赞相关主题与标签配置
- 迁移DateUtils工具类至公共模块并修复相关引用路径
- 增加用户笔记点赞列表ZSet的Key构建方法及相关常量定义
2025-10-17 22:07:48 +08:00
648c621fbf feat(note): 实现笔记点赞功能
- 新增笔记点赞接口,支持用户对笔记进行点赞操作
- 集成 Redis 布隆过滤器,用于高效判断用户是否已点赞
- 添加 Lua 脚本处理点赞逻辑,包括布隆过滤器检查与更新
- 实现异步批量初始化布隆过滤器,提升性能与用户体验
- 完善点赞相关枚举、VO 类及 Redis Key 常量定义
- 在 HTTP 客户端中新增点赞接口测试用例
- 增加笔记存在性校验逻辑,确保操作目标有效
- 添加点赞状态枚举和响应码,优化错误提示信息
2025-10-16 22:47:18 +08:00
d59acad051 feat(count): 实现粉丝与关注计数服务
- 新增粉丝数与关注数的 MQ 消费逻辑
- 实现 Redis 计数更新与数据库落库操作
- 添加流量削峰限流机制提升系统稳定性
- 完善计数 DTO 与枚举类型定义
- 扩展 JsonUtils 工具类支持 Map 转换
- 更新 MQ 常量与 Redis Key 管理策略
-优化 MyBatis Mapper 支持计数插入或更新操作,Mybatis-plus操作起来属于硬编码,所以使用MyBatis的XML形式
2025-10-16 19:21:28 +08:00
c6ac7193c1 feat(count): 引入批量消费机制优化粉丝计数处理
- 添加 BufferTrigger依赖以支持消息聚合
- 实现消息批量消费逻辑,提升处理效率
- 配置批量大小为 1000,缓存队列最大容量为50000
- 设置聚合间隔为1 秒,均衡实时性与性能
- 新增测试用例验证大量消息发送与消费流程
- 日志记录聚合消息内容,便于调试与监控
2025-10-15 22:33:20 +08:00
31ab7c3d86 feat(count): 实现关注与粉丝数统计功能
- 新增关注数与粉丝数 MQ 消费者
- 在用户关系服务中新增关注/取关时发送 MQ 消息逻辑
- 新增关注/取关类型枚举类
- 新增用于统计的 MQ 常量定义
- 调整应用主类包路径以符合项目结构(致命,查半天)
- 移除配置文件中不再使用的 MQ 消费者限流配置项
2025-10-15 22:25:59 +08:00
e17ab857b9 refactor(note):优化NoteLikeDOServiceImpl的导入顺序- 调整了类导入顺序,将Spring注解与MyBatis相关依赖分开
- 移除了未使用的List导入
-重新组织了包导入顺序以提高可读性
-保持了@Service注解的位置不变- 确保所有必需的依赖仍然正确导入
2025-10-15 19:33:21 +08:00
ee99654e7c refactor(core):优化服务实现类代码结构
- 调整了多个服务实现类中的 import 语句顺序- 移除了未使用的注解和依赖注入相关导入
- 统一了 MyBatis 注解的导入方式-优化了数据源配置类中的 DataSource 导入位置
- 移除了过滤器中不必要的 Component 注解- 简化了部分重复的代码结构以提升可读性
2025-10-15 19:31:02 +08:00
3904e8510e feat(count): 新增笔记和用户计数相关数据结构和服务
- 新增笔记收藏表(NoteCollectionDO)及相关Mapper和服务实现
- 新增笔记计数表(NoteCountDO)及相关Mapper和服务实现
- 新增笔记点赞表(NoteLikeDO)及相关Mapper和服务实现
- 新增用户计数表(UserCountDO)及相关Mapper和服务实现
- 配置RedisTemplate以支持JSON格式序列化
- 引入RocketMQ依赖并配置自动装配
- 在count模块中添加Redis和RocketMQ相关配置类
2025-10-15 19:26:18 +08:00
893f52e5aa feat(count): 初始化计数服务模块
- 新增 han-note-count 模块及其子模块 han-note-count-api 和 han-note-count-biz
- 配置 application.yml 和 bootstrap.yml,支持 Nacos 注册与配置中心
- 添加 MyBatis-Plus、Redis、MySQL 等基础依赖
- 集成日志配置 logback-spring.xml,支持异步输出及多环境配置
- 设置 .gitignore 忽略本地开发配置文件
- 更新 IDEA 编码配置,指定新增模块的字符集为 UTF-8- 在主 pom.xml 中注册新模块 han-note-count
2025-10-15 19:10:48 +08:00
84d6914b1c feat(sql): 新增笔记点赞、收藏及计数相关表结构
- 创建笔记点赞表 t_note_like,记录用户对笔记的点赞状态
- 创建笔记收藏表 t_note_collection,记录用户对笔记的收藏状态
- 创建笔记计数表 t_note_count,统计笔记的点赞、收藏和评论数量
- 创建用户计数表 t_user_count,统计用户的粉丝、关注、笔记及获赞数据
2025-10-15 17:56:10 +08:00
9e3c35043e feat(relation): 实现用户粉丝列表查询功能
- 新增查询用户粉丝列表接口
- 定义粉丝列表请求参数类 FindFansListReqVO- 定义粉丝信息响应类 FindFansUserRspVO
- 在 RelationController 中添加 /fans/list POST 接口
- 在 RelationService 中定义 findFansList 方法
- 在 RelationServiceImpl 中实现粉丝列表查询逻辑
- 支持 Redis 缓存查询与数据库分页查询
- 实现粉丝列表异步同步至 Redis 功能
- 添加 HTTP 客户端测试用例
2025-10-15 17:40:36 +08:00
5e4f9b1203 fix(relation):修复批量查询用户信息时返回空数据的问题
- 在请求页码超过总页数时正确返回空数据
- 添加DataFlowIssue注解以忽略潜在的数据流问题警告
2025-10-14 23:32:01 +08:00
aca7c657fa feat(relation): 实现关注列表分页查询及异步同步到Redis
- 在 PageResponse 中新增 getOffset 方法用于计算分页偏移量
- 优化关注列表分页逻辑,支持从 Redis 和数据库双重查询
- 添加线程池配置,用于异步同步关注列表至 Redis
- 实现全量同步关注列表到 Redis 的方法,并设置随机过期时间
- 封装 RPC 调用用户服务并将 DTO 转换为 VO 的公共方法
-修复分页查询边界条件判断,避免无效查询
- 使用 Lua 脚本批量操作 Redis 提高同步效率和原子性
2025-10-14 23:31:25 +08:00
1e350a4af5 feat(user): 新增用户关注列表查询功能
- 新增查询用户关注列表接口,支持分页查询
- 新增批量查询用户信息接口,提升查询效率
- 优化 MQ 消费模式为顺序消费,确保关注/取关操作有序性
- 完善用户信息 DTO,新增简介字段
- 新增分页响应封装类,支持分页查询结果返回
- 优化 Redis 查询逻辑,支持从缓存中分页获取关注列表
- 新增 Lua 脚本结果类型设置,确保脚本执行结果正确解析
- 添加 HTTP 接口测试用例,覆盖关注列表及批量查询接口
- 实现缓存与数据库双写一致性,提高数据查询性能
2025-10-14 22:29:13 +08:00
b70d9073d8 feat(relation): 实现用户取关功能
- 新增取消关注接口及完整业务逻辑
- 添加 Lua 脚本支持 Redis 取关校验与删除操作
- 实现 MQ 异步处理取关事件
- 补充相关 DTO、VO 类以及枚举响应码
- 完善 Redis Key 构建工具方法
- 增加 HTTP 测试用例用于手动验证接口
- 优化关注流程中的 Redis ZSet 粉丝列表维护逻辑
- 添加粉丝数量限制控制,超出时自动移除最早关注者
2025-10-13 22:40:11 +08:00
f0afb23a73 feat(note): 新增笔记删除功能
- 新增 DeleteNoteReqVO 请求参数类,用于接收笔记删除请求
- 在 NoteController 中添加 /delete 接口,实现笔记删除功能
- 在 NoteService 和 NoteServiceImpl 中实现 deleteNote 方法
- 删除笔记时进行权限校验,仅允许笔记创建者删除
- 删除操作为逻辑删除,更新笔记状态为已删除
- 删除笔记后清除 Redis 缓存,并通过 MQ 广播通知各实例清除本地缓存
-优化更新和可见性接口的权限校验逻辑,避免重复代码
- 添加 MQ 测试类 MQTests,用于批量发送关注/取关消息
- 引入 Guava 的 RateLimiter 实现 MQ 消费端限流- 配置 Nacos 配置中心依赖及动态刷新配置
- 更新 .gitignore 文件,忽略日志文件目录
- 在 application.yml 中添加 MQ 消费者限流配置项
- 在 bootstrap.yml 中完善 Nacos 配置中心相关配置
- 为 FollowUnfollowConsumer 添加限流逻辑,防止消费端压力过大
2025-10-13 21:18:12 +08:00
362c32cbd6 feat(user-relation): 实现用户关注与取消关注功能
- 在 t_following 和 t_fans 表中添加联合唯一索引,确保关注关系的幂等性- 新增 RocketMQ 消费者 FollowUnfollowConsumer,处理关注和取消关注消息
- 实现关注逻辑,通过事务保证关注表和粉丝表数据一致性
- 修改 DeleteNoteLocalCacheConsumer 的 consumerGroup 名称,避免消费者组冲突,否则可能遇到消费者不消费的情况
2025-10-12 21:17:39 +08:00
5a7564d504 feat(relation): 实现用户关注功能并集成RocketMQ消息队列
- 新增关注用户MQ消息传输对象 FollowUserMqDTO
- 定义MQ常量类 MQConstants,包含关注/取关主题与标签
- 引入RocketMQ依赖及自动配置类 RocketMQConfig
- 在关注接口中构造并异步发送关注操作消息
- 使用JsonUtils将消息体序列化为JSON字符串
- 添加日志记录MQ发送状态及异常处理回调
2025-10-12 20:03:33 +08:00
3c8dc9e4af feat(relation): 实现用户关注功能及相关校验逻辑
- 新增 DateUtils 工具类,支持 LocalDateTime 转时间戳
- 编写三个 Lua 脚本:单条关注、批量关注及关注校验与添加
- 新增 RedisKeyConstants 常量类,用于构建关注列表 KEY
- 新增 LuaResultEnum 枚举,定义 Lua 脚本返回结果状态
- 实现关注接口的完整业务逻辑,包括 Redis 校验和数据库兜底
- 添加 HTTP 测试用例和环境变量配置
- 支持关注关系的过期策略,包含随机过期时间计算
- 增加对关注上限和重复关注的业务异常处理
- 实现从数据库同步关注数据到 Redis 的逻辑
- 使用 Lua 脚本保证操作的原子性和性能优化
2025-10-12 19:55:20 +08:00
7942a46592 feat(relation): 实现用户关注功能
- 新增关注用户接口,支持通过用户ID关注其他用户
- 添加参数校验,确保被关注用户ID不为空
- 实现关注用户时的业务逻辑,包括:
  -不能关注自己
  - 校验被关注用户是否存
  - 集成Feign客户端,调用用户服务查询用户信息
- 定义关注相关的异常码和错误信息
- 更新网关配置,路由/relation/**请求到用户关系服务- 添加HTTP客户端测试用例,用于验证关注功能
- 引入用户API依赖,支持远程调用用户服务
2025-10-12 15:02:15 +08:00
16ab8a13d2 feat(http): 添加用户信息更新和笔记管理接口测试用例
- 新增更新用户信息的 multipart/form-data 请求示例
- 添加发布图文笔记和视频笔记的 JSON 请求示例- 添加笔记详情查询和笔记修改的请求示例
- 在私有环境变量中增加 noteId 字段用于笔记相关接口测试
- 调整包名路径以符合项目结构规范
2025-10-12 14:13:52 +08:00
04b891e73d feat(sql): 修改用户表唯一约束字段
- 将用户表的唯一约束从手机号(phone)更改为邮箱(email)- 更新表结构以支持邮箱唯一性校验
-保持其他字段和约束不变
2025-10-12 00:50:12 +08:00
e5c79f1abc feat(user): 更新用户表字段及认证接口
- 将用户表中的 `han_note_id` 注释更新为 "小憨书号"
- 将用户表中的 `phone` 字段改为 `email` 并更新注释
- 更新分布式ID生成器中相关SQL表名引用从 `leaf_alloc` 到 `leaf`
- 在HTTP客户端配置文件中新增认证API请求示例
- 修改Feign接口方法名以匹配邮箱查询逻辑
- 调整RPC服务调用方法名保持一致性
2025-10-12 00:49:35 +08:00
eaa5586211 feat(sql): 初始化频道、话题及关系数据
- 添加 leaf-segment 分布式ID配置表及初始数据

fix(pom):修正模块 artifactId 命名

- 将 han-note-api 模块名称更正为 han-note-note-api
2025-10-11 23:31:26 +08:00
Hanserwei
3ce029ecce feat(user-relation): 初始化用户关系服务模块
- 新增用户关注和粉丝数据表结构及对应 DO、Mapper、Service 层代码
- 配置 RedisTemplate 以支持 JSON 格式的值序列化
- 添加全局异常处理器处理业务、参数校验等异常情况
- 完成模块基础配置文件(application.yml、bootstrap.yml)的初始化
- 在 SQL 脚本中新增 t_following 和 t_fans 表定义
- 更新 .gitignore、IDEA 编码设置以及 Maven 模块依赖关系
- 增加日志配置文件 logback-spring.xml 并区分环境输出方式
- 创建模块启动类 HannoteUserRelationBizApplication 并启用 MyBatis Mapper 扫描
2025-10-10 19:38:37 +08:00
Hanserwei
cede5282e8 feat(note): 新增笔记可见性与置顶功能
- 添加笔记仅对自己可见接口及实现逻辑
- 添加笔记置顶/取消置顶接口及实现逻辑
- 引入新的请求参数类 UpdateNoteVisibleOnlyMeReqVO 和 TopNoteReqVO
- 扩展响应码枚举以支持新功能的异常处理
- 使用通配符导入优化代码结构
- 更新服务层接口定义,增加对应方法声明
2025-10-10 18:57:24 +08:00
Hanserwei
5b19e715ce feat(note): 引入 RocketMQ 实现缓存一致性
- 新增 RocketMQ 配置类,引入自动配置
- 添加 RocketMQ 依赖到 pom.xml 文件
- 定义 MQ 常量接口,包括删除本地缓存和延迟删除 Redis 缓存的主题
- 实现延迟删除 Redis 缓存的消息消费者
- 实现删除本地缓存的广播模式消息消费者
- 在笔记更新服务中集成 RocketMQ,实现延迟双删策略
- 发送异步延时消息用于最终删除 Redis 缓存
- 发送同步广播消息以清除所有实例中的本地缓存
2025-10-09 17:24:51 +08:00
Hanserwei
d00933caad fix(note):优化笔记内容更新逻辑
- 修改查询笔记内容 UUID 的注释表述
- 当笔记内容为空时,删除对应的 K-V 存储
- 若从无内容更新为有内容,重新生成内容 UUID
- 调用 K-V 服务保存或删除笔记内容
- 更新失败时抛出业务异常以回滚事务
2025-10-09 16:21:22 +08:00
Hanserwei
04196f8e3a feat(note): 添加笔记更新功能
- 新增 /update 接口用于修改笔记内容
- 实现笔记类型校验,支持图文和视频笔记
- 校验图片数量不超过8张,视频链接不为空
- 更新笔记元数据并清除Redis和本地缓存
- 支持笔记内容的更新与K-V存储同步
- 新增笔记更新失败和话题不存在的异常码
- 添加 UpdateNoteReqVO 请求参数校验
2025-10-09 12:17:56 +08:00
Hanserwei
7508f176e8 fix(note): 处理笔记保存失败异常
- 在保存笔记失败时抛出 NOTE_PUBLISH_FAIL 异常
- 修复 ResponseCodeEnum 中重复分号问题
2025-10-09 11:38:15 +08:00
Hanserwei
9772a68ee4 feat(note):优化笔记详情查询性能
- 引入 CompletableFuture 实现 RPC 调用异步化
- 并行调用用户服务与内容服务提升响应速度
- 使用 allOf 统一处理多个异步任务结果
- 保留原有缓存逻辑及异常处理机制
- 调整代码结构提高可读性和维护性
2025-10-09 11:37:21 +08:00
Hanserwei
c75b1f6fe4 feat(note): 新增笔记详情查询功能
- 新增笔记详情请求VO类 FindNoteDetailReqVO
- 新增笔记详情响应VO类 FindNoteDetailRspVO
- KV服务Feign接口新增查询笔记内容方法
- KeyValueRpcService新增findNoteContent方法实现
- NoteController新增笔记详情查询接口
- NoteService接口及实现类新增findNoteDetail方法
- 新增RedisKeyConstants常量类用于构建笔记详情缓存KEY
- 新增ResponseCodeEnum枚举值用于笔记相关异常码
- 新增ThreadPoolConfig配置类定义异步线程池
- 新增UserRpcService用于调用用户服务查询用户信息
- 笔记详情接口支持多级缓存(本地缓存Caffeine+Redis)
- 笔记详情查询增加可见性校验逻辑
- pom.xml新增用户服务api依赖和Caffeine依赖
- UserFeignApi新增根据ID查询用户信息接口
2025-10-09 11:30:59 +08:00
Hanserwei
869889b87d 子模块打包文件 2025-10-09 10:36:39 +08:00
Hanserwei
042a2622d9 子模块打包文件 2025-10-09 09:50:40 +08:00
Hanserwei
28ab543d57 reflector(distributed-id-generator): 重构分布式ID生成器配置与数据源管理
- 引入 LeafProperties 配置类统一管理ID生成器配置
- 添加 LeafDataSourceConfiguration 配置数据源
- 移除旧的 Constants 类和 leaf.properties 文件
- 更新 SegmentService 和 SnowflakeService 初始化逻辑
- 修改 SnowflakeZookeeperHolder 构造函数增加 leafName 参数- 升级 MyBatis 到 MyBatis-Plus 并更新相关依赖版本
- 使用 Spring Boot 注解替换手动数据源创建
- 优化 DAO 层实现使用 Spring 注解和事务管理
- 更新应用配置文件支持多环境配置
- 添加 caffeine、commons-io、perf4j、curator-recipes 等依赖版本管理
2025-10-09 09:50:13 +08:00
Hanserwei
31b06fe32d fix(id-gen): 重命名分布式id模块名称,与其他模块一致。 2025-10-09 08:52:44 +08:00
Hanserwei
ae9720b7cb feat(user): 引入本地缓存优化用户信息查询性能
- 添加 Caffeine 依赖并配置本地缓存
- 实现用户信息多级缓存:本地缓存 -> Redis -> 数据库
- 新增用户信息缓存KEY常量及构建方法
- 配置自定义线程池用于异步缓存操作
- 实现缓存空对象防止击穿与过期时间随机化
- 添加 JsonUtils 工具类解析 JSON 字符串为对象的方法
2025-10-08 20:29:54 +08:00