|
|
@@ -3,6 +3,7 @@ package com.jzg.quotation.chengtai.api.service.impl;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.jzg.commons.constants.dict.InsOrderStatusEnum;
|
|
|
import com.jzg.commons.entity.orders.po.InsOrdersCarUserInfo;
|
|
|
import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
|
|
|
@@ -382,19 +383,112 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
|
|
|
List<InsuranceImageVo> imageVoList = insuranceUploadImageVo.getImageVoList();
|
|
|
imageVoList.forEach(imageVo -> {
|
|
|
UploadFileRequest uploadFileRequest = new UploadFileRequest(imageVo, chengTaiApiOrder.getOrderNo(), chengTaiApiProperties.getPartnerCode());
|
|
|
- UploadFileResponse uploadFileResponse = chengTaiRequestApiComponent.submitImage(uploadFileRequest,httpHeaders,chengTaiApiProperties.getPartnerCode());
|
|
|
+ try {
|
|
|
+ UploadFileResponse uploadFileResponse = chengTaiRequestApiComponent.submitImage(uploadFileRequest,httpHeaders,chengTaiApiProperties.getPartnerCode());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new SystemException("上传途中异常,请重新上传或截取图片上传");
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo orderBase) {
|
|
|
- ChengTaiApiOrder chengTaiApiOrder = chengTaiCrawlerOrderService.getById(orderBase.getOrder().getOrdersNo());
|
|
|
- return null;
|
|
|
+ public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
|
|
|
+ // 配置信息
|
|
|
+ ChengTaiApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ChengTaiApiConfigureParameters.class, downloadPolicyVo.getOrder()
|
|
|
+ .getAttributionInformationVo()
|
|
|
+ .getConfigInfo());
|
|
|
+ HttpHeaders httpHeaders = chengTaiRequestApiComponent.getHttpHeaders(parameters);
|
|
|
+
|
|
|
+ DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
|
|
|
+ String jqPolicyNo = downloadPolicyVo.getPolicie().getJqPolicyNo();
|
|
|
+ if(Objects.nonNull(jqPolicyNo)) {
|
|
|
+ queryPolicy(jqPolicyNo, chengTaiApiProperties.getPartnerCode(), httpHeaders,downloadPolicyResultVo);
|
|
|
+ }
|
|
|
+ String syPolicyNo = downloadPolicyVo.getPolicie().getSyPolicyNo();
|
|
|
+ if(Objects.nonNull(syPolicyNo)) {
|
|
|
+ queryPolicy(syPolicyNo,chengTaiApiProperties.getPartnerCode(), httpHeaders,downloadPolicyResultVo);
|
|
|
+ }
|
|
|
+ String jyPolicyNo = downloadPolicyVo.getPolicie().getJyPolicyNo();
|
|
|
+ if(Objects.nonNull(jyPolicyNo)) {
|
|
|
+ queryPolicy(jyPolicyNo,chengTaiApiProperties.getPartnerCode(), httpHeaders,downloadPolicyResultVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ return downloadPolicyResultVo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询保单
|
|
|
+ * @param policyNo
|
|
|
+ * @param partnerCode
|
|
|
+ */
|
|
|
+ private void queryPolicy(String policyNo,String partnerCode,HttpHeaders httpHeaders, DownloadPolicyResultVo downloadPolicyResultVo){
|
|
|
+ DownLoadDocumentUrlRequest request = new DownLoadDocumentUrlRequest(chengTaiApiProperties.getPartnerCode(),policyNo);
|
|
|
+ DownLoadDocumentUrlResponse response = chengTaiRequestApiComponent.downLoadDocumentUrl(request, httpHeaders,partnerCode);
|
|
|
+ if(ResponseCode.R_000.getCode().equals(response.getCode())){
|
|
|
+ if (StringUtils.isNotEmpty(response.getCiDownLoad())) {
|
|
|
+ String jqUrl = response.getCiDownLoad();
|
|
|
+ downloadPolicyResultVo.setJqUrl(jqUrl);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(response.getBiDownLoad())) {
|
|
|
+ String syUrl = response.getCiDownLoad();
|
|
|
+ downloadPolicyResultVo.setSyUrl(syUrl);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(response.getAhiDownLoad())) {
|
|
|
+ String jyUrl = response.getAhiDownLoad();
|
|
|
+ downloadPolicyResultVo.setJyUrl(jyUrl);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new SystemException(response.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
|
|
|
- return null;
|
|
|
+ OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
|
|
|
+ // 配置信息
|
|
|
+ ChengTaiApiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ChengTaiApiConfigureParameters.class, orderStatusVo.getOrder()
|
|
|
+ .getAttributionInformationVo()
|
|
|
+ .getConfigInfo());
|
|
|
+ HttpHeaders httpHeaders = chengTaiRequestApiComponent.getHttpHeaders(parameters);
|
|
|
+
|
|
|
+ SubmitVerifyResultRequest submitVerifyResultRequest = new SubmitVerifyResultRequest(chengTaiApiProperties.getPartnerCode(),orderStatusVo.getOrder().getCompanyOrderNo());
|
|
|
+ SubmitVerifyResultResponse submitVerifyResultResponse = chengTaiRequestApiComponent.auditSaveResult(submitVerifyResultRequest,httpHeaders,chengTaiApiProperties.getPartnerCode());
|
|
|
+
|
|
|
+ // 查询核保结果
|
|
|
+ UnderwritingResultRequest resultRequest = new UnderwritingResultRequest(chengTaiApiProperties.getPartnerCode(),orderStatusVo.getOrder().getCompanyOrderNo());
|
|
|
+ UnderwritingResultResponse underwritingResultResponse = chengTaiRequestApiComponent.auditResult(resultRequest,httpHeaders,chengTaiApiProperties.getPartnerCode());
|
|
|
+ if (OrderStatusEnum.A7005.getCode().equals(submitVerifyResultResponse.getPolicyProsts())
|
|
|
+ || OrderStatusEnum.A7004.getCode().equals(submitVerifyResultResponse.getPolicyProsts())) {
|
|
|
+ // 获取支付链接
|
|
|
+ PayUrlRequest payUrlRequest = new PayUrlRequest(chengTaiApiProperties.getPartnerCode(),orderStatusVo.getOrder().getCompanyOrderNo());
|
|
|
+ PayUrlResponse payUrlResponse = chengTaiRequestApiComponent.getPayUrl(payUrlRequest, httpHeaders,chengTaiApiProperties.getPartnerCode());
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
|
|
|
+ orderStatusResultVo.setPaymentLink(payUrlResponse.getSmsUrl());
|
|
|
+
|
|
|
+ List<SubmitVerifyResultResponse.DataDTO> data = submitVerifyResultResponse.getData();
|
|
|
+ if(CollUtil.isNotEmpty(data)){
|
|
|
+ for (SubmitVerifyResultResponse.DataDTO dataDTO : data) {
|
|
|
+ if(RiskCodeEnum.R1002.getCode().equals(dataDTO.getRiskCode())){
|
|
|
+ orderStatusResultVo.setJqPolicyno(dataDTO.getPolicyCode());
|
|
|
+ orderStatusResultVo.setJqApplyNo(dataDTO.getInsCode());
|
|
|
+ }
|
|
|
+ if (RiskCodeEnum.R0821.getCode().equals(dataDTO.getRiskCode())) {
|
|
|
+ orderStatusResultVo.setSyPolicyno(dataDTO.getPolicyCode());
|
|
|
+ orderStatusResultVo.setSyApplyNo(dataDTO.getInsCode());
|
|
|
+ }
|
|
|
+ if (RiskCodeEnum.R1116.getCode().equals(dataDTO.getRiskCode())) {
|
|
|
+ orderStatusResultVo.setJyPolicyno(dataDTO.getPolicyCode());
|
|
|
+ orderStatusResultVo.setJyApplyNo(dataDTO.getInsCode());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //失败原因
|
|
|
+ orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
|
|
|
+ orderStatusResultVo.setErrorMsg(submitVerifyResultResponse.getMessage());
|
|
|
+ }
|
|
|
+ return orderStatusResultVo;
|
|
|
}
|
|
|
|
|
|
@Data
|