增加新版本下单接口调用

This commit is contained in:
毕彦兵
2025-12-19 14:26:00 +08:00
parent ee3cfe3bcd
commit ac1b83b356
3 changed files with 119 additions and 55 deletions

View File

@@ -267,7 +267,7 @@ public class CTServiceImpl implements CTService {
}
/**
* 线上下单
* 线上下单,新版
*/
@Override
public CTResponse<String> saveOrder(String name, String idCard, String contactMobile,
@@ -280,56 +280,101 @@ public class CTServiceImpl implements CTService {
if (ObjectUtil.isNotNull(requestBody)) {
log.error(sn+" ------------------检查接口登录状态完成-------------------");
requestBody.setInterfaceName("SaveOrder");
Map<String, Object> spiParam = new HashMap<>();
spiParam.put("name", name);
spiParam.put("idCard", idCard);
spiParam.put("contactMobile", contactMobile);
spiParam.put("installedAddress", installedAddress);
spiParam.put("saleId", saleId);
spiParam.put("storeId", storeId);
spiParam.put("personnelId", personnelId);
spiParam.put("province", province);
spiParam.put("city", city);
spiParam.put("county", county);
spiParam.put("serialNumber", serialNumber);
spiParam.put("number", number);
spiParam.put("logiRemark", logiRemark);
spiParam.put("pageUrl", pageUrl);
spiParam.put("remark", remark);
spiParam.put("installAddress", installAddress);
requestBody.setEncryption(JSONUtil.toJsonStr(spiParam), publicKey);
Map<String, Object> headers = new HashMap<>();
headers.put("account", personnelId);
headers.put("business_model", "SSLExtInterface");
headers.put("opt_tye", "2");
headers.put("client_ip", ip);
Map<String, Object> body = new HashMap<>();
body.put("name", name);
body.put("idCard", idCard);
body.put("contactMobile", contactMobile);
body.put("installedAddress", installedAddress);
body.put("saleId", saleId);
body.put("storeId", storeId);
body.put("personnelId", personnelId);
body.put("province", province);
body.put("city", city);
body.put("county", county);
body.put("serialNumber", serialNumber);
body.put("number", number);
body.put("logiRemark", logiRemark);
body.put("pageUrl", pageUrl);
body.put("remark", remark);
body.put("installAddress", installAddress);
// body.put("ynumber2", ynumber2);
// body.put("images", images);
requestBody.setEncryption(JSONUtil.toJsonStr(body), publicKey);
log.error(sn+" 加密前数据:"+body);
log.error(sn+" 加密后数据:"+requestBody.toMap());
HttpResponse httpResponse = HttpRequest.post(url)
.header("token", token)
.form(requestBody.toMap())
body.put("spiParam", requestBody.toMap());
body.put("headers", headers);
log.error(sn+" 加密后数据:"+body.toString());
// log.error(sn+" 加密后数据:"+requestBody.toMap());
String saveOrderUrl = String.format("%sdqServer/api_out/openapiEopHttps/v1/eop.SSLExtInterface/requestEop/", host);
log.error(sn+" 请求地址:"+saveOrderUrl);
HttpResponse httpResponse = HttpRequest.post(saveOrderUrl)
.header("token", token).header("Content-Type", "application/json")
.body(body.toString())
.execute();
// log.error("body:"+httpResponse.body());
boolean checkOK = false;
if (httpResponse.isOk()) {
if (ObjectUtil.isNotNull(httpResponse.body()) && ObjectUtil.isNull(JSONUtil.toBean(httpResponse.body(), JSONObject.class).getStr("status"))) {
// 其他异常状态如504等
log.error(sn+" ------------------下单异常------------------- ");
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
log.error(sn+" 返回:"+httpResponse.body());
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(AgentOrder::getSerialNumber, serialNumber);
lqw.last("limit 1");
AgentOrderVo agentOrderVo = agentOrderMapper.selectVoOne(lqw);
AgentOrder agentOrder = new AgentOrder();
agentOrder.setId(agentOrderVo.getId());
agentOrder.setStatus("-2");
agentOrder.setHasError(1);
agentOrderMapper.updateById(agentOrder);
log.error(sn+" --------------------------------------------");
throw new CTNetException();
if (ObjectUtil.isNotNull(httpResponse.body())) {
/**
* response body
* {resCode: "0000", "resMsg": "",resObj:{isSuccess:1, result:{exopData:{data:"xxx", status: "success"}}}}
*/
JSONObject resBody = JSONUtil.toBean(httpResponse.body(), JSONObject.class);
try {
if (ObjectUtil.equal(resBody.getStr("resCode"), "0000")) {
JSONObject resObj = resBody.getJSONObject("resBody");
if (ObjectUtil.equal(resObj.getStr("isSuccess"), 1)) {
JSONObject result = resObj.getJSONObject("result");
JSONObject eopData = result.getJSONObject("eopData");
return JSONUtil.toBean(eopData, CTResponse.class);
}
}
// 其他异常状态如504等
log.error(sn+" ------------------下单异常0------------------- ");
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
log.error(sn+" 返回:"+httpResponse.body());
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(AgentOrder::getSerialNumber, serialNumber);
lqw.last("limit 1");
AgentOrderVo agentOrderVo = agentOrderMapper.selectVoOne(lqw);
AgentOrder agentOrder = new AgentOrder();
agentOrder.setId(agentOrderVo.getId());
agentOrder.setStatus("-2");
agentOrder.setHasError(1);
agentOrderMapper.updateById(agentOrder);
log.error(sn+" --------------------------------------------");
throw new CTNetException();
} catch (Exception e) {
// 其他异常状态如504等
log.error(sn+" ------------------下单异常1------------------- ");
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
log.error(sn+" 返回:"+httpResponse.body());
LambdaQueryWrapper<AgentOrder> lqw = new LambdaQueryWrapper<>();
lqw.eq(AgentOrder::getSerialNumber, serialNumber);
lqw.last("limit 1");
AgentOrderVo agentOrderVo = agentOrderMapper.selectVoOne(lqw);
AgentOrder agentOrder = new AgentOrder();
agentOrder.setId(agentOrderVo.getId());
agentOrder.setStatus("-2");
agentOrder.setHasError(1);
agentOrderMapper.updateById(agentOrder);
log.error(sn+" --------------------------------------------");
throw new CTNetException();
}
}
CTResponse<String> response = JSONUtil.toBean(httpResponse.body(), CTResponse.class);
return response;
} else {
// 返回的不是200或者没有返回
log.error(sn+" ------------------下单异常-------------------");
log.error(sn+" ------------------下单异常2-------------------");
log.error(sn+" 请求电信异常,状态码:"+httpResponse.getStatus());
log.error(sn+" 返回:"+httpResponse.body());
log.error(sn+" --------------------------------------------");