All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m18s
2.4 KiB
2.4 KiB
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: 新增手动触发服务字段和异步触发 goroutineinternal/service/polling/manual_trigger_service.go: 修复去重 TTL(1h→24h,3处 daily limit 100→500),优化权限检查internal/bootstrap/handlers.go: 更新 ClientRealnameHandler 依赖注入,传入 ManualTriggerServicepkg/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%+
- 手动触发功能更稳定,运维排查问题更便利