余尚辉 4 달 전
부모
커밋
76a02023d9
3개의 변경된 파일9개의 추가작업 그리고 9개의 파일을 삭제
  1. 1 1
      Dockerfile
  2. 2 2
      src/core/callcenter/agent.py
  3. 6 6
      src/core/callcenter/esl/handler/channel_hangup_handler.py

+ 1 - 1
Dockerfile

@@ -13,7 +13,7 @@ RUN cd /code/pjproject/pjsip-apps/src/swig/python && make && make install
 # pyESL
 RUN cd /code/python-ESL-1.4.18 && python setup.py install
 # nls
-RUN cd /code/alibabacloud-nls-python-sdk-dev && python -m pip install -r requirements.txt && python -m pip install .
+RUN cd /code/alibabacloud-nls-python-sdk-dev && python -m pip install . -r requirements.txt --no-cache-dir
 # 安装项目依赖
 RUN pip install -r requirements.txt
 

+ 2 - 2
src/core/callcenter/agent.py

@@ -148,7 +148,7 @@ class AgentEventService:
 
                 self.agent_actionlog_service.insert_service_state(agent_monitor, AgentServiceState.REPROCESSING, AgentLogState.CHANNEL_HANG_UP)
 
-                self.data_handle_server.update_record(call_id, time_end=datetime.now())
+                # self.data_handle_server.update_record(call_id, time_end=datetime.now())
 
                 # 同步处理后处理置闲
                 # reprocessingIdle(statusDto);
@@ -222,7 +222,7 @@ class AgentEventService:
 
                 self.agent_actionlog_service.insert_service_state(agent_monitor, AgentServiceState.REPROCESSING,
                                                       AgentLogState.CHANNEL_HANG_UP, service_id=human_service_id)
-                self.data_handle_server.update_record(call_id, time_end=datetime.now())
+                # self.data_handle_server.update_record(call_id, time_end=datetime.now())
 
 
         except:

+ 6 - 6
src/core/callcenter/esl/handler/channel_hangup_handler.py

@@ -131,18 +131,18 @@ class ChannelHangupHandler(EslEventHandler):
             records.append(value.record) if value.record else None
         self.logger.info("get_call_info_record: %s", records)
         if records:
-           merge_record= self.merge_audio_files(records)
-           threading.Thread(target=self._update_record_in_thread, args=(call_info.session_id, merge_record)).start()
+           merge_record= self.merge_audio_files(records) if len(records) > 1 else records[0]
+           threading.Thread(target=self._update_record_in_thread, args=(call_info.call_id, merge_record)).start()
         else:
             self.logger.warning("没有找到有效的录音文件")
 
-    def _update_record_in_thread(self, session_id, merge_record):
+    def _update_record_in_thread(self, call_id, merge_record):
         """用于在独立线程中执行 update_record"""
         try:
-            self.dataHandleServer.update_record(session_id, record=merge_record)
-            self.logger.info("更新录音记录完成: session_id=%s", session_id)
+            self.dataHandleServer.update_record(call_id, time_end=datetime.now(), record=merge_record)
+            self.logger.info("更新录音记录完成: call_id=%s", call_id)
         except Exception as e:
-            self.logger.error("更新录音记录失败: session_id=%s, error=%s", session_id, str(e))
+            self.logger.error("更新录音记录失败: call_id=%s, error=%s", call_id, str(e))
     def merge_audio_files(self,audio_files):
         if not audio_files:
             self.logger.info("没有可合并的音频文件")