|
|
@@ -7,6 +7,7 @@ import com.ydtech.config.properties.BohaiApiConfigurationProperties;
|
|
|
import com.ydtech.constants.InsuranceEnum;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.order.entity.api.bohai.BoHaiEncrypted;
|
|
|
+import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
|
|
|
import com.ydtech.modules.order.entity.api.bohai.constants.ResponseCode;
|
|
|
import com.ydtech.modules.order.entity.api.bohai.request.*;
|
|
|
import com.ydtech.modules.order.entity.api.bohai.response.*;
|
|
|
@@ -47,12 +48,15 @@ public class BoHaiRequestApiComponent {
|
|
|
* @param <S> Response 响应体
|
|
|
* @return <S>
|
|
|
*/
|
|
|
- private <Q extends BoHaiBaseRequest, S extends BoHaiBaseResponse> S post(Q q, String url, Class<S> tClass, String sysSourceCode) throws Exception {
|
|
|
+ private <Q extends BoHaiBaseRequest, S extends BoHaiBaseResponse> S post(Q q, String url, Class<S> tClass, String sysSourceCode,
|
|
|
+ RequestType requestType) throws Exception {
|
|
|
+ q.setBaseParamRequestType(requestType.getCode());
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
|
|
|
|
|
|
String busReqString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
|
|
|
- InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", url, busReqString);
|
|
|
+ InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> {} \n\t---------> URl: {} \n---------> 请求参数:{}",
|
|
|
+ requestType.getDesc(), url, busReqString);
|
|
|
BoHaiEncrypted boHaiEncrypted = new BoHaiEncrypted(busReqString, properties, sysSourceCode);
|
|
|
String json = JSON.toJSONString(boHaiEncrypted, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
|
|
|
// 获取请求头signature 和加密后的内容
|
|
|
@@ -61,21 +65,28 @@ public class BoHaiRequestApiComponent {
|
|
|
String signature = stringStringMap.get("signature");
|
|
|
String content = stringStringMap.get("content");
|
|
|
httpHeaders.set("signature", signature);
|
|
|
- InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> 加密后的参数:{} \n\t---------> 请求头内容signature:{}", content,
|
|
|
- signature);
|
|
|
+ InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> {} \n\t---------> 加密后的参数:{} \n\t---------> " +
|
|
|
+ "请求头内容signature:{}", requestType.getDesc(), content, signature);
|
|
|
// 请求
|
|
|
HttpEntity<String> httpEntity = new HttpEntity<>(content, httpHeaders);
|
|
|
ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
|
|
|
String body = response.getBody();
|
|
|
- InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> 解密前的参数:{}", body);
|
|
|
+ InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> {} \n\t---------> 解密前的参数:{}", requestType.getDesc(), body);
|
|
|
|
|
|
// 解密响应
|
|
|
BoHaiEncrypted encrypted = JSON.parseObject(body).toJavaObject(BoHaiEncrypted.class);
|
|
|
String info = SignatureUtils.decryptByPrivateKey(encrypted.getBizContent(), properties.getSelfPrivateKey());
|
|
|
- InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> 解密后的参数:{}", info);
|
|
|
+ InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> {} \n\t---------> 解密后的参数:{}", requestType.getDesc(), info);
|
|
|
return JSON.parseObject(info).toJavaObject(tClass);
|
|
|
}
|
|
|
|
|
|
+ public <Q extends BoHaiBaseRequest, S extends BoHaiBaseResponse> S verificationResponse(Q q, String url, Class<S> tClass,
|
|
|
+ String sysSourceCode,
|
|
|
+ RequestType requestType) throws Exception {
|
|
|
+ S response = post(q, url, tClass, sysSourceCode, requestType);
|
|
|
+ verificationResponseCode(response.getResponseCode(), response.getResponseMsg());
|
|
|
+ return response;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 生成订单号请求
|
|
|
@@ -84,7 +95,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 返回订单号响应
|
|
|
*/
|
|
|
public GenerateOrderNoResponse generateOrderNo(GenerateOrderNoRequest request, String sysSourceCode) throws Exception {
|
|
|
- return post(request, properties.getUrl(), GenerateOrderNoResponse.class, sysSourceCode);
|
|
|
+ return verificationResponse(request, properties.getUrl(), GenerateOrderNoResponse.class, sysSourceCode, RequestType.Z00002);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -94,7 +105,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public VehicleTypeQueryResponse vehicleTypeQuery(VehicleTypeQueryRequest request, String sysSourceCode) throws Exception {
|
|
|
- return post(request, properties.getUrl(), VehicleTypeQueryResponse.class, sysSourceCode);
|
|
|
+ return verificationResponse(request, properties.getUrl(), VehicleTypeQueryResponse.class, sysSourceCode, RequestType.Z00004);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -104,9 +115,10 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public VehicleConfirmationResponse vehicleConfirmation(VehicleConfirmationReqeust request, String sysSourceCode) throws Exception {
|
|
|
- VehicleConfirmationResponse response = post(request, properties.getUrl(), VehicleConfirmationResponse.class, sysSourceCode);
|
|
|
+ VehicleConfirmationResponse response = post(request, properties.getUrl(), VehicleConfirmationResponse.class, sysSourceCode,
|
|
|
+ RequestType.Z00005);
|
|
|
if (ResponseCode.R_Z00002.getCode().equals(response.getResponseCode())) {
|
|
|
- response = post(request, properties.getUrl(), VehicleConfirmationResponse.class, sysSourceCode);
|
|
|
+ response = post(request, properties.getUrl(), VehicleConfirmationResponse.class, sysSourceCode, RequestType.Z00005);
|
|
|
}
|
|
|
if (ResponseCode.R_Z00001.getCode().equals(response.getResponseCode())) {
|
|
|
return response;
|
|
|
@@ -121,7 +133,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public ImageUploadResponse imageUpload(ImageUploadRequest imageUploadRequest, String sysSourceCode) throws Exception {
|
|
|
- return post(imageUploadRequest, properties.getUrl(), ImageUploadResponse.class, sysSourceCode);
|
|
|
+ return verificationResponse(imageUploadRequest, properties.getUrl(), ImageUploadResponse.class, sysSourceCode, RequestType.Z00014);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -132,7 +144,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public NonAutomotiveProductsResponse products(NonAutomotiveProductsRequest request, String sysSourceCode) throws Exception {
|
|
|
- return post(request, properties.getUrl(), NonAutomotiveProductsResponse.class, sysSourceCode);
|
|
|
+ return verificationResponse(request, properties.getUrl(), NonAutomotiveProductsResponse.class, sysSourceCode, RequestType.Z00018);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -142,7 +154,8 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public NonAutomotiveProductsDetailsResponse productsDetails(NonAutomotiveProductsDetailsRequest request, String sysSourceCode) throws Exception {
|
|
|
- return post(request, properties.getUrl(), NonAutomotiveProductsDetailsResponse.class, sysSourceCode);
|
|
|
+ return verificationResponse(request, properties.getUrl(), NonAutomotiveProductsDetailsResponse.class, sysSourceCode,
|
|
|
+ RequestType.Z00019);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -153,7 +166,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public QuotationResponse quotation(QuotationRequest request, String sysSourceCode) throws Exception {
|
|
|
- return post(request, properties.getUrl(), QuotationResponse.class, sysSourceCode);
|
|
|
+ return post(request, properties.getUrl(), QuotationResponse.class, sysSourceCode, RequestType.Z00006);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -163,7 +176,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public UnderwritingResponse underwriting(UnderwritingRequest underwritingRequest, String sysSourceCode) throws Exception {
|
|
|
- return post(underwritingRequest, properties.getUrl(), UnderwritingResponse.class, sysSourceCode);
|
|
|
+ return post(underwritingRequest, properties.getUrl(), UnderwritingResponse.class, sysSourceCode, RequestType.Z00007);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -173,7 +186,7 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public PaymentResponse payment(PaymentRequest paymentRequest, String sysSourceCode) throws Exception {
|
|
|
- return post(paymentRequest, properties.getUrl(), PaymentResponse.class, sysSourceCode);
|
|
|
+ return post(paymentRequest, properties.getUrl(), PaymentResponse.class, sysSourceCode, RequestType.Z00008);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -183,9 +196,8 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public ElectronicPolicyResponse electronicPolicy(ElectronicPolicyRequest electronicPolicyRequest, String sysSourceCode) throws Exception {
|
|
|
- ElectronicPolicyResponse response = post(electronicPolicyRequest, properties.getUrl(), ElectronicPolicyResponse.class, sysSourceCode);
|
|
|
- verificationResponseCode(response.getResponseCode(), response.getResponseMsg());
|
|
|
- return response;
|
|
|
+ return verificationResponse(electronicPolicyRequest, properties.getUrl(), ElectronicPolicyResponse.class, sysSourceCode,
|
|
|
+ RequestType.Z00020);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -195,9 +207,8 @@ public class BoHaiRequestApiComponent {
|
|
|
* @return 响应
|
|
|
*/
|
|
|
public StatusDocumentsResponse statusDocuments(StatusDocumentsRequest statusDocumentsRequest, String sysSourceCode) throws Exception {
|
|
|
- StatusDocumentsResponse response = post(statusDocumentsRequest, properties.getUrl(), StatusDocumentsResponse.class, sysSourceCode);
|
|
|
- verificationResponseCode(response.getResponseCode(), response.getResponseMsg());
|
|
|
- return response;
|
|
|
+ return verificationResponse(statusDocumentsRequest, properties.getUrl(), StatusDocumentsResponse.class, sysSourceCode,
|
|
|
+ RequestType.Z00021);
|
|
|
}
|
|
|
|
|
|
/**
|