90 lines
3.1 KiB
SQL
90 lines
3.1 KiB
SQL
-- 实时转写接口继承现有“1v1通话”权限,避免未注册 action 被默认放行。
|
|
|
|
START TRANSACTION;
|
|
|
|
SET @video_call_menu_id := (
|
|
SELECT `id`
|
|
FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/video-call'
|
|
ORDER BY `id`
|
|
LIMIT 1
|
|
);
|
|
|
|
INSERT INTO `zyt_system_menu` (
|
|
`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`,
|
|
`selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`
|
|
)
|
|
SELECT @video_call_menu_id, 'A', '启动通话转写', '', 1,
|
|
'tcm.diagnosis/startCallTranscription', '', '', '', '', 0, 1, 0,
|
|
UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
|
FROM DUAL
|
|
WHERE @video_call_menu_id IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/startCallTranscription'
|
|
);
|
|
|
|
INSERT INTO `zyt_system_menu` (
|
|
`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`,
|
|
`selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`
|
|
)
|
|
SELECT @video_call_menu_id, 'A', '保存通话转写分段', '', 2,
|
|
'tcm.diagnosis/upsertCallTranscriptSegments', '', '', '', '', 0, 1, 0,
|
|
UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
|
FROM DUAL
|
|
WHERE @video_call_menu_id IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/upsertCallTranscriptSegments'
|
|
);
|
|
|
|
INSERT INTO `zyt_system_menu` (
|
|
`pid`, `type`, `name`, `icon`, `sort`, `perms`, `paths`, `component`,
|
|
`selected`, `params`, `is_cache`, `is_show`, `is_disable`, `create_time`, `update_time`
|
|
)
|
|
SELECT @video_call_menu_id, 'A', '完成通话转写', '', 3,
|
|
'tcm.diagnosis/finishCallTranscription', '', '', '', '', 0, 1, 0,
|
|
UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
|
FROM DUAL
|
|
WHERE @video_call_menu_id IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/finishCallTranscription'
|
|
);
|
|
|
|
SET @transcription_start_menu_id := (
|
|
SELECT `id` FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/startCallTranscription'
|
|
ORDER BY `id` LIMIT 1
|
|
);
|
|
SET @transcription_segment_menu_id := (
|
|
SELECT `id` FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/upsertCallTranscriptSegments'
|
|
ORDER BY `id` LIMIT 1
|
|
);
|
|
SET @transcription_finish_menu_id := (
|
|
SELECT `id` FROM `zyt_system_menu`
|
|
WHERE `perms` = 'tcm.diagnosis/finishCallTranscription'
|
|
ORDER BY `id` LIMIT 1
|
|
);
|
|
|
|
INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`)
|
|
SELECT `role_id`, @transcription_start_menu_id
|
|
FROM `zyt_system_role_menu`
|
|
WHERE `menu_id` = @video_call_menu_id
|
|
AND @transcription_start_menu_id IS NOT NULL;
|
|
|
|
INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`)
|
|
SELECT `role_id`, @transcription_segment_menu_id
|
|
FROM `zyt_system_role_menu`
|
|
WHERE `menu_id` = @video_call_menu_id
|
|
AND @transcription_segment_menu_id IS NOT NULL;
|
|
|
|
INSERT IGNORE INTO `zyt_system_role_menu` (`role_id`, `menu_id`)
|
|
SELECT `role_id`, @transcription_finish_menu_id
|
|
FROM `zyt_system_role_menu`
|
|
WHERE `menu_id` = @video_call_menu_id
|
|
AND @transcription_finish_menu_id IS NOT NULL;
|
|
|
|
COMMIT;
|