|
|
@@ -3,6 +3,7 @@ package com.telerobot.fs.global;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.telerobot.fs.config.SystemConfig;
|
|
|
+import com.telerobot.fs.entity.dao.InboundCallInfo;
|
|
|
import com.telerobot.fs.entity.po.CdrDetail;
|
|
|
import com.telerobot.fs.entity.po.CdrEntity;
|
|
|
import com.telerobot.fs.mybatis.dao.SysDao;
|
|
|
@@ -55,12 +56,26 @@ public class CdrPush implements ApplicationListener<ApplicationReadyEvent> {
|
|
|
private boolean postCdr(CdrDetail cdr){
|
|
|
try {
|
|
|
String url = SystemConfig.getValue("post_cdr_url");
|
|
|
- //如果有自定义回调地址 替换回调地址为自定义回调地址 否则默认回调
|
|
|
- String callBackUrl = getCallBackUrlByUuid(cdr.getUuid());
|
|
|
- logger.info("测试日志cdrUUid:{} ,callBackUrlByUuid: {}", cdr.getUuid(), callBackUrl);
|
|
|
- if(org.apache.commons.lang3.StringUtils.isNotBlank(callBackUrl)){
|
|
|
- url = callBackUrl;
|
|
|
+ if ("inbound".equals(cdr.getCdrType())) {
|
|
|
+ logger.info("{} is inbound cdr.", cdr.getUuid());
|
|
|
+ //如果有自定义回调地址 替换回调地址为自定义回调地址 否则默认回调
|
|
|
+ InboundCallInfo info = getInboundCallBackUrlByUuid(cdr.getUuid());
|
|
|
+ if (null != info && org.apache.commons.lang3.StringUtils.isNotBlank(info.getCallBackUrl())) {
|
|
|
+ String callBackUrl = info.getCallBackUrl();
|
|
|
+ logger.info("呼入日志cdrUUid:{} ,getInboundCallBackUrlByUuid: {}", cdr.getUuid(), callBackUrl);
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(callBackUrl)) {
|
|
|
+ url = callBackUrl;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //如果有自定义回调地址 替换回调地址为自定义回调地址 否则默认回调
|
|
|
+ String callBackUrl = getCallBackUrlByUuid(cdr.getUuid());
|
|
|
+ logger.info("呼出日志cdrUUid:{} ,callBackUrlByUuid: {}", cdr.getUuid(), callBackUrl);
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(callBackUrl)) {
|
|
|
+ url = callBackUrl;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
logger.info("测试日志最后请求的url:{}",url);
|
|
|
if (StringUtils.isNullOrEmpty(url)) {
|
|
|
logger.error("post_cdr_url has not been configured yet.");
|
|
|
@@ -114,4 +129,17 @@ public class CdrPush implements ApplicationListener<ApplicationReadyEvent> {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 呼入回调地址替换
|
|
|
+ * @param uuid
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private InboundCallInfo getInboundCallBackUrlByUuid(String uuid) {
|
|
|
+ InboundCallInfo inboundCallInfoByUuid = sysDao.getInboundCallInfoByUuid(uuid);
|
|
|
+ if(null != inboundCallInfoByUuid){
|
|
|
+ return inboundCallInfoByUuid;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|