修改百度外呼录音获取。

This commit is contained in:
haown 2024-11-08 10:36:31 +08:00
parent e5fbec5fed
commit 7b2dbce441
4 changed files with 27 additions and 7 deletions

View File

@ -73,4 +73,6 @@ public interface IAIOBService {
JSONObject taskCallBack(Integer callbackType, TaskCallbackDataDto data) throws ClientException;
String record(String ccUUID);
String getPhoneDialRecord(String ccUuid);
}

View File

@ -463,7 +463,7 @@ public class AIOBServiceImpl implements IAIOBService {
phoneDialRecord.setCreateTime(LocalDateTime.now());
phoneDialRecord.setCtUuid(data.getContactUUID());
phoneDialRecord.setPhoneDialRecordVideo(getPhoneDialRecord(data.getContactUUID()));
//phoneDialRecord.setPhoneDialRecordVideo(getPhoneDialRecord(data.getContactUUID()));
phoneDialRecordMapper.insertPhoneDialRecord(phoneDialRecord);
@ -744,7 +744,8 @@ public class AIOBServiceImpl implements IAIOBService {
scriptInfoTaskInfoMapper.insertScriptInfoTaskInfo(scriptInfoTaskInfo);
}
private String getPhoneDialRecord(String ccUuid) {
@Override
public String getPhoneDialRecord(String ccUuid) {
String url = "";
String downLoadUrl = record(ccUuid);
if (StringUtils.isNotBlank(downLoadUrl)) {
@ -770,11 +771,9 @@ public class AIOBServiceImpl implements IAIOBService {
}
outputStream.close();
inputStream.close();
System.out.println("下载完成,目录:" + outputPath);
return Constants.RESOURCE_PREFIX + "/" + systemBusinessConfig.getPhoneDialRecordVideo() + "/" + ccUuid + ".wav";
return Constants.RESOURCE_PREFIX + systemBusinessConfig.getPhoneDialRecordVideo() + "/" + ccUuid + ".wav";
} else {
System.out.println("下载失败" + connection.getResponseCode());
return null;
throw new ServiceException("下载录音失败");
}
} catch (IOException e) {
e.printStackTrace();

View File

@ -62,6 +62,7 @@ import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
import com.xinelu.manage.mapper.textmessage.TextMessageMapper;
import com.xinelu.manage.mapper.wechattemplate.WechatTemplateMapper;
import com.xinelu.manage.service.aibo.IAIOBService;
import com.xinelu.manage.service.patienttaskstatistics.IPatientTaskStatisticsService;
import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService;
import com.xinelu.manage.service.questioninfo.IQuestionInfoService;
@ -158,6 +159,8 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
private IPatientTaskStatisticsService patientTaskStatisticsService;
@Resource
private PhoneDialRecordMapper phoneDialRecordMapper;
@Resource
private IAIOBService aiobService;
/**
* 查询签约患者管理任务路径节点
@ -585,7 +588,17 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
@Override public String getPhoneDialVideo(Long id) {
PhoneDialRecord phoneDialRecord = phoneDialRecordMapper.getLastRecord(id);
return ObjectUtils.isEmpty(phoneDialRecord) ? null : phoneDialRecord.getPhoneDialRecordVideo();
if(ObjectUtils.isEmpty(phoneDialRecord) || StringUtils.isBlank(phoneDialRecord.getCtUuid())) {
throw new ServiceException("获取录音失败");
}
if (StringUtils.isBlank(phoneDialRecord.getPhoneDialRecordVideo())) {
String videoUrl = aiobService.getPhoneDialRecord(phoneDialRecord.getCtUuid());
phoneDialRecord.setPhoneDialRecordVideo(videoUrl);
phoneDialRecordMapper.updatePhoneDialRecord(phoneDialRecord);
return videoUrl;
} else {
return phoneDialRecord.getPhoneDialRecordVideo();
}
}
/**

View File

@ -206,6 +206,12 @@
<if test="updateTime != null">update_time =
#{updateTime},
</if>
<if test="ctUuid != null">ct_uuid =
#{ctUuid},
</if>
<if test="phoneDialRecordVideo != null">phone_dial_record_video =
#{phoneDialRecordVideo},
</if>
</trim>
where id = #{id}
</update>