96 lines
4.3 KiB
SQL
96 lines
4.3 KiB
SQL
-- =============================================================================
|
||
-- 34 值班台测试前置数据(R5 / 应用端/17)
|
||
--
|
||
-- 两件事:
|
||
-- ① SIP 服务器(AMI)配置落库:地址 / 端口 / 用户名 / 口令引用 / 号码段。
|
||
-- **口令不落库**:`ami_secret_ref` 只存环境变量名,实际口令由部署环境注入
|
||
-- (21_ami_instance.sql 已断言「口令不落明文」,此处不改口径)。
|
||
-- 本机联调请在 `dev/.env` 或 IDEA 运行配置里设置:
|
||
-- APT_AMI_SECRET=<AMI 口令>
|
||
-- ② 为「系统内人员」补齐一条 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);
|