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:
Your Name
2026-03-02 13:31:54 +08:00
parent 32d6449ea4
commit 91a0b77f7a
2272 changed files with 221995 additions and 503 deletions

View File

@@ -1,7 +1,7 @@
# 产品需求文档 (PRD) - “蚊子”传播系统
**版本**: 1.2 (已优化)
**日期**: 2025年9月27
**版本**: 1.3 (已优化)
**日期**: 2026年2月6
---
@@ -72,6 +72,16 @@
| **作为系统**,需要能初步识别和拦截刷单行为,以保证活动的公平性和数据准确性。 | 1. 基于IP、设备指纹等信息进行基础的防刷校验。<br>2. 对回调API进行速率限制和来源IP校验。 | **高** |
| **作为系统**,需要能自动完成奖励发放,以降低运营成本和提升用户体验。 | 1. 可通过API与内部账户系统打通完成积分/优惠券发放。 | **中** |
### 6.5. 管理后台Admin 前端演示版)
| 用户故事 | 验收标准 | 优先级 |
| :--- | :--- | :--- |
| **作为管理员**,我希望管理后台具备演示模式,以便在无后端的情况下预览全流程。 | 1. 提供“一键登录(演示管理员)”。<br>2. 未登录自动进入演示模式。<br>3. 演示数据不依赖后端。 | **高** |
| **作为管理员**,我希望后台支持角色权限与审批流,以便控制权限变更风险。 | 1. 角色分为管理员/运营/只读。<br>2. 角色变更需提交审批并记录结果。<br>3. 操作进入审计日志。 | **高** |
| **作为运营**,我希望在后台完成活动全流程闭环,以便提升执行效率。 | 1. 支持创建→配置→上线/暂停/下线。<br>2. 展示活动指标与榜单预览。<br>3. 支持导出活动摘要与明细。 | **高** |
| **作为管理员**,我希望列表支持搜索/筛选/分页/批量操作,以提升日常操作效率。 | 1. 支持名称/状态/时间范围筛选。<br>2. 批量启用/禁用/发放/审批等操作。 | **高** |
| **作为管理员**,我希望可以查看审计日志与通知中心,以便追踪关键操作与异常。 | 1. 审计日志可搜索、导出。<br>2. 通知支持筛选与批量已读。 | **中** |
| **作为管理员**,我希望在后台查看活动邀请用户列表,以便分析邀请效果。 | 1. 支持按活动选择查看邀请用户。<br>2. 支持从后端接口拉取数据。 | **中** |
***技术流程说明***: *第三方注册回调的数据流如下:*
1. *用户A从“蚊子”系统获取邀请链接链接中包含唯一追踪ID (如 `tracking_id=xyz`)。*
2. *用户B点击链接访问“蚊子”服务器。“蚊子”系统记录点击事件和`tracking_id`然后将用户重定向到第三方应用的目标页面并在URL参数中带上`tracking_id`。*
@@ -83,6 +93,7 @@
- **IN SCOPE (范围内)**:
- SaaS后台管理功能。
- **(新增)** Admin 前端演示模式RBAC/审批/审计/批量操作)。
- 标准化的用户端邀请页面。
- **(新增)** 用于确认注册成功的服务端回调API (Server-to-Server Callback API)。
- 支持积分、优惠券两种奖励类型。
@@ -92,6 +103,7 @@
- **A/B 测试框架**活动级别的A/B测试将在后续版本考虑。
- **与外部CRM/MA工具的深度集成**V1.0仅支持数据导出。
- **客户端SDK**: V1.0不提供嵌入App的SDK通过H5页面承载。
- **(新增)** Admin 真实鉴权与后端权限校验(当前仅前端演示)。
## 8. 风险与假设 (Risks and Assumptions)
@@ -112,6 +124,7 @@
- **安全性**: 保护用户数据隐私防止数据泄露所有关键操作需有不可篡改的日志记录对外开放的API必须有可靠的认证和授权机制。
- **易用性**: 管理后台应做到“无代码”配置运营人员通过引导式表单即可完成90%的配置工作。
- **(新增)** **文档完备性**: 必须提供清晰、准确、对开发者友好的API文档包含代码示例。
- **(新增)** **可演示性**: Admin 前端在无后端时可完整演示流程,避免空白页或崩溃。
## 10. 成功指标 (Success Metrics)
@@ -126,6 +139,27 @@
- **A/B 测试框架**: 支持对活动文案、奖励机制进行分组测试,科学优化转化率。
- **更多奖励类型**: 引入实物、话费、现金等更多奖励选项。
- **与社交平台集成**: 优化在微信、微博等平台的分享体验。
- **Admin 真实鉴权与权限中心**: 接入统一登录与后端权限校验。
## 安全与运维
- 缓存失效管理
- 管理令牌:所有缓存失效接口需通过 `X-Admin-Token` 传入,服务端读取 `app.cache.admin-token` 进行校验。
- 限流:对缓存失效接口按 IP 进行限流(默认每分钟 60 次,可通过 `app.cache.rate-limit-per-minute` 配置)。
- 审计:对缓存清空与键失效操作记录 token 指纹与来源 IP日志
- API Key 安全
- 生成:仅返回一次明文;服务端使用 PBKDF2 + Salt 存储哈希,并保存 `key_prefix` 便于快速定位。
- 校验:支持两种方式——按 ID 校验(`POST /api/v1/api-keys/{id}/use`)与仅凭明文校验(`POST /api/v1/api-keys/validate`)。成功更新 `last_used_at`;吊销后或错误密钥返回 401 `INVALID_API_KEY`
- 审计字段:`created_at / last_used_at / revoked_at`
- 运行与构建
- 构建与单测:`mvn -B -DskipTests=false clean verify`(集成覆盖率门禁)。
- 运行(开发):`mvn spring-boot:run`;生产建议以 `prod` profile 运行并配置外部 Redis/DB。
- 关键配置:
- `REDIS_HOST / REDIS_PORT`(生产)、`spring.redis.port`(测试嵌入式端口注入)。
- `app.cache.admin-token``app.cache.rate-limit-per-minute`
- 数据源与 Flyway 迁移相关环境变量。
- **Phase 3 (智能化与平台化)**:
- **智能推荐**: 基于用户画像,向最有可能参与活动的用户进行智能推送。
- **与CRM/MA工具深度集成**: 实现用户标签和数据的双向同步。