From d100657dacb25df91013ef25432620e6ae10d1f8 Mon Sep 17 00:00:00 2001
From: shimai <shimai@example.com>
Date: Thu, 09 Apr 2026 16:56:44 +0800
Subject: [PATCH] feat:增加白云案件类案数据

---
 web-app/src/services/OutboundBotAPIService.js |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/web-app/src/services/OutboundBotAPIService.js b/web-app/src/services/OutboundBotAPIService.js
index e1880b8..b181d6b 100644
--- a/web-app/src/services/OutboundBotAPIService.js
+++ b/web-app/src/services/OutboundBotAPIService.js
@@ -27,8 +27,8 @@
    * 获取通话录音接口
    * GET /api/v1/outbound-bot/conversation-log
    * @param {Object} params - 查询参数
-   * @param {string} params.caseRef - 案件引用ID
-   * @param {string} params.phoneNumber - 电话号码
+   * @param {string} params.caseId - 案件ID
+   * @param {string} params.personId - 当事人ID
    * @param {string} params.jobId - 工作ID
    * @returns {Promise} 通话记录
    */
@@ -48,6 +48,52 @@
   static getCallStatus(params = {}) {
     return request.get('/api/v1/outbound-bot/status', params);
   }
+
+  /**
+   * 更新呼叫状态
+   * POST /api/v1/outbound-bot/update-status
+   * @param {Object} data - 请求数据
+   * @param {string} data.jobId - 工作ID
+   * @param {string} data.callStatus - 外呼状态
+   * @returns {Promise} 状态更新结果
+   */
+  static updateCallStatus(data) {
+    return request.post('/api/v1/outbound-bot/update-status', data);
+  }
+
+  static syncStatusByCase(data) {
+    return request.post('/api/v1/outbound-bot/sync-status-by-case', data);
+  }
+
+  static backfillConversationByCase(data) {
+    return request.post('/api/v1/outbound-bot/backfill-conversation-by-case', data);
+  }
+
+  /**
+   * 获取通话录音文件
+   * GET /api/v1/outbound-bot/file-play
+   * @param {string} recordUrl - 录音文件相对路径
+   * @returns {Promise} 音频文件Blob
+   */
+  static async getAudioFile(recordUrl) {
+    try {
+      const response = await request.get('/api/v1/outbound-bot/file-play', {
+        recordUrl
+      }, {
+        responseType: 'blob',
+        headers: {
+          'Content-Type': 'audio/wav',
+          'Content-Disposition': 'inline'
+        }
+      });
+      
+      // axios返回的是response对象,blob在response.data中
+      return response.data;
+    } catch (error) {
+      console.error('获取录音文件失败:', error);
+      throw error;
+    }
+  }
 }
 
-export default OutboundBotAPIService;
\ No newline at end of file
+export default OutboundBotAPIService;

--
Gitblit v1.8.0