|
@@ -2,12 +2,12 @@ package info.aspirecn.rdc.iov.sjjh.servicenode.supplier.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import info.aspirecn.iov.sjjh.commons.lang.ChannelTypeHandleResponseObject;
|
|
|
import info.aspirecn.iov.sjjh.commons.lang.Constant;
|
|
|
import info.aspirecn.iov.sjjh.commons.lang.PatternTools;
|
|
|
import info.aspirecn.iov.sjjh.service.sms.action.SmsActionInterface;
|
|
|
-import info.aspirecn.iov.sjjh.service.sms.vo.RequestSmsObject;
|
|
|
import info.aspirecn.rdc.aspirecloud.node.except.utils.ErrorUtils;
|
|
|
import info.aspirecn.rdc.iov.sjjh.servicenode.supplier.constant.ChannelConstant;
|
|
|
import info.aspirecn.rdc.iov.sjjh.servicenode.supplier.service.WycChannelService;
|
|
@@ -18,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import okhttp3.*;
|
|
|
import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.omg.CORBA.Current;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
@@ -821,7 +820,6 @@ public class WycChannelServiceImpl implements WycChannelService {
|
|
|
Response response = client.newCall(builder.build()).execute();
|
|
|
String responseContext = response.body().string();
|
|
|
log.info("supplier10000036.vehicleInfoQuery接口responseContext={}",responseContext);
|
|
|
-
|
|
|
WycInfoResponseObject responseObject = objectMapper.readValue(responseContext, WycInfoResponseObject.class);
|
|
|
|
|
|
if (responseObject != null) {
|
|
@@ -1123,4 +1121,67 @@ public class WycChannelServiceImpl implements WycChannelService {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ChannelTypeHandleResponseObject vehicleInfoQueryV2(HttpServletRequest request, String channelId, Integer outTime, String customBody) {
|
|
|
+ ChannelTypeHandleResponseObject ret = new ChannelTypeHandleResponseObject();
|
|
|
+ ret.setIsCharge(Constant.INTERFACE_QUERY_NO_FEE);
|
|
|
+ String upstreamCode = Constant.LOG_UPSTREAM_DEFAULT_RESPONSE_CODE;
|
|
|
+ String returnType = request.getHeader(Constant.CUSTOMER_RETURN_TYPE_PARA);
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(returnType)) {
|
|
|
+ returnType = Constant.CUSTOMER_RETURN_ZW;
|
|
|
+ }
|
|
|
+ if (outTime <= 0) {
|
|
|
+ outTime = Constant.HTTPCLIENT_CONNECTTIMEOUT;
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("vehicleInfoQueryV2---customBody={},outTime={}", customBody, outTime);
|
|
|
+ VehicleInfoQueryV2RequestObject jsonResolveObject = new VehicleInfoQueryV2RequestObject();
|
|
|
+
|
|
|
+ try {
|
|
|
+ jsonResolveObject = objectMapper.readValue(customBody,
|
|
|
+ VehicleInfoQueryV2RequestObject.class);
|
|
|
+ } catch (JsonProcessingException ex) {
|
|
|
+ ErrorUtils.captureException(ex);
|
|
|
+ log.info("supplier10000036.vehicleInfoQueryV2接口Exception={}", ex);
|
|
|
+ ret.setCode(Constant.FAIL);
|
|
|
+ }
|
|
|
+ // 参数校验
|
|
|
+ if (!validateRequestParams(ret, returnType, jsonResolveObject)
|
|
|
+ || !validateVehicleInfoRequestParams(ret, returnType, jsonResolveObject)) {
|
|
|
+ ret.setCode(Constant.SUCCESS);
|
|
|
+ request.setAttribute(Constant.LOG_UPSTREAM_RESPONSE_CODE, upstreamCode);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ ret = vehicleInfoQuery(request, channelId, outTime, customBody);
|
|
|
+ if (ret.getResultCode() == Constant.MATCH_CODE) {
|
|
|
+ JSONObject resultBody = JSON.parseObject((String) ret.getResultBody());
|
|
|
+ VehicleInfoQueryV2ResponseObject responseObject = new VehicleInfoQueryV2ResponseObject();
|
|
|
+ responseObject.setEarliestOrderMonth(resultBody.getString("earliestOrderMonth"));
|
|
|
+ responseObject.setTotalMile(resultBody.getString("totalMile"));
|
|
|
+ responseObject.setHalfYearMile(resultBody.getString("mile6"));
|
|
|
+ ret.setResultBody(responseObject);
|
|
|
+ }
|
|
|
+ //上游返回码
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean validateVehicleInfoRequestParams(ChannelTypeHandleResponseObject ret, String returnType,
|
|
|
+ VehicleInfoQueryV2RequestObject jsonResolveObject) {
|
|
|
+ if (StringUtils.isBlank(jsonResolveObject.getVin())
|
|
|
+ || StringUtils.isBlank(jsonResolveObject.getBusinessType())
|
|
|
+ || StringUtils.isBlank(jsonResolveObject.getCompanyName())) {
|
|
|
+ if (Constant.CUSTOMER_RETURN_ZW.equals(returnType)) {
|
|
|
+ ret.setResultCode(Constant.INVALID_PARAMETER_CODE);
|
|
|
+ } else {
|
|
|
+ ret.setResultCode(Constant.JK_RETURN_CODE_INVALID_PARAMETER);
|
|
|
+ }
|
|
|
+ ret.setResultDesc(Constant.INVALID_PARAMETER);
|
|
|
+ ret.setResultBody(Constant.INVALID_PARAMETER);
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|