Commit Graph

21 Commits

Author SHA1 Message Date
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
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
c6ac7193c1 feat(count): 引入批量消费机制优化粉丝计数处理
- 添加 BufferTrigger依赖以支持消息聚合
- 实现消息批量消费逻辑,提升处理效率
- 配置批量大小为 1000,缓存队列最大容量为50000
- 设置聚合间隔为1 秒,均衡实时性与性能
- 新增测试用例验证大量消息发送与消费流程
- 日志记录聚合消息内容,便于调试与监控
2025-10-15 22:33:20 +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
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
5b19e715ce feat(note): 引入 RocketMQ 实现缓存一致性
- 新增 RocketMQ 配置类,引入自动配置
- 添加 RocketMQ 依赖到 pom.xml 文件
- 定义 MQ 常量接口,包括删除本地缓存和延迟删除 Redis 缓存的主题
- 实现延迟删除 Redis 缓存的消息消费者
- 实现删除本地缓存的广播模式消息消费者
- 在笔记更新服务中集成 RocketMQ,实现延迟双删策略
- 发送异步延时消息用于最终删除 Redis 缓存
- 发送同步广播消息以清除所有实例中的本地缓存
2025-10-09 17:24:51 +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
ae9720b7cb feat(user): 引入本地缓存优化用户信息查询性能
- 添加 Caffeine 依赖并配置本地缓存
- 实现用户信息多级缓存:本地缓存 -> Redis -> 数据库
- 新增用户信息缓存KEY常量及构建方法
- 配置自定义线程池用于异步缓存操作
- 实现缓存空对象防止击穿与过期时间随机化
- 添加 JsonUtils 工具类解析 JSON 字符串为对象的方法
2025-10-08 20:29:54 +08:00
Hanserwei
665ea930fd feat(note): 初始化笔记服务模块
- 添加笔记、频道、话题等核心数据表结构
- 创建对应的数据访问对象(DO)和MyBatis映射文件
- 配置Spring Boot应用启动类及基础依赖
- 设置Nacos服务发现与配置中心相关配置
- 添加全局异常处理机制和响应码枚举定义
- 配置RedisTemplate以支持JSON序列化存储
- 定义日志输出格式及异步写入策略
- 新增笔记状态、类型、可见性等相关枚举类
- 配置MyBatis-Plus、MySQL、Druid等数据访问组件
- 添加Maven模块结构并集成到主项目中
2025-10-07 18:07:30 +08:00
Hanserwei
eb74ebae8d Refactor(user): 引入分布式ID生成服务替代Redis自增ID
- 添加对 han-note-distributed-id-generator-api 模块的依赖
- 实现 DistributedIdGeneratorRpcService 调用远程ID生成服务
- 替换用户注册时使用的Redis自增ID为RPC方式获取
- 删除原有从数据库获取用户ID的逻辑
- 更新pom.xml引入新的API依赖并管理版本
2025-10-07 15:23:22 +08:00
Hanserwei
2910fdb54f feat(kv): 初始化 KV 服务模块
- 添加了笔记内容的增删查 DTO 类
- 配置了 Cassandra 数据库连接
- 实现了基于 Cassandra 的笔记内容存储与查询功能

feat(kv): 初始化 distributeID 服务模块

- 实现了分布式 ID 生成器服务(Snowflake与 Segment)
- 添加了 ID 生成器监控接口
- 配置了 MyBatis 与数据库交互
- 添加了 Segment 与 Snowflake 服务实现
- 添加了 Leaf 相关模型类与分配器接口
- 添加了 Leaf 分配器实现类
- 添加了 Leaf 控制器与监控视图
- 添加了 Leaf 异常处理类
- 添加了 Leaf 日志配置文件
- 添加了 Leaf 启动类
- 添加了 Leaf 常量定义
- 添加了 Leaf ID 生成接口
- 添加了 Leaf 初始化异常类
- 添加了 Leaf 配置文件
- 添加了 Leaf 模型类
- 添加了 Leaf 服务类
- 添加了 Leaf 工具类
- 添加了 Leaf 相关注解
- 添加了 Leaf 相关配置类
- 添加了 Leaf 相关枚举类
- 添加了 Leaf 相关工具类

后续考虑复刻Leaf代码至Java21平台
2025-10-06 22:28:27 +08:00
Hanserwei
534a49a358 refactor(auth):重构认证服务,分离用户逻辑到独立服务
- 将用户相关业务迁移至用户模块,通过OpenFeign远程调用。
2025-10-04 22:03:09 +08:00
Hanserwei
4b992c35ca feat(oss): 实现文件上传功能并集成Feign调用
- 新增文件上传接口,支持multipart/form-data格式
- 配置Spring Servlet multipart参数,设置文件大小限制
- 添加Feign客户端配置,支持表单提交
- 实现Feign请求拦截器,传递用户上下文信息
- 创建OSS服务API接口,用于文件上传
- 在用户服务中集成OSS RPC调用,实现头像和背景图上传
- 添加上传失败的业务异常处理
- 更新pom.xml依赖,引入OpenFeign、负载均衡及Feign表单相关组件
- 定义API常量和服务名称
- 启用Feign客户端扫描,支持跨服务调用
2025-10-04 15:53:22 +08:00
Hanserwei
91e36d5a84 feat(user): 初始化用户服务模块
update(gateway):更新网关相关路由配置

- 添加用户服务基础架构,包括 API 和 Biz 模块
- 配置用户服务的 Spring Boot 启动类及 MyBatis Plus 配置- 实现用户信息更新接口,支持头像、昵称、小憨书号等字段校验
- 添加全局异常处理器,统一处理业务异常和参数校验错误
- 集成 Nacos 服务发现与配置中心
- 添加日志配置文件,支持异步日志写入
- 新增用户相关枚举类,如性别、响应码等
- 添加参数校验工具类,用于昵称、小憨书号等格式校验
- 配置网关路由,将 /user/** 路径转发至用户服务
- 在 GitIgnore 中忽略用户服务的本地开发配置文件
- 更新认证服务中的用户相关字段命名与接口路径
- 添加用户数据对象 UserDO 及对应的 Mapper 和 XML 配置
- 实现 UserService 接口及默认实现类 UserServiceImpl
- 添加用户信息更新请求 VO 类 UpdateUserInfoReqVO
- 添加用户 Mapper 接口 UserDOMapper 继承 BaseMapper
- 添加用户模块的 Maven 配置 pom.xml 文件
- 添加用户模块的编码配置,确保使用 UTF-8 编码
- 添加用户模块的启动日志配置 logback-spring.xml
- 添加用户模块的 bootstrap.yml 配置文件
- 添加用户模块的 application.yml 配置文件
- 添加用户模块的异常处理类 GlobalExceptionHandler
- 添加用户模块的枚举类 ResponseCodeEnum 和 SexEnum
- 添加用户模块的工具类 ParamUtils用于参数校验
- 添加用户模块的控制器 UserController 处理用户信息更新请求
- 添加用户模块的服务接口 UserService 及其实现类 UserServiceImpl
- 添加用户模块的数据访问对象 UserDO 及其映射文件 UserDOMapper.xml
- 添加用户模块的请求视图对象 UpdateUserInfoReqVO
- 添加用户模块的 API 模块 pom.xml 配置文件
- 添加用户模块的 Biz 模块 pom.xml 配置文件
- 添加用户模块的根 pom.xml 配置文件
- 在主 pom.xml 中添加用户模块 han-note-user作为子模块
- 修改 SaToken 配置,调整登录和登出接口路径白名单
- 移除 UserController 中的 @RequestMapping("/user") 注解- 修改 UserDO 中“小哈书号”为“小憨书号”以保持命名一致性
2025-10-04 14:56:33 +08:00
Hanserwei
0d71d8e209 feat(oss): 增加对象存储模块并支持多种存储策略
- 新增对象存储服务模块 `han-note-oss`,集成 Rustfs、阿里云 OSS 及腾讯云 Cos 存储
- 提供统一的 `FileStrategy` 接口及 `FileStrategyFactory` 工厂类,根据存储类型动态选择存储策略
- 实现阿里云 OSS、腾讯云 Cos 和 Rustfs 具体存储逻辑
- 增加文件上传接口 `FileController`,支持接收文件并返回访问路径
- 完成用户密码更新接口,使用`spring.security`对密码进行加密
2025-10-03 17:52:25 +08:00
Hanserwei
5c406b48f9 feat(context): 新增业务上下文组件并迁移相关功能
- 创建 `hanserwei-spring-boot-starter-biz-context` 模块,封装为starter供其余模块使用
- 迁移 `HeaderUserId2ContextFilter` 和 `LoginUserContextHolder` 到Starter
- 使用 `TransmittableThreadLocal` 替代普通 `ThreadLocal`
- 在 `han-note-auth` 中引入新的上下文组件依赖
- 调整包结构和日志输出格式
- 异步任务中验证上下文传递功能正常工作
2025-10-02 23:23:47 +08:00
Hanserwei
4c6a08438a feat(gateway): 新增网关服务及权限认证功能
- 新增网关服务模块 han-note-gateway,包含基础配置和启动类
- 实现全局过滤器 AddUserId2HeaderFilter,自动将用户ID添加到请求头(目前有问题)
- 配置 Sa-Token 权限认证,支持 JWT 格式的 Token 解析和鉴权
- 新增全局异常处理器 GlobalExceptionHandler,统一处理未登录和权限不足异常
- 实现 StpInterfaceImpl 接口,从 Redis 获取用户角色和权限信息- 配置 RedisTemplate 支持 JSON 序列化,用于存储用户角色和权限数据
- 在 auth 服务中增加登出接口,支持用户退出登录(待完成)
- 引入 Nacos 配置中心和注册中心依赖,支持配置动态刷新和服务发现
- 更新 Redis Key 构造方式,使用 userId 和 roleKey 替代 email 和 roleId
- 新增告警模块,支持邮件和短信告警方式的配置与切换
-优化角色权限同步逻辑,使用角色 Key 替代角色 ID 存储权限信息
- 添加 bootstrap.yml 配置文件,支持从 Nacos 读取配置
2025-10-02 21:46:05 +08:00
Hanserwei
d2c76be3b8 han-note项目初始化完毕!
- 注册登录接口,开发40%
2025-09-30 16:48:48 +08:00
Hanserwei
765a1a7e4f han-note项目初始化完毕!
- 邮箱验证码接口完成
2025-09-30 15:36:31 +08:00
Hanserwei
fe12d54c92 han-note项目初始化完毕!
- 整合完毕MyBatis-Plus
- 整合Druid数据库链接池
- 自定义两个Starter,业务日志打印Starter和自定义Jackson配置类,支持Java8的LocalTime等API
- 整合 flatten-maven-plugin 插件:解决子模块单独打包失败问题
2025-09-28 14:42:39 +08:00