完善公共基础接入与全局审计闭环

This commit is contained in:
2026-07-23 19:10:30 +09:00
parent 17782d5f8e
commit 7e0171a8b4
32 changed files with 295 additions and 26 deletions

View File

@@ -0,0 +1,49 @@
# 公共技术基础前端即时接口交接
## 禅道归属
现在需要前端处理的内容统一填写到技术用户需求“七月迭代公共开发基础”下的研发需求:
`[FE][TECH] 七月迭代公共状态与异步任务交互`
不要把本次改动拆到全局审计或各业务需求下。支付方式与系统配置页面仍归 UR#48;全局审计中心页面归“全局多视角审计”技术用户需求。
## 现在需要调整的接口
### GET /api/admin/export-tasks
变更类型:兼容性新增字段,原字段不删除、不改名。
每条任务新增或统一以下字段:
| 字段 | 含义 | 前端用途 |
|---|---|---|
| `task_id` | 稳定任务标识 | 保存并用于恢复任务查询 |
| `total_count` | 总条数 | 展示整体进度 |
| `success_count` | 成功条数 | 展示成功结果 |
| `failed_count` | 失败条数 | 展示失败结果 |
| `error_code` | 稳定错误码 | 决定错误类型,不直接展示底层错误 |
| `error_summary` | 安全中文错误摘要 | 展示任务失败原因 |
| `updated_at` | 最近更新时间 | 判断任务是否仍有进展 |
### GET /api/admin/export-tasks/{id}
变更类型:兼容性新增字段,原字段不删除、不改名。
任务详情新增或统一 `task_id``total_count``success_count``failed_count``error_code``error_summary``updated_at`,字段语义与列表一致。
## 页面与业务逻辑调整
- 所有异步任务统一使用五态:`1=待处理、2=处理中、3=已完成、4=已失败、5=已取消`
- “部分成功”不是新的状态。只要任务执行结束,状态就是已完成,页面通过总数、成功数、失败数表达部分成功。
- 创建任务成功后保存 `task_id`;刷新页面或重新进入页面时查询原任务,不得再次创建任务。
- 待处理和处理中按 2 秒、3 秒、5 秒递增轮询,之后最长保持 10 秒;进入终态立即停止。
- 页面不可见时暂停轮询,恢复可见后立即刷新一次。
- 403 显示无权限且不自动重试;瞬时失败保留已有数据和用户输入,并提供明确重试入口。
- 任务失败优先展示 `error_summary`;不要把 `error_code` 或底层技术错误直接作为用户文案。
## 现在不需要调整的内容
`GET /api/admin/system-configs``PUT /api/admin/system-configs/{key}` 当前只是公共受控配置接缝不代表前端现在要新增系统配置页面。UR#48 注册正式支付配置 Key、全局审计正式 Adapter 接入并通过发布门禁后,再按 UR#48 的页面范围联调。
Outbox 监控和人工恢复也不在本次前端范围内;公共基础只提供后端运维接缝,未来如需运营页面必须另行评审。

View File

@@ -60,10 +60,12 @@ Access Log 对 query、请求 JSON 和响应 JSON 复用大小写不敏感的递
- 异步任务所有者:保留业务任务表和失败明细,把公共五态投影到 API并采用租约或等价 PostgreSQL 恢复事实。
- 发布负责人:运行前后置门禁,确认 Relay、消费者、监控和前端依次就绪后再放量。
## 待决策
## 已登记的后续闭环
- Audit Event 公共实现完成后,需要在系统配置更新和 Outbox 人工恢复的组合根注入正式审计 Adapter
- 各下游 PRD 需要分别确认事件类型、载荷版本、消费者幂等键、业务失败明细和通知策略;公共基础不预先注册这些内容
- 生产阈值需结合容量基线确定待投递年龄、积压量、过期租约比例和成功率告警值;当前公共 Query 提供指标与阈值计算接缝,不固化业务容量数字
- 系统配置更新的正式审计 Adapter 由[全局审计 20 号票](../../.scratch/tech-global-audit/issues/20-system-config-audit-adapter.md)接入Outbox 人工恢复由[全局审计 21 号票](../../.scratch/tech-global-audit/issues/21-outbox-recovery-audit-adapter.md)接入,并统一由[全局审计 19 号发布门禁](../../.scratch/tech-global-audit/issues/19-one-time-audit-cutover-gate.md)验证;不再作为无负责人的待决策项
- 各下游 PRD 必须在自己的最终发布门禁中确认事件类型、载荷版本、消费者幂等键、业务失败明细和通知策略,并引用具体公共票;[INT-08](../7月迭代/7月迭代禅道研发需求逐条录入稿.md#int-08-全链路与停机发布验收) 汇总检查,公共基础仍不猜测业务事件定义
- Outbox 待投递年龄、积压量、过期租约比例和成功率的生产告警值由发布负责人依据容量基线填写到 INT-08 发布清单。没有数值、负责人和验证记录时不得放量
前端现在需要处理的接口字段与页面规则见[前端即时接口交接](前端即时接口交接.md)。
只有真实 PostgreSQL、Redis、Asynq、Fiber 接缝测试、全量 Go 测试和累计差异评审全部通过后,才可把本基础标记为可供下游接入。