This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
## 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%+
|
||||
- 手动触发功能更稳定,运维排查问题更便利
|
||||
Reference in New Issue
Block a user