-- ============================================================================= -- 34 值班台测试前置数据(R5 / 应用端/17) -- -- 两件事: -- ① SIP 服务器(AMI)配置落库:地址 / 端口 / 用户名 / 口令引用 / 号码段。 -- **口令不落库**:`ami_secret_ref` 只存环境变量名,实际口令由部署环境注入 -- (21_ami_instance.sql 已断言「口令不落明文」,此处不改口径)。 -- 本机联调请在 `dev/.env` 或 IDEA 运行配置里设置: -- APT_AMI_SECRET= -- ② 为「系统内人员」补齐一条 CONFIRMED 人脸注册记录: -- 入住申请(N-40)在服务层强制校验「人脸注册已获值班员确认」, -- 没有这条记录时任何入住都会被 40922 拒绝,叫乘链路无从验证。 -- 这里只是把前置台账补齐,不绕过任何服务层校验。 -- ============================================================================= SET NAMES utf8mb4; SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'; USE apt_rev01; -- --------------------------------------------------------------------------- -- ① AMI / SIP 服务器配置(一公寓一实例,uk_astinstance_gyid) -- --------------------------------------------------------------------------- UPDATE apt_ast_instance SET ami_host = '192.168.1.179', ami_port = 7058, ami_user = 'manager01', ami_secret_ref = 'APT_AMI_SECRET', ext_pool_from = '1010', ext_pool_to = '1050', enabled = 1, biz_version = biz_version + 1 WHERE gyid = 'APT-REV01-001' AND deleted = 0; -- 若该 gyid 尚无实例行则补一条(同一公寓只允许一条) INSERT INTO apt_ast_instance (gyid, instance_code, ami_host, ami_port, ami_user, ami_secret_ref, tls_enabled, channel_tech, state, enabled, biz_version, ext_pool_from, ext_pool_to, deleted) SELECT 'APT-REV01-001', 'AST-REV01-001', '192.168.1.179', 7058, 'manager01', 'APT_AMI_SECRET', 0, 'PJSIP', 'DISABLED', 1, 1, '1010', '1050', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM apt_ast_instance WHERE gyid = 'APT-REV01-001'); -- --------------------------------------------------------------------------- -- ② 人脸注册确认台账(仅为缺记录的人员补一条,幂等) -- --------------------------------------------------------------------------- INSERT INTO apt_person_face_reg (gyid, reg_id, work_no, name, unit_code, face_feature_ref, feature_version, person_category, reg_state, local_only, verdict, confirmed_ryid, confirmed_by, confirmed_at, upload_state, dispatch_state, report_state, face_sync_state, platform_version, occurred_at, created_at) SELECT p.gyid, CONCAT('REG-TEST-', p.ryid), p.work_no, p.xm, NULL, CONCAT('test://feature/', p.ryid), COALESCE(p.feature_version, 1), COALESCE(p.person_category, 'TRANSIENT'), 'CONFIRMED', 1, 'ACCEPTED', p.ryid, 'LOCAL-SEED', NOW(3), 'PENDING', 'PENDING', 'PENDING', 'SYNCED', 1, NOW(3), NOW(3) FROM apt_master_person p WHERE p.gyid = 'APT-REV01-001' AND COALESCE(p.deleted, 0) = 0 AND NOT EXISTS ( SELECT 1 FROM apt_person_face_reg r WHERE r.gyid = p.gyid AND r.reg_state = 'CONFIRMED' AND r.confirmed_ryid = p.ryid); -- --------------------------------------------------------------------------- -- 自检 -- --------------------------------------------------------------------------- SELECT '=== 34. AMI 配置(口令只显示引用名)===' AS section; SELECT ami_host, ami_port, ami_user, ami_secret_ref, ext_pool_from, ext_pool_to, enabled, state FROM apt_ast_instance WHERE gyid = 'APT-REV01-001'; SELECT '=== 34. 可办理入住的人员数(有 CONFIRMED 注册且当前未在住)===' AS section; SELECT COUNT(*) AS candidate_person FROM apt_master_person p WHERE p.gyid = 'APT-REV01-001' AND COALESCE(p.deleted, 0) = 0 AND EXISTS (SELECT 1 FROM apt_person_face_reg r WHERE r.gyid = p.gyid AND r.reg_state = 'CONFIRMED' AND r.confirmed_ryid = p.ryid) AND NOT EXISTS (SELECT 1 FROM gy_jcxx j WHERE j.gyid = p.gyid AND j.ryid = p.ryid AND j.deleted = 0 AND j.finish_ly = '0' AND j.sjlysj IS NULL);