|
|
@ -1,11 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
package com.baiye.modules.telemarkting.httpRequest;
|
|
|
|
package com.baiye.modules.telemarkting.httpRequest;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
import cn.hutool.core.codec.Base64;
|
|
|
|
import cn.hutool.core.codec.Base64;
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
import cn.hutool.crypto.SecureUtil;
|
|
|
|
import cn.hutool.http.Header;
|
|
|
|
import cn.hutool.http.HttpRequest;
|
|
|
|
import cn.hutool.http.HttpRequest;
|
|
|
|
import cn.hutool.http.HttpResponse;
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
@ -18,6 +18,8 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @author wujingtao
|
|
|
|
* @author wujingtao
|
|
|
@ -33,8 +35,6 @@ public class RollCallReq {
|
|
|
|
private String cdrUrl;
|
|
|
|
private String cdrUrl;
|
|
|
|
@Value("${roll.call.appId}")
|
|
|
|
@Value("${roll.call.appId}")
|
|
|
|
private String appId;
|
|
|
|
private String appId;
|
|
|
|
@Value("${roll.call.token}")
|
|
|
|
|
|
|
|
private String token;
|
|
|
|
|
|
|
|
@Value("${roll.call.accountSid}")
|
|
|
|
@Value("${roll.call.accountSid}")
|
|
|
|
private String accountSid;
|
|
|
|
private String accountSid;
|
|
|
|
|
|
|
|
|
|
|
@ -46,36 +46,39 @@ public class RollCallReq {
|
|
|
|
private String reqTask(TelephoneCallReqDTO doubleCallReq) {
|
|
|
|
private String reqTask(TelephoneCallReqDTO doubleCallReq) {
|
|
|
|
RollCallSystemDTO rollCallSystemDTO = new RollCallSystemDTO();
|
|
|
|
RollCallSystemDTO rollCallSystemDTO = new RollCallSystemDTO();
|
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMMddHHssmm");
|
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMMddHHssmm");
|
|
|
|
// String sig = SecureUtil.md5(accountSid + token + date).toUpperCase();
|
|
|
|
|
|
|
|
//设置header
|
|
|
|
//设置header
|
|
|
|
String authorization = Base64.encode(accountSid + ":" + date);
|
|
|
|
String authorization = Base64.encode(accountSid + ":" + date);
|
|
|
|
// rollCallSystemDTO.setSig(sig);
|
|
|
|
|
|
|
|
rollCallSystemDTO.setAppid(appId);
|
|
|
|
rollCallSystemDTO.setAppid(appId);
|
|
|
|
rollCallSystemDTO.setReq_id(doubleCallReq.getRequestId());
|
|
|
|
rollCallSystemDTO.setReq_id(doubleCallReq.getRequestId());
|
|
|
|
rollCallSystemDTO.setCaller(doubleCallReq.getTelA());
|
|
|
|
rollCallSystemDTO.setCaller(doubleCallReq.getTelA());
|
|
|
|
rollCallSystemDTO.setCallee(doubleCallReq.getTelB());
|
|
|
|
rollCallSystemDTO.setCallee(doubleCallReq.getTelB());
|
|
|
|
rollCallSystemDTO.setIs_record(String.valueOf(DefaultNumberConstants.ONE_NUMBER));
|
|
|
|
rollCallSystemDTO.setIs_record(String.valueOf(DefaultNumberConstants.ONE_NUMBER));
|
|
|
|
rollCallSystemDTO.setCdr_url(cdrUrl);
|
|
|
|
rollCallSystemDTO.setCdr_url(cdrUrl);
|
|
|
|
log.info("请求对象:{}", JSONUtil.toJsonPrettyStr(rollCallSystemDTO));
|
|
|
|
log.info("请求对象:{}", BeanUtil.beanToMap(rollCallSystemDTO));
|
|
|
|
HttpResponse httpResponse = sendCallReq(JSONUtil.toJsonPrettyStr(rollCallSystemDTO), reqUrl, authorization);
|
|
|
|
|
|
|
|
if (httpResponse.isOk()) {
|
|
|
|
String httpResponse = sendCallReq(BeanUtil.beanToMap(rollCallSystemDTO), reqUrl, authorization);
|
|
|
|
RollCallResponse doubleCallResponse = JSONUtil
|
|
|
|
log.info("返回值为 {}", httpResponse);
|
|
|
|
.toBean(httpResponse.body(), RollCallResponse.class);
|
|
|
|
RollCallResponse doubleCallResponse = JSONUtil
|
|
|
|
if (String.valueOf
|
|
|
|
.toBean(httpResponse, RollCallResponse.class);
|
|
|
|
(DefaultNumberConstants.ZERO_NUMBER)
|
|
|
|
|
|
|
|
.equals(doubleCallResponse.getResult())) {
|
|
|
|
if (String.valueOf
|
|
|
|
return doubleCallResponse.getReqid();
|
|
|
|
(DefaultNumberConstants.ZERO_NUMBER)
|
|
|
|
}
|
|
|
|
.equals(doubleCallResponse.getResult())) {
|
|
|
|
throw new BadRequestException
|
|
|
|
return doubleCallResponse.getReqid();
|
|
|
|
(StringUtils.isNotBlank(doubleCallResponse.getReason()) ?
|
|
|
|
|
|
|
|
doubleCallResponse.getReason()
|
|
|
|
|
|
|
|
: ResponseCode.CALL_ERROR.getDesc());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
throw new BadRequestException(ResponseCode.CALL_ERROR.getDesc());
|
|
|
|
throw new BadRequestException
|
|
|
|
|
|
|
|
(StringUtils.isNotBlank(doubleCallResponse.getReason()) ?
|
|
|
|
|
|
|
|
doubleCallResponse.getReason()
|
|
|
|
|
|
|
|
: ResponseCode.CALL_ERROR.getDesc());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private HttpResponse sendCallReq(String json, String url, String authorization) {
|
|
|
|
private String sendCallReq(Map<String, Object> json, String url, String authorization) {
|
|
|
|
return HttpRequest.post(url).header("Authorization", authorization).body(json).execute();
|
|
|
|
return HttpRequest.post(url).
|
|
|
|
|
|
|
|
header(Header.AUTHORIZATION, authorization).
|
|
|
|
|
|
|
|
header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded").
|
|
|
|
|
|
|
|
form(json).
|
|
|
|
|
|
|
|
execute().
|
|
|
|
|
|
|
|
body();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|