|
|
@@ -25,7 +25,9 @@ import com.fs.company.mapper.CompanyVoiceRoboticBusinessMapper;
|
|
|
import com.fs.company.mapper.CompanyVoiceRoboticCallLogCallphoneMapper;
|
|
|
import com.fs.company.mapper.EasyCallMapper;
|
|
|
import com.fs.company.param.ExecutionContext;
|
|
|
+import com.fs.company.service.CompanyWorkflowEngine;
|
|
|
import com.fs.company.vo.easycall.EasyCallCallPhoneVO;
|
|
|
+import com.fs.company.vo.easycall.EasyCallOutBoundVO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -39,6 +41,8 @@ import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.fs.company.service.impl.call.node.AiCallTaskNode.EASYCALL_WORKFLOW_REDIS_KEY;
|
|
|
+
|
|
|
/**
|
|
|
* aiSIP手动外呼通话记录Service业务层处理
|
|
|
*
|
|
|
@@ -65,6 +69,10 @@ public class AiSipCallOutboundCdrServiceImpl extends ServiceImpl<AiSipCallOutbou
|
|
|
@Autowired
|
|
|
private CompanyVoiceRoboticBusinessMapper companyVoiceRoboticBusinessMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CompanyWorkflowEngine companyWorkflowEngine;
|
|
|
+
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public AiSipCallOutboundCdr selectAiSipCallOutboundCdrById(String id) {
|
|
|
@@ -477,7 +485,8 @@ public class AiSipCallOutboundCdrServiceImpl extends ServiceImpl<AiSipCallOutbou
|
|
|
|
|
|
String callType = StringUtils.isBlank(req.getCallType()) ? "03" : req.getCallType();
|
|
|
|
|
|
- EasyCallCallPhoneVO callPhoneRes = easyCallMapper.getCallPhoneInfoByUuid(req.getUuid());
|
|
|
+// EasyCallCallPhoneVO callPhoneRes = easyCallMapper.getCallPhoneInfoByUuid(req.getUuid());
|
|
|
+ EasyCallOutBoundVO callPhoneRes = easyCallMapper.getOutBoundInfoByUuid(req.getUuid());
|
|
|
String callBackUuid = UUID.randomUUID().toString();
|
|
|
CompanyAiWorkflowExec record = currentExecutionMapper.selectByWorkflowInstanceId(req.getWorkflowInstanceId());
|
|
|
CompanyVoiceRoboticBusiness business = companyVoiceRoboticBusinessMapper.selectOne(new LambdaQueryWrapper<CompanyVoiceRoboticBusiness>()
|
|
|
@@ -503,24 +512,31 @@ public class AiSipCallOutboundCdrServiceImpl extends ServiceImpl<AiSipCallOutbou
|
|
|
if (ObjectUtil.isNotEmpty(business)) {
|
|
|
companyVoiceRoboticCallLogCallphone.setCallerId(business.getCalleeId());
|
|
|
}
|
|
|
- companyVoiceRoboticCallLogCallphone.setRunTime(new Date(callPhoneRes.getCalloutTime()));
|
|
|
+ companyVoiceRoboticCallLogCallphone.setRunTime(new Date(callPhoneRes.getStartTime()));
|
|
|
companyVoiceRoboticCallLogCallphone.setRunParam(null);
|
|
|
companyVoiceRoboticCallLogCallphone.setResult(null);
|
|
|
companyVoiceRoboticCallLogCallphone.setStatus(req.getStatus());
|
|
|
- companyVoiceRoboticCallLogCallphone.setRecordPath(callPhoneRes.getRecordServerUrl());
|
|
|
- companyVoiceRoboticCallLogCallphone.setContentList(callPhoneRes.getDialogue());
|
|
|
- companyVoiceRoboticCallLogCallphone.setCallerNum(callPhoneRes.getTelephone());
|
|
|
- companyVoiceRoboticCallLogCallphone.setCalleeNum(callPhoneRes.getCallerNumber());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setRecordPath(callPhoneRes.getRecordFilename());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setContentList(callPhoneRes.getChatContent());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setCallerNum(callPhoneRes.getCallee());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setCalleeNum(callPhoneRes.getCaller());
|
|
|
companyVoiceRoboticCallLogCallphone.setUuid(req.getUuid());
|
|
|
- companyVoiceRoboticCallLogCallphone.setCallCreateTime(callPhoneRes.getCalloutTime());
|
|
|
- companyVoiceRoboticCallLogCallphone.setCallAnswerTime(callPhoneRes.getConnectedTime());
|
|
|
- companyVoiceRoboticCallLogCallphone.setIntention(callPhoneRes.getIntent());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setCallCreateTime(callPhoneRes.getStartTime());
|
|
|
+ companyVoiceRoboticCallLogCallphone.setCallAnswerTime(callPhoneRes.getAnsweredTime());
|
|
|
+// companyVoiceRoboticCallLogCallphone.setIntention(callPhoneRes.getIntent());
|
|
|
companyVoiceRoboticCallLogCallphone.setCompanyId(req.getCompanyId());
|
|
|
companyVoiceRoboticCallLogCallphone.setCompanyUserId(req.getCompanyUserId());
|
|
|
companyVoiceRoboticCallLogCallphone.setCallTime(Long.valueOf(callPhoneRes.getTimeLen()));
|
|
|
- companyVoiceRoboticCallLogCallphone.setCost(callPhoneRes.getTotalCost());
|
|
|
+// companyVoiceRoboticCallLogCallphone.setCost(callPhoneRes.getTotalCost());
|
|
|
companyVoiceRoboticCallLogCallphone.setCallType(Integer.valueOf(callType));
|
|
|
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("callBackUuid", callBackUuid);
|
|
|
+ param.put("callSource", "callBack");
|
|
|
+ companyWorkflowEngine.resumeFromBlockingNode(req.getWorkflowInstanceId(),record.getCurrentNodeKey(),param);
|
|
|
+
|
|
|
+ redisCache.deleteObject(EASYCALL_WORKFLOW_REDIS_KEY + callBackUuid);
|
|
|
+
|
|
|
|
|
|
return companyVoiceRoboticCallLogCallphoneMapper.insertCompanyVoiceRoboticCallLogCallphone(companyVoiceRoboticCallLogCallphone);
|
|
|
}
|