-- 实时转写接口继承现有“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;