Files
junhong_cmp_fiber/openspec/specs/client-realname-auto-trigger/spec.md
huang 7308afe801
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m18s
归档
2026-04-13 15:03:02 +08:00

65 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Capability: 客户端实名跳转自动触发实名检查优先级提升功能
## ADDED Requirements
### Requirement: 客户端实名跳转自动触发实名检查
系统 SHALL 在用户成功获取实名跳转链接时自动触发该ICCID的实名状态检查提高检测优先级。
#### Scenario: 用户主动获取实名链接时自动触发优先级检查
- **WHEN** 个人客户调用 `GET /api/c/v1/realname/link` 接口成功获取实名链接
- **THEN** 系统自动将该ICCID加入实名检查的高优先级队列无需等待定时轮询
#### Scenario: 自动触发失败不影响主流程
- **WHEN** 个人客户调用实名链接接口,但自动触发实名检查失败
- **THEN** 系统仍正常返回实名链接,不因触发失败而阻断用户操作
#### Scenario: 异步处理不影响响应时间
- **WHEN** 个人客户调用实名链接接口
- **THEN** 系统异步执行实名检查触发主接口响应时间增加不超过5ms
### Requirement: 自动触发的权限适配
系统 SHALL 使用系统用户身份执行自动触发操作,绕过个人客户的权限限制。
#### Scenario: 个人客户无权限但能触发检查
- **WHEN** 个人客户获取实名链接(个人客户本身无手动触发权限)
- **THEN** 系统使用配置的系统用户身份自动触发成功将ICCID加入优先级队列
#### Scenario: 系统用户身份操作记录
- **WHEN** 系统使用系统用户身份执行自动触发
- **THEN** 系统在 `tb_polling_manual_trigger_log` 表中记录操作,`triggered_by` 字段记录系统用户ID
### Requirement: 自动触发的错误处理和日志
系统 SHALL 提供完善的错误处理和日志记录机制,确保可观测性。
#### Scenario: 触发失败时记录详细日志
- **WHEN** 自动触发实名检查失败如Redis连接失败、权限错误等
- **THEN** 系统记录包含客户ID、ICCID、错误原因的详细日志级别为WARN
#### Scenario: 触发成功时记录操作日志
- **WHEN** 自动触发实名检查成功
- **THEN** 系统记录包含客户ID、ICCID的INFO级别日志便于运维追踪
### Requirement: 配置管理和灵活性
系统 SHALL 支持通过配置管理自动触发功能的关键参数。
#### Scenario: 系统用户ID配置
- **WHEN** 系统初始化或配置更新时
- **THEN** 系统从环境变量 `JUNHONG_AUTO_TRIGGER_SYSTEM_USER_ID` 读取系统用户ID
#### Scenario: 自动触发功能开关
- **WHEN** 需要临时关闭自动触发功能时
- **THEN** 系统支持通过环境变量 `JUNHONG_ENABLE_AUTO_TRIGGER` 控制功能开关(默认开启)