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:
38
docs/PRD.md
38
docs/PRD.md
@@ -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工具深度集成**: 实现用户标签和数据的双向同步。
|
||||
|
||||
Reference in New Issue
Block a user