소스 검색

easycall适配调整

lmx 1 주 전
부모
커밋
bc2e2bbce9

+ 1 - 1
fs-ai-call-task/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/home/fs-qw-task/logs" />
+	<property name="log.path" value="/home/fs-ai-call-task/${cidGroupNo}/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 

+ 1 - 1
fs-cid-workflow/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/home/fs-qw-task/logs" />
+	<property name="log.path" value="/home/fs-cid-workflow/${cidGroupNo}/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 

+ 3 - 3
fs-company/src/main/java/com/fs/company/controller/company/CompanyVoiceRoboticController.java

@@ -228,11 +228,11 @@ public class CompanyVoiceRoboticController extends BaseController
     }
 
     @PostMapping("/callerResult4EasyCall")
-    public R callerResult4EasyCall(@RequestBody String cdrStr) {
-        log.info(cdrStr);
+    public String callerResult4EasyCall(@RequestBody String cdrStr) {
+        log.info("callerResult4EasyCall:回调结果:{}",cdrStr);
         CdrDetailVo cdrDetailVo = JSONObject.parseObject(cdrStr, CdrDetailVo.class);
         companyVoiceRoboticService.callerResult4EasyCall(cdrDetailVo);
-        return R.ok();
+        return "success";
     }
     /**
      * 外呼回调

+ 8 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyVoiceRoboticServiceImpl.java

@@ -784,7 +784,13 @@ public class CompanyVoiceRoboticServiceImpl extends ServiceImpl<CompanyVoiceRobo
      * @param result
      */
     @Override
+    @Async("cidWorkFlowExecutor")
     public void callerResult4EasyCall(CdrDetailVo result){
+        try {
+            Thread.sleep(20000L);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
 //        EASYCALL
         log.info("进入easyCall外呼结果回调:{}", JSON.toJSONString(result));
         if(result == null || StringUtils.isBlank(result.getUuid())) return;
@@ -794,6 +800,8 @@ public class CompanyVoiceRoboticServiceImpl extends ServiceImpl<CompanyVoiceRobo
             log.error("easyCall外呼回调信息未查询到结果:{}", JSON.toJSONString(result));
             return;
         }
+        log.info("进入easyCall外呼结果查询结果callPhoneRes:{}", JSON.toJSONString(callPhoneRes));
+        //等待数据信息
         JSONObject bizJson = JSONObject.parseObject(callPhoneRes.getBizJson());
         String cacheString = (String) redisCache2.getCacheObject(EASYCALL_WORKFLOW_REDIS_KEY +  bizJson.getString("callBackUuid"));
         if(StringUtils.isBlank(cacheString)){

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/impl/call/node/AbstractWorkflowNode.java

@@ -200,6 +200,8 @@ public abstract class AbstractWorkflowNode implements IWorkflowNode {
             long durationInMillis = fExecLog.getEndTime().getTime() - fExecLog.getStartTime().getTime();
             fExecLog.setDuration(durationInMillis);
             companyAiWorkflowExecLogMapper.updateById(fExecLog);
+        }else{
+            log.error("未更新到节点状态:context:{},findS:{},targetS:{}",context,findStatus,status);
         }
     }
 

+ 3 - 3
fs-service/src/main/java/com/fs/company/service/impl/call/node/AiCallTaskNode.java

@@ -61,7 +61,7 @@ public class AiCallTaskNode extends AbstractWorkflowNode {
         //TODO 多次回调 是否过滤处理
         CompanyAiWorkflowExec exec = companyAiWorkflowExecMapper.selectByWorkflowInstanceId(context.getWorkflowInstanceId());
         if (exec == null) {
-            log.warn("doContinue: 工作流执行实例不存在 - workflowInstanceId: {}", context.getWorkflowInstanceId());
+            log.error("doContinue: 工作流执行实例不存在 - workflowInstanceId: {}", context.getWorkflowInstanceId());
             return null;
         }
         List<CompanyWorkflowEdge> edges = companyWorkflowEdgeMapper.selectListByWorkflowIdAndNodeKey(exec.getWorkflowId(), nodeKey);
@@ -71,13 +71,13 @@ public class AiCallTaskNode extends AbstractWorkflowNode {
         //获取外呼回调结果日志
         String callBackUuid = context.getVariable("callBackUuid", String.class);
         if (StringUtils.isBlank(callBackUuid)) {
-            log.warn("doContinue: 缺少 callBackUuid - workflowInstanceId: {}", context.getWorkflowInstanceId());
+            log.error("doContinue: 缺少 callBackUuid - workflowInstanceId: {}", context.getWorkflowInstanceId());
             super.updateWorkflowStatus(context.getWorkflowInstanceId(), ExecutionStatusEnum.INTERRUPT);
             return null;
         }
         CompanyVoiceRoboticCallLogCallphone callRes = super.companyVoiceRoboticCallLogCallphoneMapper.selectCallLogByCallbackUuid(callBackUuid);
         if (callRes == null) {
-            log.warn("doContinue: 未找到外呼回调日志 - callBackUuid: {}, workflowInstanceId: {}", callBackUuid, context.getWorkflowInstanceId());
+            log.error("doContinue: 未找到外呼回调日志 - callBackUuid: {}, workflowInstanceId: {}", callBackUuid, context.getWorkflowInstanceId());
             super.updateWorkflowStatus(context.getWorkflowInstanceId(), ExecutionStatusEnum.INTERRUPT);
             return null;
         }

+ 3 - 3
fs-service/src/main/java/com/fs/wxcid/threadExecutor/callLogTaskExecutor.java

@@ -15,9 +15,9 @@ public class callLogTaskExecutor {
     @Bean("callLogExcutor")
     public Executor callLogExcutor() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
-        executor.setCorePoolSize(4);
-        executor.setMaxPoolSize(8);
-        executor.setQueueCapacity(1000);
+        executor.setCorePoolSize(8);
+        executor.setMaxPoolSize(16);
+        executor.setQueueCapacity(10000);
         executor.setThreadNamePrefix("CallLog-");
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         executor.setKeepAliveSeconds(60);

+ 1 - 1
fs-service/src/main/java/com/fs/wxcid/threadExecutor/cidCompanyWorkFlowExecutor.java

@@ -17,7 +17,7 @@ public class cidCompanyWorkFlowExecutor {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
         executor.setCorePoolSize(16);
         executor.setMaxPoolSize(32);
-        executor.setQueueCapacity(20000);
+        executor.setQueueCapacity(30000);
         executor.setThreadNamePrefix("WorkfLow-");
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         executor.setKeepAliveSeconds(60);

+ 1 - 1
fs-wx-api/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/home/fs-ai-websocket/logs" />
+	<property name="log.path" value="/home/fs-ai-websocket/${groupNo}/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 

+ 4 - 4
fs-wx-task/src/main/java/com/fs/app/task/WxTask.java

@@ -38,10 +38,10 @@ public class WxTask {
         taskService.initAccountMsg();
     }
 
-    @Scheduled(cron = "0 0/10 * * * ?")
-    public void cellRun() {
-        taskService.cellRun();
-    }
+//    @Scheduled(cron = "0 0/10 * * * ?")
+//    public void cellRun() {
+//        taskService.cellRun();
+//    }
 //    @Scheduled(cron = "0 0/1 * * * ?")
 //    public void callNextTask(){
 //        taskService.callNextTask();

+ 1 - 1
fs-wx-task/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-	<property name="log.path" value="/home/fs-qw-task/logs" />
+	<property name="log.path" value="/home/fs-wx-task/${cidGroupNo}/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />