From 36847ea70c1176d484279368e4162dfbfa259819 Mon Sep 17 00:00:00 2001 From: ShengLong <452591453@qq.com> Date: Thu, 7 May 2026 17:36:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=8B=89=E5=8F=96=E8=81=8A?= =?UTF-8?q?=E5=A4=A9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/api/tcm.ts | 5 +++ .../components/ImChatRecordPanel.vue | 42 ++++++++++++++----- .../controller/tcm/DiagnosisController.php | 30 +++++++++++++ .../add_sync_im_chat_archive_crontab.sql | 20 +++++++++ .../add_tcm_im_chat_message_table.sql | 28 +++++++++++++ 5 files changed, 114 insertions(+), 11 deletions(-) create mode 100644 server/sql/1.9.20260507/add_sync_im_chat_archive_crontab.sql create mode 100644 server/sql/1.9.20260507/add_tcm_im_chat_message_table.sql diff --git a/admin/src/api/tcm.ts b/admin/src/api/tcm.ts index 85277648..242e1744 100644 --- a/admin/src/api/tcm.ts +++ b/admin/src/api/tcm.ts @@ -261,6 +261,11 @@ export function getImChatMessages(params: { diagnosis_id: number; only_archived? return request.get({ url: '/tcm.diagnosis/getImChatMessages', params }) } +/** 触发后台异步同步:从腾讯云 IM 拉取诊单聊天记录入归档表,请求即返回 */ +export function triggerImChatSync(data: { diagnosis_id: number }) { + return request.post({ url: '/tcm.diagnosis/triggerImChatSync', data }) +} + // 获取企业微信聊天记录 export function getWechatChatRecords(params: any) { return request.get({ url: '/tcm.diagnosis/getWechatChatRecords', params }) diff --git a/admin/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue b/admin/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue index 27289296..317ae8e0 100644 --- a/admin/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue +++ b/admin/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue @@ -4,14 +4,18 @@
展示单聊记录:已合并患者 与 所有医生 / 医助账号分别产生的会话,按时间排序。 - 数据来自 IM 漫游;若未开通漫游或某账号与该患者无会话,对应侧无消息。 + 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。
@@ -68,8 +72,9 @@