-- ========================================================================= -- 热修复:lock_auth.status 为 NULL 导致授权补偿永远捞不到 -- -- 现象:批量下发两条人脸授权时,第二条被同网关串行闸门正确排队(sync_status=0), -- 但补偿任务每 5 秒查 selectPendingAuths 都是 0 行,这笔授权一直不下发。 -- -- 原因:授权表单没有状态项,insertAuth 的 SQL 显式列出 status 列并写入 NULL, -- 列默认值 '0' 不生效;而 selectPendingAuths 条件为 status='0'。 -- -- 代码侧已修:insertAuth 缺省时补 '0',查询侧把 NULL 视为正常。 -- 本脚本只修存量数据,可重复执行。 -- ========================================================================= update lock_auth set status = '0' where status is null; -- 核对:应为 0 select count(*) as null_status_auth from lock_auth where status is null;