|
|
@@ -113,6 +113,9 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
// 2.2 计算折旧价格 获取车辆实际价值
|
|
|
TaiShanCrawlerGetActualValueRequest taiShanCrawlerGetActualValueRequest = new TaiShanCrawlerGetActualValueRequest(quoteVo,modelsDTO);
|
|
|
TaiShanCrawlerGetActualValueResponse taiShanCrawlerGetActualValueResponse = taiShanCrawlerRequestComponent.getActualValue(taiShanCrawlerGetActualValueRequest, headers);
|
|
|
+ if (taiShanCrawlerGetActualValueResponse.getResult() == null) {
|
|
|
+ throw new SystemException("获取车辆实际价值失败:" + taiShanCrawlerGetActualValueResponse.getMessage());
|
|
|
+ }
|
|
|
String currentValue = taiShanCrawlerGetActualValueResponse.getResult().getActualValue();
|
|
|
log.info("车辆当前价值:{}", currentValue);
|
|
|
|
|
|
@@ -135,12 +138,22 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
log.info("taiShanCrawlerQuotationRequest参数的值:{}", JSON.toJSONString(taiShanCrawlerQuotationRequest));
|
|
|
TaiShanCrawlerQuotationResponse taiShanCrawlerQuotationResponse = taiShanCrawlerRequestComponent.quotation(taiShanCrawlerQuotationRequest, headers,CIRCULATE_NUMBER);
|
|
|
log.info("taiShanCrawlerQuotationResponse参数的值:{}", JSON.toJSONString(taiShanCrawlerQuotationResponse));
|
|
|
- TaiShanCrawlerQuotationResponse.ResultDTO.ExceptionDTO exception = taiShanCrawlerQuotationResponse.getResult().getException();
|
|
|
String errMsg = null;
|
|
|
TaiShanCrawlerQuotationSaveResponse taiShanCrawlerQuotationSaveResponse = null;
|
|
|
TaiShanCrawlerRiskManagementResponse taiShanCrawlerRiskManagementResponse = null;
|
|
|
boolean success = false;
|
|
|
- if (exception.getCode().equals("H1")){
|
|
|
+
|
|
|
+ if (taiShanCrawlerQuotationResponse.getResult() == null) {
|
|
|
+ errMsg = taiShanCrawlerQuotationResponse.getMessage();
|
|
|
+ throw new SystemException(errMsg != null ? errMsg : "报价接口返回异常,result为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ TaiShanCrawlerQuotationResponse.ResultDTO.ExceptionDTO exception = taiShanCrawlerQuotationResponse.getResult().getException();
|
|
|
+ if (exception == null || exception.getCode() == null) {
|
|
|
+ throw new SystemException("报价接口返回异常:缺少异常信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("H1".equals(exception.getCode())){
|
|
|
String colorCode = quoteVo.getCarInfoVo().getColorCode();
|
|
|
if(org.apache.commons.lang3.StringUtils.isBlank(colorCode)){
|
|
|
taiShanCrawlerQuotationRequest.getVehicleInfo().setCarColor("01");
|
|
|
@@ -166,9 +179,13 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
// 重新报价
|
|
|
taiShanCrawlerQuotationResponse = taiShanCrawlerRequestComponent.quotation(taiShanCrawlerQuotationRequest, headers, CIRCULATE_NUMBER);
|
|
|
log.info("泰山报价重复投保后报价响应: {}", JSON.toJSONString(taiShanCrawlerQuotationResponse));
|
|
|
+ if (taiShanCrawlerQuotationResponse.getResult() == null) {
|
|
|
+ errMsg = taiShanCrawlerQuotationResponse.getMessage();
|
|
|
+ throw new SystemException(errMsg != null ? errMsg : "重复投保后报价接口返回异常,result为空");
|
|
|
+ }
|
|
|
exception = taiShanCrawlerQuotationResponse.getResult().getException();
|
|
|
- if (!exception.getCode().equals("H1")) {
|
|
|
- errMsg = exception.getMsg();
|
|
|
+ if (exception == null || !"H1".equals(exception.getCode())) {
|
|
|
+ errMsg = exception != null ? exception.getMsg() : "重复投保后报价失败";
|
|
|
return TaiShanCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo, null, null, errMsg, false);
|
|
|
}
|
|
|
// 更新报价信息
|
|
|
@@ -186,18 +203,22 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
log.info("taiShanCrawlerQuotationSaveResponse参数的值:{}", JSON.toJSONString(taiShanCrawlerQuotationSaveResponse));
|
|
|
if (taiShanCrawlerQuotationSaveResponse.getResult() != null) {
|
|
|
TaiShanCrawlerQuotationSaveResponse.Result.Exception saveException = taiShanCrawlerQuotationSaveResponse.getResult().getException();
|
|
|
- if (saveException.getCode().equals("H1")){
|
|
|
+ if (saveException != null && "H1".equals(saveException.getCode())){
|
|
|
TaiShanCrawlerOrder taiShanCrawlerOrder = new TaiShanCrawlerOrder();
|
|
|
taiShanCrawlerOrder.setOrdersNo(quoteVo.getOrder().getOrdersNo());
|
|
|
taiShanCrawlerOrderService.save(taiShanCrawlerQuotationSaveResponse, taiShanCrawlerOrder);
|
|
|
success = true;
|
|
|
|
|
|
//风险管控
|
|
|
- String proposalNo = taiShanCrawlerQuotationSaveResponse.getResult().getCompulsoryInsurance().getProductInfo().getProposalNo();
|
|
|
+ TaiShanCrawlerQuotationSaveResponse.Result.CompulsoryInsurance compulsoryIns = taiShanCrawlerQuotationSaveResponse.getResult().getCompulsoryInsurance();
|
|
|
+ if (compulsoryIns == null || compulsoryIns.getProductInfo() == null) {
|
|
|
+ throw new SystemException("保存报价成功但获取交强险产品信息失败");
|
|
|
+ }
|
|
|
+ String proposalNo = compulsoryIns.getProductInfo().getProposalNo();
|
|
|
TaiShanCrawlerRiskManagementRequest taiShanCrawlerRiskManagementRequest = new TaiShanCrawlerRiskManagementRequest(proposalNo);
|
|
|
taiShanCrawlerRiskManagementResponse = taiShanCrawlerRequestComponent.getRiskManagement(taiShanCrawlerRiskManagementRequest, headers);
|
|
|
}else{
|
|
|
- errMsg = saveException.getMsg();
|
|
|
+ errMsg = saveException != null ? saveException.getMsg() : taiShanCrawlerQuotationSaveResponse.getMessage();
|
|
|
throw new SystemException(errMsg);
|
|
|
}
|
|
|
}else {
|
|
|
@@ -205,7 +226,7 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
throw new SystemException(errMsg);
|
|
|
}
|
|
|
}else{
|
|
|
- errMsg = taiShanCrawlerQuotationResponse.getResult() != null ? exception.getMsg() : taiShanCrawlerQuotationResponse.getMessage();
|
|
|
+ errMsg = exception != null ? exception.getMsg() : taiShanCrawlerQuotationSaveResponse.getMessage();
|
|
|
throw new SystemException(errMsg);
|
|
|
}
|
|
|
return TaiShanCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo,
|
|
|
@@ -640,7 +661,11 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
|
|
|
log.info("taiShanCrawlerOrderQueryResponse对象的值:{}", JSON.toJSONString(taiShanCrawlerOrderQueryResponse));
|
|
|
OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
|
|
|
if ("200".equals(taiShanCrawlerOrderQueryResponse.getCode())) {
|
|
|
- //获取订单状态
|
|
|
+ if (taiShanCrawlerOrderQueryResponse.getResult() == null
|
|
|
+ || taiShanCrawlerOrderQueryResponse.getResult().getList() == null
|
|
|
+ || taiShanCrawlerOrderQueryResponse.getResult().getList().isEmpty()) {
|
|
|
+ return orderStatusResultVo;
|
|
|
+ }
|
|
|
String orderStatus = taiShanCrawlerOrderQueryResponse.getResult().getList().get(0).getStatus();
|
|
|
//将保司返回的订单状态转换为系统定义的订单状态枚举类型
|
|
|
InsOrderStatusEnum orderStatusEnum = null;
|