test(cache): 修复CacheConfigTest边界值测试
- 修改 shouldVerifyCacheManager_withMaximumIntegerTtl 为 shouldVerifyCacheManager_withMaximumAllowedTtl - 使用正确的最大TTL值(10080分钟,7天)而不是 Integer.MAX_VALUE - 新增 shouldThrowException_whenTtlExceedsMaximum 测试验证边界检查 - 所有1266个测试用例通过 - 覆盖率: 指令81.89%, 行88.48%, 分支51.55% docs: 添加项目状态报告 - 生成 PROJECT_STATUS_REPORT.md 详细记录项目当前状态 - 包含质量指标、已完成功能、待办事项和技术债务
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
- 验证:在 Gitea 中查看流水线执行成功(build+test 通过,产物成功构建)。
|
||||
- 优化:后续按需要加入缓存、制品归档、分支保护与质量门禁。
|
||||
|
||||
## 1) 统一异常处理与错误响应格式
|
||||
## 1) 统一异常处理与错误响应格式(已完成)
|
||||
- 分析:当前仅部分异常带 `@ResponseStatus`,无统一错误结构(code/message/path/timestamp)。
|
||||
- 实施:新增 `GlobalExceptionHandler`(`@ControllerAdvice`),覆盖验证异常、业务异常与兜底异常;定义标准错误响应模型。
|
||||
- 验证:
|
||||
@@ -18,13 +18,13 @@
|
||||
- 示例:`mvn -q -Dtest=*ControllerTest test`。
|
||||
- 优化:记录错误码表到 `docs/api.md`,引入日志关联 ID。
|
||||
|
||||
## 2) 移除 `Thread.sleep` 模拟延迟
|
||||
## 2) 移除 `Thread.sleep` 模拟延迟(已完成)
|
||||
- 分析:`ActivityService#getLeaderboard` 阻塞线程,影响吞吐与可测试性。
|
||||
- 实施:引入 `DelayProvider` 接口并在生产实现为无延迟,测试实现可配置;删除 `Thread.sleep`。
|
||||
- 验证:缓存测试通过且时延显著下降;`ActivityServiceCacheTest` 仍然命中缓存。
|
||||
- 优化:必要时改为异步计算与预热策略。
|
||||
|
||||
## 3) 领域模型与数据库对齐(引入 JPA / Repository)
|
||||
## 3) 领域模型与数据库对齐(引入 JPA / Repository)(进行中)
|
||||
- 分析:领域为内存态,与 Flyway 表(如 JSONB、状态字段)不一致。
|
||||
- 实施:为 `Activity / ApiKey / DailyActivityStats / MultiLevelRewardRule` 增加 JPA 注解与映射;新增 `Repository`;服务改用持久化。
|
||||
- 验证:
|
||||
@@ -32,13 +32,13 @@
|
||||
- 示例:`mvn -q -Dtest=*Jpa* test`。
|
||||
- 优化:实体与 Flyway 迁移保持前滚兼容;引入测试数据工厂。
|
||||
|
||||
## 4) 缓存策略与配置
|
||||
## 4) 缓存策略与配置(部分完成)
|
||||
- 分析:仅使用 `@Cacheable`,缺少 TTL、序列化与命名规范。
|
||||
- 实施:添加 `CacheConfig` 设置默认 TTL(如 5m)、`RedisCacheConfiguration` 与 JSON 序列化;键空间命名统一。
|
||||
- 验证:集成测试校验缓存生效与过期;命中率指标可观测。
|
||||
- 优化:按端点分组 TTL;加入手动失效接口或消息驱动失效。
|
||||
|
||||
## 5) API Key 安全增强
|
||||
## 5) API Key 安全增强(部分完成)
|
||||
- 分析:当前为 `UUID + salt + SHA-256`;建议 KDF(BCrypt/Argon2)并完善审计。
|
||||
- 实施:引入 `BCryptPasswordEncoder` 存储哈希,新增校验与轮换逻辑,记录 `last_used_at` 更新。
|
||||
- 验证:
|
||||
|
||||
Reference in New Issue
Block a user