Skip to main content

CardNumResolver

Type Alias CardNumResolver 

Source
pub type CardNumResolver = Arc<dyn Fn(&str) -> Vec<u64> + Send + Sync>;
Expand description

v1.4.105 D12 (Phase 2): card_num → acc_ids 解析器.

opend 启动时注入 closure, 捕获 bridge.caches.trd_cache Arc, 调 find_acc_ids_by_card_num(input) -> Vec<u64>. REST trade handler 在 dispatch 前用此解析 user 传的 card_num 字段(4 位末尾 / 16 位完整)→ acc_id, 写 进 c2s.header.acc_id. 和 AdminStatusProvider 同 pattern —— 避免 futu-rest 反向依赖 futu-cache / futu-gateway.

行为契约 (与 TrdCache::find_acc_ids_by_card_num 等价):

  • input 必须 4 位 / 16 位纯数字 (caller 应已 validate, 此处不 validate)
  • 0 match → empty Vec (caller 决定 reject)
  • 多 match → 多 acc_id Vec (caller 决定 reject ambiguous)
  • 1 match → 单 acc_id Vec

Aliased Type§

pub struct CardNumResolver { /* private fields */ }