Files
patbond-api/patbond-user
lixi 6d47c5a2b6
CI / backend-test (push) Failing after 1m31s
feat: 埋点接收端落地——V2 迁移 + POST /api/v1/events 批量上报(报告 13)
- Flyway V2:platform.product_events(客户端 UUIDv7 主键即幂等键,user_id 不设外键,client_ts 合理性约束,三索引),DDL 照报告 13 §2.2
- POST /api/v1/events(报告 13 §1 OpenAPI):批量 1-50 条、202 逐条结果(accepted/duplicate/rejected)、eventId ON CONFLICT 去重、字典 v1 白名单(11 个 auth_* + 工单增补 page_viewed/health_record_action)、字典外 props 剥离计数、隐私红线字段整条拒绝(forbidden_field)、认证请求 userId 与 token subject 不一致拒绝(identity_mismatch)
- BearerAuthFilter 对 /api/v1/events 改为可选鉴权(规范:唯一允许匿名的写端点;带 token 仍严格验签 401/40101)
- 日志红线:props 内容不落日志(仅计数与字段名告警)
- 门禁:./mvnw clean test → BUILD SUCCESS,82 测试 0 失败(新增 AnalyticsIntegrationTest 7 例:V2 生效/匿名落库/未知事件拒绝/去重/剥离/红线拒绝/参数 40000)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-04 17:09:00 +08:00
..