fix(idcard-scan): 反查时现场 validate,避免大小写/collation 漏匹配导致误标「不合规」
- 问题:MySQL DISTINCT/IN 按 collation 比较(utf8mb4_unicode_ci 不区分 大小写),但 Python dict 区分大小写。如果数据库真实存的是大写 X 但 distinct 返回小写 x,bad_reasons 里只有小写的 key,反查拿到大写 X 的行就查不到 key,错误地标 '不合规'。 - 例子:'42112319760324521X'(合规)+ '42112319760324521x'(CHARSET 违规)共存时,大写 X 那行被错误标 '不合规',且原因不明确。 - 修复:去掉 bad_reasons 缓存查询,对每行现场 validate —— 合规行直接 丢弃,违规行给出准确原因。出现丢弃时打 INFO 日志方便排查。
Showing
Please register or sign in to comment