|
|
@@ -1,7 +1,10 @@
|
|
|
package com.jzg.quotation.yangguang.api.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
|
import com.jzg.commons.exception.SystemException;
|
|
|
import com.jzg.quotation.commons.entity.vo.aggregated.*;
|
|
|
import com.jzg.quotation.commons.entity.vo.base.OrderBase;
|
|
|
@@ -30,6 +33,7 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author quchen
|
|
|
@@ -137,7 +141,6 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
|
|
|
@Override
|
|
|
public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo) throws JsonProcessingException {
|
|
|
OrderBase orderBase = underwritingVo.getOrder();
|
|
|
- YangGuangApiOrder yangGuangApiOrder = yangGuangCrawlerOrderService.getById(orderBase.getOrdersNo());
|
|
|
// 账号配置信息
|
|
|
YangGuangConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(YangGuangConfigureParameters.class, orderBase
|
|
|
.getAttributionInformationVo()
|
|
|
@@ -145,9 +148,46 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
|
|
|
// 根据订单号获取车辆信息
|
|
|
YangGuangSubmitRequest yangGuangSubmitRequest = new YangGuangSubmitRequest(underwritingVo,parameters);
|
|
|
YangGuangSubmitResponse yangGuangSubmitResponse = yangGuangApiRequestComponent.submit(yangGuangSubmitRequest);
|
|
|
-
|
|
|
UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
|
|
|
+ if (yangGuangSubmitResponse.getErrorCode().equals("0")) {
|
|
|
+ // 如果有驾意险 获取驾意险投保单号
|
|
|
+ if (yangGuangSubmitResponse.getPtptNonVehicleProductInformationList() != null) {
|
|
|
+ String jyApplyNo = yangGuangSubmitResponse.getPtptNonVehicleProductInformationList().get(0).getFcProposalNo(); // 驾意险投保单号
|
|
|
+ underwritingResultsVo.setJyApplyNo(jyApplyNo);
|
|
|
+ }
|
|
|
+ String statusSy = yangGuangSubmitResponse.getBiUnderWriteFlag();
|
|
|
+ String statusJq = yangGuangSubmitResponse.getCiUnderWriteFlag();
|
|
|
+ if ("3".equals(statusJq) || "3".equals(statusSy)) {
|
|
|
+ //人工核保
|
|
|
+ underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
|
|
|
+ underwritingResultsVo.setUnderwritingResult("人工处理");
|
|
|
+ } else if ("2".equals(statusJq) || "2".equals(statusSy)) {
|
|
|
+ // 核保失败
|
|
|
+ underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ if (null != yangGuangSubmitResponse.getCiUnderWriteMsg()) {
|
|
|
+ sb.append(String.format("交强险提示信息:s%", yangGuangSubmitResponse.getBiUnderWriteMsg()));
|
|
|
+ }
|
|
|
+ if (null != yangGuangSubmitResponse.getBiUnderWriteMsg()) {
|
|
|
+ sb.append(String.format(" 商业险提示信息:s%", yangGuangSubmitResponse.getBiUnderWriteMsg()));
|
|
|
+ }
|
|
|
+ underwritingResultsVo.setUnderwritingResult(sb.toString());
|
|
|
+ } else if ("1".equals(statusJq) || "1".equals(statusSy)) {
|
|
|
+ // 自动核保成功
|
|
|
+ underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
+ String jq = yangGuangSubmitResponse.getCiProposalNo(); // 交强险投保单号
|
|
|
+ String sy = yangGuangSubmitResponse.getBiProposalNo(); // 商业险投保单号
|
|
|
+ underwritingResultsVo.setJqApplyNo(jq);
|
|
|
+ underwritingResultsVo.setSyApplyNo(sy);
|
|
|
+ // 获取缴费地址
|
|
|
+ PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
|
|
|
+ paymentLinkVo.setOrder(underwritingVo.getOrder());
|
|
|
+ getPaymentLink(paymentLinkVo);
|
|
|
+ }
|
|
|
|
|
|
+ } else {
|
|
|
+ throw new SystemException("核保失败" + yangGuangSubmitResponse.getErrorMessage());
|
|
|
+ }
|
|
|
return underwritingResultsVo;
|
|
|
}
|
|
|
|