|
|
@@ -1,56 +1,38 @@
|
|
|
package com.ydtech.modules.order.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.util.ArrayUtil;
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.ydtech.components.ZhongmeiRequestComponents;
|
|
|
import com.ydtech.constants.enums.InsuranceRisk;
|
|
|
import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.fee.service.FeeRuleSchemeService;
|
|
|
-import com.ydtech.modules.ins.model.request.Response;
|
|
|
import com.ydtech.modules.ins.model.vo.*;
|
|
|
-import com.ydtech.modules.ins.model.ya.CarModelDTO;
|
|
|
-import com.ydtech.modules.ins.model.zm.ZmCarModel;
|
|
|
import com.ydtech.modules.order.components.ConfigureParametersComponents;
|
|
|
-import com.ydtech.modules.order.components.ZhongmeiRequestApiComponents;
|
|
|
import com.ydtech.modules.order.components.huatai.HuaTaiRequestApiComponents;
|
|
|
-import com.ydtech.modules.order.components.zhongmei.ZhongmeiRepeatInsuranceComponents;
|
|
|
import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
|
|
|
-import com.ydtech.modules.order.convert.SimpleStadarCarDTOConvert;
|
|
|
import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
import com.ydtech.modules.order.entity.InsOrders;
|
|
|
-import com.ydtech.modules.order.entity.TaxArrears;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.request.HuaTaiQuotedPriceRequest;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiQuotedPriceResponse;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.BaseRequestHead;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.AuditStatusEnum;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.DocumentTypeEnum;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.PaymentStatusEnum;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.SubmitStatus;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.request.*;
|
|
|
-import com.ydtech.modules.order.entity.api.zhongmei.response.*;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.request.*;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.response.*;
|
|
|
+import com.ydtech.modules.order.entity.api.zhongmei.request.ModelsQueryRequest;
|
|
|
+import com.ydtech.modules.order.entity.api.zhongmei.response.ModelsQueryResponse;
|
|
|
import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
|
|
|
import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
|
|
|
import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
|
|
|
-import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
|
|
|
import com.ydtech.modules.order.entity.vo.*;
|
|
|
import com.ydtech.modules.order.service.*;
|
|
|
import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
|
|
|
-import com.ydtech.utils.CalculateUtils;
|
|
|
import com.ydtech.utils.baidu.FileUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.core.ParameterizedTypeReference;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
@@ -120,9 +102,9 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
// modelInquiry(carInfo.getModelcname(), simpleStadarCarDTOS);
|
|
|
|
|
|
// 2.2 过滤车型
|
|
|
- ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO =
|
|
|
- new CarModelsFilterUtils<ModelsQueryResponse.SimpleStadarCarDTO>().to(simpleStadarCarDTOS, carInfo);
|
|
|
-
|
|
|
+// ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO =
|
|
|
+// new CarModelsFilterUtils<ModelsQueryResponse.SimpleStadarCarDTO>().to(simpleStadarCarDTOS, carInfo);
|
|
|
+ ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO=new ModelsQueryResponse.SimpleStadarCarDTO();
|
|
|
//座位数根据前端传入的赋值
|
|
|
if(StringUtils.isNotEmpty(carInfo.getSeatCount())){
|
|
|
int seatCount = Integer.parseInt(carInfo.getSeatCount());
|
|
|
@@ -139,34 +121,38 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
return responseOrder(quotedPriceResponse, quoteRespVo, ptlAgreementAttribution);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 转投保接口
|
|
|
+ * @param companyId 子订单号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public HttpResult<Object> audit(String companyId) {
|
|
|
InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
// 1. 协议id获取配置实体
|
|
|
- ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
+ HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
|
|
|
InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
|
|
|
JSONObject ownerinfo = insOrders.getApplyinfo();
|
|
|
CustomerInfoVo customerInfoVo = ownerinfo.toJavaObject(CustomerInfoVo.class);
|
|
|
// 2. 提交核保
|
|
|
- SubmitResponse response = submitForUnderwriting(insAreaCompany.getId(), insOrders.getFrameno(), customerInfoVo, zmConfigureParameters);
|
|
|
- // 3. 人工核保
|
|
|
- if (SubmitStatus.S_3.getCode().equals(response.getSubmitStatus())) {
|
|
|
- insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
|
|
|
- if(StringUtils.isNotEmpty(response.getSubmitNotion())){
|
|
|
- insAreaCompany.setAuditopinion(response.getSubmitNotion());
|
|
|
- }
|
|
|
- insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
- return HttpResult.error(response.getSubmitNotion());
|
|
|
- }
|
|
|
- // huaTaiRequestApiComponents.validationResults(response);
|
|
|
- // 4. 投保单号
|
|
|
- insAreaCompany.setPaymentLink(response.getPayUrl());
|
|
|
- insAreaCompany.setJqapplyno(response.getForceProposalNo());
|
|
|
- insAreaCompany.setSyapplyno(response.getBizProposalNo());
|
|
|
-// insAreaCompany.setJyapplyno(response.getAccidentProposalNo());
|
|
|
- insAreaCompany.setInsOrderNo(response.getProposalNo());
|
|
|
+ HuaTaiSubmitResponse response = submitForUnderwriting(insAreaCompany.getId(), insOrders.getFrameno(), customerInfoVo, huaTaiConfigureParameters);
|
|
|
+// // 3. 人工核保
|
|
|
+// if (SubmitStatus.S_3.getCode().equals(response.getSubmitStatus())) {
|
|
|
+// insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
|
|
|
+// if(StringUtils.isNotEmpty(response.getSubmitNotion())){
|
|
|
+// insAreaCompany.setAuditopinion(response.getSubmitNotion());
|
|
|
+// }
|
|
|
+// insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
+// return HttpResult.error(response.getSubmitNotion());
|
|
|
+// }
|
|
|
+// // huaTaiRequestApiComponents.validationResults(response);
|
|
|
+// // 4. 投保单号
|
|
|
+// insAreaCompany.setPaymentLink(response.getPayUrl());
|
|
|
+// insAreaCompany.setJqapplyno(response.getForceProposalNo());
|
|
|
+// insAreaCompany.setSyapplyno(response.getBizProposalNo());
|
|
|
+//// insAreaCompany.setJyapplyno(response.getAccidentProposalNo());
|
|
|
+// insAreaCompany.setInsOrderNo(response.getProposalNo());
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
|
|
|
insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
return HttpResult.ok("核保成功");
|
|
|
@@ -174,7 +160,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
|
|
|
@Override
|
|
|
public HttpResult<Object> submitImage(String companyId) {
|
|
|
- InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
+ /* InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
// 1. 协议id获取配置实体
|
|
|
ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
|
|
|
@@ -188,55 +174,91 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
}
|
|
|
UploadImageRequest request = new UploadImageRequest(insTaskImagesBase64s, insOrderNo);
|
|
|
request.setHead(new BaseRequestHead(zmConfigureParameters));
|
|
|
- huaTaiRequestApiComponents.uploadImage(request, UploadImageResponse.class);
|
|
|
+ huaTaiRequestApiComponents.uploadImage(request, UploadImageResponse.class);*/
|
|
|
return HttpResult.ok("上传文件成功");
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 缴费查询
|
|
|
+ * @param companyId 子订单号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public HttpResult<Object> paymentEnquiry(String companyId) {
|
|
|
InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
|
|
|
// 1. 协议id获取配置实体
|
|
|
- ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
+ HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
|
|
|
if (insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
|
|
|
return HttpResult.ok(InsOrderStatusEnum.ACCEPT_INSURANCE.getDesc());
|
|
|
}
|
|
|
|
|
|
// 2. 组装请求体
|
|
|
- OrderStatusRequest orderStatusRequest = new OrderStatusRequest();
|
|
|
- orderStatusRequest.setOrderNo(insAreaCompany.getId());
|
|
|
- orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());
|
|
|
- orderStatusRequest.setHead(new BaseRequestHead(zmConfigureParameters));
|
|
|
-
|
|
|
- //OrderStatusResponse orderStatusResponse = huaTaiRequestApiComponents.orderStatus(orderStatusRequest, OrderStatusResponse.class);
|
|
|
- OrderStatusResponse orderStatusResponse = null;
|
|
|
- String status = orderStatusResponse.getStatus();
|
|
|
-
|
|
|
- // 3. 承保成功修改状态
|
|
|
- if (status.equals(String.valueOf(PaymentStatusEnum.P_2.getCode()))) {
|
|
|
- insAreaCompany.setJqpolicyno(orderStatusResponse.getSubContractNoJ());
|
|
|
- insAreaCompany.setSypolicyno(orderStatusResponse.getSubContractNoS());
|
|
|
-// insAreaCompany.setJypolicyno(orderStatusResponse.getAccidentNo());
|
|
|
- insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
|
|
|
- insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
+ HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest();
|
|
|
+ /* orderStatusRequest.setOrderNo(insAreaCompany.getId());
|
|
|
+ orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());*/
|
|
|
+ orderStatusRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
|
|
|
+
|
|
|
+ HuaTaiOrderStatusResponse orderStatusResponse = huaTaiRequestApiComponents.orderStatus(orderStatusRequest, HuaTaiOrderStatusResponse.class);
|
|
|
+// String status = orderStatusResponse.getStatus();
|
|
|
+//
|
|
|
+// // 3. 承保成功修改状态
|
|
|
+// if (status.equals(String.valueOf(PaymentStatusEnum.P_2.getCode()))) {
|
|
|
+// insAreaCompany.setJqpolicyno(orderStatusResponse.getSubContractNoJ());
|
|
|
+// insAreaCompany.setSypolicyno(orderStatusResponse.getSubContractNoS());
|
|
|
+//// insAreaCompany.setJypolicyno(orderStatusResponse.getAccidentNo());
|
|
|
+// insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
|
|
|
+// insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
+//
|
|
|
+// return HttpResult.ok(PaymentStatusEnum.P_2.getMeaning());
|
|
|
+// }
|
|
|
+//
|
|
|
+// return HttpResult.error(Enum.valueOf(PaymentStatusEnum.class, "P_" + status).getMeaning());
|
|
|
+ return HttpResult.ok("");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 缴费查询
|
|
|
+ * @param companyId 子订单号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public HttpResult<Object> getPaymentUrl(String companyId) {
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
+
|
|
|
+ // 1. 协议id获取配置实体
|
|
|
+ HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
|
|
|
- return HttpResult.ok(PaymentStatusEnum.P_2.getMeaning());
|
|
|
+ if (insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode())) {
|
|
|
+ return HttpResult.ok(InsOrderStatusEnum.ACCEPT_INSURANCE.getDesc());
|
|
|
}
|
|
|
|
|
|
- return HttpResult.error(Enum.valueOf(PaymentStatusEnum.class, "P_" + status).getMeaning());
|
|
|
+ // 2. 组装请求体
|
|
|
+ HuaTaiPaymentUrlRequest orderStatusRequest = new HuaTaiPaymentUrlRequest();
|
|
|
+ /* orderStatusRequest.setOrderNo(insAreaCompany.getId());
|
|
|
+ orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());*/
|
|
|
+ orderStatusRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
|
|
|
+ HuaTaiPaymentUrlResponse orderStatusResponse = huaTaiRequestApiComponents.getPaymentUrl(orderStatusRequest, HuaTaiPaymentUrlResponse.class);
|
|
|
+ return HttpResult.ok("");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *电子保单下载接口
|
|
|
+ * @param policyPrintVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public HttpResult<List<String>> getPolicyPrint(PolicyPrintVo policyPrintVo) {
|
|
|
InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(policyPrintVo.getCompanyId());
|
|
|
// 1. 协议id获取配置实体
|
|
|
- ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
+ HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
InsOrders order = insOrdersService.getById(insAreaCompany.getOrderno());
|
|
|
String licensePlate = order.getLicenseno();
|
|
|
String policyNo;
|
|
|
- String code = DocumentTypeEnum.code(policyPrintVo.getType());
|
|
|
+ /* String code = DocumentTypeEnum.code(policyPrintVo.getType());
|
|
|
String riskCode = policyPrintVo.getRiskCode();
|
|
|
if (InsuranceRisk.TRAFFIC.getCode().equals(riskCode)) {
|
|
|
policyNo = insAreaCompany.getJqpolicyno();
|
|
|
@@ -244,17 +266,16 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
policyNo = insAreaCompany.getJqpolicyno();
|
|
|
} else {
|
|
|
throw new SystemException("险种代码不存在");
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
// 2. 组装请求体
|
|
|
- InsurancePolicyPrintRequest request = new InsurancePolicyPrintRequest();
|
|
|
- request.setRiskCode(InsuranceTypeCorrespondence.getRisk().get(riskCode));
|
|
|
+ HuaTaiInsurancePolicyPrintRequest request = new HuaTaiInsurancePolicyPrintRequest();
|
|
|
+ /* request.setRiskCode(InsuranceTypeCorrespondence.getRisk().get(riskCode));
|
|
|
request.setPolicyNo(policyNo);
|
|
|
request.setDocumentType(code);
|
|
|
- request.setHead(new BaseRequestHead(zmConfigureParameters));
|
|
|
- //InsurancePolicyPrintResponse response = huaTaiRequestApiComponents.insurancePolicyPrint(request, InsurancePolicyPrintResponse.class);
|
|
|
- InsurancePolicyPrintResponse response = null;
|
|
|
- if("1".equals(response.getStatusCode())){
|
|
|
+ request.setHead(new BaseRequestHead(zmConfigureParameters));*/
|
|
|
+ HuaTaiInsurancePolicyPrintResponse response = huaTaiRequestApiComponents.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class);
|
|
|
+ /* if("1".equals(response.getStatusCode())){
|
|
|
List<String> urlList = response.getDownloadUrl();
|
|
|
|
|
|
if(urlList!=null && !urlList.isEmpty()){
|
|
|
@@ -276,8 +297,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
}
|
|
|
}else{
|
|
|
return HttpResult.error("中煤电子保单生成失败,请重试或联系中煤!");
|
|
|
- }
|
|
|
- return HttpResult.ok("下载成功", response.getDownloadUrl());
|
|
|
+ }*/
|
|
|
+ return HttpResult.ok("下载成功"/*, response.getDownloadUrl()*/);
|
|
|
}
|
|
|
|
|
|
public String gainCarInsPolicy(String url, String fileName, String licensePlate) {
|
|
|
@@ -285,27 +306,17 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
return FileUtil.netUrlToFile(url, dir, fileName, uploadFilePath, apiUrl + showFileUrl);
|
|
|
}
|
|
|
/**
|
|
|
- * @param orderNo 中煤订单号
|
|
|
+ * @param orderNo 华泰订单号
|
|
|
* @param frameNo 车架号
|
|
|
* @param customerInfoVo 车辆信息
|
|
|
- * @param zmConfigureParameters 中煤配置参数
|
|
|
+ * @param huaTaiConfigureParameters 华泰配置参数
|
|
|
* @return 核保请求参数
|
|
|
*/
|
|
|
- public SubmitResponse submitForUnderwriting(String orderNo, String frameNo, CustomerInfoVo customerInfoVo, ZmConfigureParameters zmConfigureParameters) {
|
|
|
- SubmitRequest submitRequest = new SubmitRequest();
|
|
|
- submitRequest.setBusinessNo(orderNo);
|
|
|
- submitRequest.setVin(frameNo);
|
|
|
- SubmitRequest.DeliveryInfoDTO deliveryInfoDTO = new SubmitRequest.DeliveryInfoDTO(customerInfoVo.getName(), customerInfoVo.getMobile(),
|
|
|
- // 省
|
|
|
- zmConfigureParameters.getProvince(),
|
|
|
- // 市
|
|
|
- zmConfigureParameters.getCity(),
|
|
|
- // 县
|
|
|
- zmConfigureParameters.getDistrict(), customerInfoVo.getAddr());
|
|
|
- submitRequest.setDeliveryInfo(deliveryInfoDTO);
|
|
|
- submitRequest.setHead(new BaseRequestHead(zmConfigureParameters));
|
|
|
- // return huaTaiRequestApiComponents.submit(submitRequest, SubmitResponse.class);
|
|
|
- return null;
|
|
|
+ public HuaTaiSubmitResponse submitForUnderwriting(String orderNo, String frameNo, CustomerInfoVo customerInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest();
|
|
|
+
|
|
|
+ submitRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
|
|
|
+ return huaTaiRequestApiComponents.submit(submitRequest, HuaTaiSubmitResponse.class);
|
|
|
}
|
|
|
|
|
|
public QuoteRespVo getQuoteRespVo(HuaTaiQuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo yaQuoteInfoVo) {
|
|
|
@@ -396,35 +407,39 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
|
|
|
return HttpResult.ok(quotedPriceResponse.getHead().getReturnMessage(), quoteRespVo);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 提交核保及查询核保状态接口
|
|
|
+ * @param companyId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public HttpResult<Object> auditStatusQuery(String companyId) {
|
|
|
InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
|
|
|
// 1. 协议id获取配置实体
|
|
|
- ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
+ HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, insAreaCompany.getAgreementId());
|
|
|
|
|
|
if (insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
|
|
|
return HttpResult.ok(InsOrderStatusEnum.WAIT_PAY.getDesc());
|
|
|
}
|
|
|
|
|
|
// 2. 组装请求体
|
|
|
- SubmitStatusQueryRequest submitStatusQueryRequest = new SubmitStatusQueryRequest();
|
|
|
- submitStatusQueryRequest.setProposalNo(insAreaCompany.getInsOrderNo());
|
|
|
- submitStatusQueryRequest.setHead(new BaseRequestHead(zmConfigureParameters));
|
|
|
-
|
|
|
- //SubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(submitStatusQueryRequest, SubmitStatusQueryResponse.class);
|
|
|
- SubmitStatusQueryResponse submitStatusQueryResponse = null;
|
|
|
- String underWriteInd = submitStatusQueryResponse.getUnderWriteInd();
|
|
|
+ HuaTaiSubmitStatusQueryRequest submitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest();
|
|
|
+// submitStatusQueryRequest.setProposalNo(insAreaCompany.getInsOrderNo());
|
|
|
+ submitStatusQueryRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
|
|
|
|
|
|
+ HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(submitStatusQueryRequest, HuaTaiSubmitStatusQueryResponse.class);
|
|
|
+// String underWriteInd = submitStatusQueryResponse.getUnderWriteInd();
|
|
|
+ String underWriteInd="";
|
|
|
// 3. 通过返回核保状态修改状态
|
|
|
if ("核保通过".equals(underWriteInd) || "自动核保".equals(underWriteInd)) {
|
|
|
- insAreaCompany.setPaymentLink(submitStatusQueryResponse.getPayUrl());
|
|
|
+// insAreaCompany.setPaymentLink(submitStatusQueryResponse.getPayUrl());//需要调用接口获取支付链接
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());//当核保状态返回核保通过时,调整保单状态为已核保待缴费
|
|
|
insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
return HttpResult.ok(underWriteInd);
|
|
|
}else if("核保不通过".equals(underWriteInd)){//当状态为核保不通过时,调整保单状态为报价中
|
|
|
insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
|
|
|
insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
|
|
|
- return HttpResult.error("核保不通过:"+submitStatusQueryResponse.getIssuedReason());
|
|
|
+ return HttpResult.error("核保不通过:"/*+submitStatusQueryResponse.getIssuedReason()*/);//需要处理放入核保原因
|
|
|
}else {
|
|
|
return HttpResult.ok(underWriteInd);
|
|
|
}
|