## Why 用户在C端主动获取实名跳转链接后,需要等待轮询系统的定时检查(通常30秒-5分钟间隔)才能检测到实名状态变化,导致用户实名完成后仍需等待较长时间才能正常使用卡片功能,严重影响用户体验。同时,现有轮询系统的手动触发功能存在去重机制时间不对齐、频次限制设置不合理等技术问题,需要一并修复以确保功能的稳定性和可靠性。 ## What Changes - **新增C端实名跳转自动触发功能**:在用户获取实名链接时自动触发该ICCID的实名检查,提高检测优先级 - **修复手动触发去重机制**:解决去重key 1小时过期与日限制按天计算的时间不对齐问题 - **优化手动触发频次限制**:调整每日100次限制到更合理的水平(建议500次),避免正常使用受限 - **简化权限检查逻辑**:合并冗余的权限检查函数,减少代码重复 - **改进错误处理和日志**:增强手动触发的异常处理和追踪能力 - **增强系统集成**:在客户端实名Handler中集成手动触发服务调用 ## Capabilities ### New Capabilities - `client-realname-auto-trigger`: 客户端实名跳转自动触发实名检查优先级提升功能 - `polling-manual-trigger`: 手动触发功能的 bug 修复和优化改进(为该能力补充 live spec,原 spec 仅存于 archive) ## Impact **代码影响**: - `internal/handler/app/client_realname.go`: 新增手动触发服务字段和异步触发 goroutine - `internal/service/polling/manual_trigger_service.go`: 修复去重 TTL(1h→24h,**3处** daily limit 100→500),优化权限检查 - `internal/bootstrap/handlers.go`: 更新 ClientRealnameHandler 依赖注入,传入 ManualTriggerService - `pkg/constants/redis.go`: 同步更新 RedisPollingManualDedupeKey 注释中的过期时间说明 - `cmd/api/docs.go` / `cmd/gendocs/main.go`: 同步更新 NewClientRealnameHandler 调用参数 **API影响**: - 无新增API,现有API响应时间无变化 - 手动触发相关API的错误处理优化 **数据库影响**: - 无表结构变更 - `tb_polling_manual_trigger_log` 记录量可能轻微增加 **性能影响**: - 客户端实名接口增加异步调用,对响应时间影响 < 5ms - Redis操作增加,但通过优化去重机制整体性能提升 **运维影响**: - 实名同步延迟显著减少,用户投诉预计减少80%+ - 手动触发功能更稳定,运维排查问题更便利