Browse Source

永诚验证码有误

wks 2 năm trước cách đây
mục cha
commit
a3fd4911b5

+ 22 - 22
src/main/java/com/ydtech/modules/order/components/huatai/HuaTaiRequestApiComponents.java

@@ -10,8 +10,6 @@ import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseResponse;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiEncryptReq;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiEncryptRes;
 import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiTransCode;
-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.huatai.request.*;
 import com.ydtech.modules.order.entity.api.huatai.response.*;
 import com.ydtech.modules.order.utils.AESUtilsWithDataBase;
@@ -27,6 +25,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
+
 import java.security.SecureRandom;
 import java.util.List;
 
@@ -70,19 +69,19 @@ public class HuaTaiRequestApiComponents {
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", url, busReqString);
         // ----加密starting------------
         //1.先获取16位随机字符串 Key
-        String key=generateRadomStr(8);
+        String key = generateRadomStr(8);
         //2.使用Base64加密请求报文
-        String base64ReqJson= Base64Utils.getBase64Encode(busReqString);
+        String base64ReqJson = Base64Utils.getBase64Encode(busReqString);
         //3. 使用AES算法 秘钥Key  对 base64ReqJson加密
-         String busiContent= AESUtilsWithDataBase.encryptECBPK5Base64(base64ReqJson, key);
+        String busiContent = AESUtilsWithDataBase.encryptECBPK5Base64(base64ReqJson, key);
         //4.对Key 使用RSA算法进行加密
-        String accessToken="";
-        try{
-            accessToken= RSAUtils.rsaEncrypt(key, properties.getHuaTaiPublicKey(),"utf-8");
-        }catch (Exception e){
+        String accessToken = "";
+        try {
+            accessToken = RSAUtils.rsaEncrypt(key, properties.getHuaTaiPublicKey(), "utf-8");
+        } catch (Exception e) {
             throw new SystemException("RSA加密获取accessToken失败!");
         }
-        HuaTaiEncryptReq encryptReq=new HuaTaiEncryptReq();
+        HuaTaiEncryptReq encryptReq = new HuaTaiEncryptReq();
         encryptReq.setInsuredCode(properties.getInsuredCode());
         encryptReq.setSourceCode(properties.getSourceCode());
         encryptReq.setBusiContent(busiContent);
@@ -92,25 +91,25 @@ public class HuaTaiRequestApiComponents {
         HttpEntity<String> httpEntity = new HttpEntity<>(jsonString, httpHeaders);
         //----加密endding------------
         ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
-        String   body = response.getBody();
+        String body = response.getBody();
 
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> 解密前的参数:{}", body);
         // ------解密starting---------
-        HuaTaiEncryptRes encryptRes=JSON.parseObject(body,HuaTaiEncryptRes.class);
+        HuaTaiEncryptRes encryptRes = JSON.parseObject(body, HuaTaiEncryptRes.class);
         //1.通过自己的私钥对key进行解密
-        String resAccessToken="";
-        try{
-            resAccessToken=RSAUtils.rsaDecrypt(encryptRes.getAccessToken(),properties.getSelfPrivateKey(),"UTF-8");
-        }catch (Exception e){
+        String resAccessToken = "";
+        try {
+            resAccessToken = RSAUtils.rsaDecrypt(encryptRes.getAccessToken(), properties.getSelfPrivateKey(), "UTF-8");
+        } catch (Exception e) {
             throw new SystemException("RSA解密获取accessToken失败!");
         }
         //2.用key解密出出参报文
-        String aseDecryptStr=AESUtilsWithDataBase.decryptECBPK5Base64(encryptRes.getBusiContent(),resAccessToken);
+        String aseDecryptStr = AESUtilsWithDataBase.decryptECBPK5Base64(encryptRes.getBusiContent(), resAccessToken);
         //3.使用Base64解密最终返回报文
         String text = Base64Utils.getBase64Decode(aseDecryptStr);
         // ------解密ending---------
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> {}:{}", "响应参数", text);
-        S t= JSON.parseObject(text, tClass);
+        S t = JSON.parseObject(text, tClass);
         if (ObjectUtils.isEmpty(t)) {
             throw new SystemException("请求失败");
         }
@@ -191,7 +190,7 @@ public class HuaTaiRequestApiComponents {
      * 上传影像 传入订单信息,查询是否生成保单成功
      */
     public HuaTaiUploadImageResponse uploadImage(HuaTaiUploadImageRequest request, Class<HuaTaiUploadImageResponse> tClass) {
-        return routineRequest(request, tClass, true,"");
+        return routineRequest(request, tClass, true, "");
     }
 
     /**
@@ -227,9 +226,9 @@ public class HuaTaiRequestApiComponents {
 
     public <T extends HuaTaiBaseResponse> void validationResults(T t) {
         if ("-1".equals(t.getHead().getReturnCode())) {
-            if(StringUtils.isNotEmpty(t.getHead().getReturnMessage())&& t.getHead().getReturnMessage().contains("商业险重复投保") && t.getHead().getReturnMessage().contains("重复投保的本公司的保单信息")){
+            if (StringUtils.isNotEmpty(t.getHead().getReturnMessage()) && t.getHead().getReturnMessage().contains("商业险重复投保") && t.getHead().getReturnMessage().contains("重复投保的本公司的保单信息")) {
 
-            }else{
+            } else {
                 throw new SystemException(t.getHead().getReturnMessage());
             }
 
@@ -239,10 +238,11 @@ public class HuaTaiRequestApiComponents {
 
     /**
      * 生成对应长度的随机字符串
+     *
      * @param length
      * @return
      */
-    private static   String generateRadomStr(int length) {
+    private static String generateRadomStr(int length) {
         SecureRandom random = new SecureRandom();
         byte[] bytes = new byte[length];
         random.nextBytes(bytes);

+ 120 - 131
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -2,18 +2,13 @@ package com.ydtech.modules.order.service.impl;
 
 import cn.hutool.core.util.ArrayUtil;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 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.YaQuoteInfoVo;
-import com.ydtech.modules.ins.model.zm.ZmCarModel;
-import com.ydtech.modules.ins.utils.CompressUtil;
 import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.components.huatai.HuaTaiRequestApiComponents;
 import com.ydtech.modules.order.components.huatai.HuiTaiUploadImageComponents;
@@ -22,24 +17,16 @@ 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.huatai.request.*;
 import com.ydtech.modules.order.entity.api.huatai.response.*;
-import com.ydtech.modules.order.entity.api.zhongmei.BaseRequestHead;
-import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
-import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.SubmitStatus;
-import com.ydtech.modules.order.entity.api.zhongmei.request.ModelsQueryRequest;
-import com.ydtech.modules.order.entity.api.zhongmei.request.UploadImageRequest;
-import com.ydtech.modules.order.entity.api.zhongmei.response.ModelsQueryResponse;
-import com.ydtech.modules.order.entity.api.zhongmei.response.UploadImageResponse;
 import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
-import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.dto.InsUploadImagesDto;
 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.entity.vo.AccidentalDrivingVo;
+import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
+import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
+import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
 import com.ydtech.modules.order.service.*;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
@@ -50,13 +37,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.stream.Collectors;
 
 @Service
@@ -131,7 +116,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         List<HuaTaiModelsQueryResponse.CarModelDto> carModelDtos = huaTaiRequestApiComponents.modelQuery(huaTaiModelsQueryRequest, HuaTaiModelsQueryResponse.class);
 
         List<HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto> fullCarDataDtos = new ArrayList<>();
-        for(HuaTaiModelsQueryResponse.CarModelDto carModelDto : carModelDtos){
+        for (HuaTaiModelsQueryResponse.CarModelDto carModelDto : carModelDtos) {
             fullCarDataDtos.add(carModelDto.getFullCarData());
         }
         // 2.2 过滤车型
@@ -141,17 +126,17 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
         HuaTaiActualValueResponse actualValueResponse = null;
         for (RiskInfoVo riskInfoVo : quoteInfo.getRiskList()) {
-            if("0510".equals(riskInfoVo.getRiskCode())){
+            if ("0510".equals(riskInfoVo.getRiskCode())) {
                 String startDate = riskInfoVo.getStartDate();
-                HuaTaiActualValueRequest huaTaiActualValueRequest = new HuaTaiActualValueRequest(carInfo,fullCarDataDto,startDate);
+                HuaTaiActualValueRequest huaTaiActualValueRequest = new HuaTaiActualValueRequest(carInfo, fullCarDataDto, startDate);
                 huaTaiActualValueRequest.setHead(baseRequestHead);
-                actualValueResponse = huaTaiRequestApiComponents.actualValue(huaTaiActualValueRequest,HuaTaiActualValueResponse.class);
+                actualValueResponse = huaTaiRequestApiComponents.actualValue(huaTaiActualValueRequest, HuaTaiActualValueResponse.class);
             }
         }
 
 
         // 3 组装报价参数
-        HuaTaiQuotedPriceRequest quotedPriceRequest = new HuaTaiQuotedPriceRequest(quoteInfo, fullCarDataDto,actualValueResponse, zmQuoteVo.getAccidentalDrivingVo(), huaTaiConfigureParameters);
+        HuaTaiQuotedPriceRequest quotedPriceRequest = new HuaTaiQuotedPriceRequest(quoteInfo, fullCarDataDto, actualValueResponse, zmQuoteVo.getAccidentalDrivingVo(), huaTaiConfigureParameters);
         quotedPriceRequest.setHead(baseRequestHead);
 
         HuaTaiQuotedPriceResponse quotedPriceResponse = huaTaiRequestApiComponents.quotedPrice(quotedPriceRequest, HuaTaiQuotedPriceResponse.class);
@@ -163,6 +148,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
     /**
      * 转投保接口
+     *
      * @param companyId 子订单号
      * @return
      */
@@ -175,7 +161,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         YaQuoteInfoVo yaQuoteInfoVo = new YaQuoteInfoVo(insOrders);
 
         // 2. 调用转投保接口
-        HuaTaiSubmitResponse response = submitForUnderwriting(yaQuoteInfoVo,insAreaCompany, huaTaiConfigureParameters);
+        HuaTaiSubmitResponse response = submitForUnderwriting(yaQuoteInfoVo, insAreaCompany, huaTaiConfigureParameters);
 
         /**
          * 0	下发修改
@@ -192,78 +178,78 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         String syStatus = "";
         StringBuffer jqNotion = new StringBuffer();
         StringBuffer syNotion = new StringBuffer();
-        for(HuaTaiSubmitResponse.AppliResult appliResult:response.getAppliResult()){
+        for (HuaTaiSubmitResponse.AppliResult appliResult : response.getAppliResult()) {
             appliResult.getStatus();
-            if(StringUtils.isNotEmpty(insAreaCompany.getJqapplyno())){
+            if (StringUtils.isNotEmpty(insAreaCompany.getJqapplyno())) {
                 haveJQFlag = true;
-                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                if (insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())) {
                     jqStatus = appliResult.getStatus();
-                    for(HuaTaiSubmitResponse.Notion notion:appliResult.getNotion()){
-                        jqNotion.append(notion.getUWNotion()+",");
+                    for (HuaTaiSubmitResponse.Notion notion : appliResult.getNotion()) {
+                        jqNotion.append(notion.getUWNotion() + ",");
                     }
                 }
             }
-            if(StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(appliResult.getContractNo())){
+            if (StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(appliResult.getContractNo())) {
                 haveSYFlag = true;
-                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                if (insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())) {
                     syStatus = appliResult.getStatus();
-                    for(HuaTaiSubmitResponse.Notion notion:appliResult.getNotion()){
-                        syNotion.append(notion.getUWNotion()+",");
+                    for (HuaTaiSubmitResponse.Notion notion : appliResult.getNotion()) {
+                        syNotion.append(notion.getUWNotion() + ",");
                     }
                 }
             }
         }
         String totalStatus = "";
         //同保交商
-        if(haveJQFlag && haveSYFlag){
+        if (haveJQFlag && haveSYFlag) {
             //自核通过 和 强制自核
-            if("4,7".contains(jqStatus) && "4,7".contains(syStatus)){
+            if ("4,7".contains(jqStatus) && "4,7".contains(syStatus)) {
                 totalStatus = "4";
             }
             //转人工和转复核
-            if("1,3".contains(jqStatus) || "1,3".contains(syStatus)){
+            if ("1,3".contains(jqStatus) || "1,3".contains(syStatus)) {
                 totalStatus = "1";
             }
-            if("0,6,7".contains(jqStatus) || "0,6,7".contains(syStatus)){
+            if ("0,6,7".contains(jqStatus) || "0,6,7".contains(syStatus)) {
                 totalStatus = "0";
             }
-        }else if((haveJQFlag && !haveSYFlag)||(!haveJQFlag && haveSYFlag)){//单保交强或单保商业
+        } else if ((haveJQFlag && !haveSYFlag) || (!haveJQFlag && haveSYFlag)) {//单保交强或单保商业
             String status = jqStatus;
-            if(StringUtils.isNotEmpty(syStatus)){
+            if (StringUtils.isNotEmpty(syStatus)) {
                 status = syStatus;
             }
-            if("4,7".contains(status)){
+            if ("4,7".contains(status)) {
                 totalStatus = "4";
-            }else if("1,3".contains(status)){
+            } else if ("1,3".contains(status)) {
                 totalStatus = "1";
-            }else if("0,6,7".contains(status)){
+            } else if ("0,6,7".contains(status)) {
                 totalStatus = "0";
             }
         }
 
 
-        if("4".equals(totalStatus)){
+        if ("4".equals(totalStatus)) {
             //再调用缴费接口获取缴费链接
-            String payUrl = getPaymentUrl(insAreaCompany,huaTaiConfigureParameters);
-            if(StringUtils.isNotEmpty(payUrl)){
+            String payUrl = getPaymentUrl(insAreaCompany, huaTaiConfigureParameters);
+            if (StringUtils.isNotEmpty(payUrl)) {
                 insAreaCompany.setPaymentLink(payUrl);
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
                 insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
                 return HttpResult.ok("核保成功");
-            }else{
+            } else {
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
                 insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
                 return HttpResult.error("获取支付链接失败");
             }
-        }else if("1".equals(totalStatus)){
+        } else if ("1".equals(totalStatus)) {
             //再次调用提交核保接口
-            HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany,huaTaiConfigureParameters,"1");
+            HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany, huaTaiConfigureParameters, "1");
             //根据核保返回信息进行更新
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             return HttpResult.error("已转人工核保");
-        }else {
-            String notion = jqNotion.toString()+syNotion.toString();
+        } else {
+            String notion = jqNotion.toString() + syNotion.toString();
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             return HttpResult.error(notion);
@@ -281,18 +267,19 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         if (insUploadImagesDtoList.isEmpty()) {
             throw new SystemException("请检查影像是否上传了");
         }
-        HuaTaiUploadImageRequest request = new HuaTaiUploadImageRequest(insAreaCompany,huaTaiConfigureParameters);
+        HuaTaiUploadImageRequest request = new HuaTaiUploadImageRequest(insAreaCompany, huaTaiConfigureParameters);
         request.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         //调用华泰影像接口获取上传链接地址
         HuaTaiUploadImageResponse response = huaTaiRequestApiComponents.uploadImage(request, HuaTaiUploadImageResponse.class);
         //爬虫方式进行图片上传
-        huiTaiUploadImageComponents.uploadImage(response.getUrl(),insUploadImagesDtoList);
+        huiTaiUploadImageComponents.uploadImage(response.getUrl(), insUploadImagesDtoList);
         return HttpResult.ok("上传文件成功");
     }
 
 
     /**
      * 缴费查询
+     *
      * @param companyId 子订单号
      * @return
      */
@@ -307,7 +294,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
             return HttpResult.ok(InsOrderStatusEnum.ACCEPT_INSURANCE.getDesc());
         }
         // 2. 组装请求体
-        HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest(insAreaCompany,huaTaiConfigureParameters);
+        HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest(insAreaCompany, huaTaiConfigureParameters);
         orderStatusRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         HuaTaiOrderStatusResponse orderStatusResponse = huaTaiRequestApiComponents.orderStatus(orderStatusRequest, HuaTaiOrderStatusResponse.class);
 
@@ -316,54 +303,55 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         String jqFailReason = "";
         String syFailReason = "";
         List<HuaTaiOrderStatusResponse.PayDetaiDto> payDetaiList = orderStatusResponse.getPayDetaiList();
-        for(HuaTaiOrderStatusResponse.PayDetaiDto payDetai:payDetaiList){
+        for (HuaTaiOrderStatusResponse.PayDetaiDto payDetai : payDetaiList) {
             insAreaCompany.getJqapplyno();
             //交强保单号存值
-            if(StringUtils.isNotEmpty(insAreaCompany.getJqapplyno()) && insAreaCompany.getJqapplyno().equals(payDetai.getBUSINESSNO())){
-                if("1".equals(payDetai.getPOLICYSTATUS())){
+            if (StringUtils.isNotEmpty(insAreaCompany.getJqapplyno()) && insAreaCompany.getJqapplyno().equals(payDetai.getBUSINESSNO())) {
+                if ("1".equals(payDetai.getPOLICYSTATUS())) {
                     jqExistFlag = true;
                     insAreaCompany.setJqpolicyno(payDetai.getPOLICYNO());
-                }else{
+                } else {
                     jqFailReason = payDetai.getFAILREASON();
                 }
             }
             //商业保单号存值
-            if(StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(payDetai.getBUSINESSNO())){
-                if("1".equals(payDetai.getPOLICYSTATUS())){
+            if (StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(payDetai.getBUSINESSNO())) {
+                if ("1".equals(payDetai.getPOLICYSTATUS())) {
                     syExistFlag = true;
                     insAreaCompany.setSypolicyno(payDetai.getPOLICYNO());
-                }else{
+                } else {
                     syFailReason = payDetai.getFAILREASON();
                 }
             }
         }
-        if(jqExistFlag||syExistFlag){
+        if (jqExistFlag || syExistFlag) {
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             return HttpResult.ok("保单生成成功");
-        }else{
-            if(StringUtils.isNotEmpty(jqFailReason)||StringUtils.isNotEmpty(syFailReason)){
-                return HttpResult.error("保单生成失败,原因为:"+jqFailReason+syFailReason);
-            }else{
+        } else {
+            if (StringUtils.isNotEmpty(jqFailReason) || StringUtils.isNotEmpty(syFailReason)) {
+                return HttpResult.error("保单生成失败,原因为:" + jqFailReason + syFailReason);
+            } else {
                 return HttpResult.error("保单生成失败,华泰返回异常,请联系管理员排查!");
             }
         }
     }
 
 
-    private String getPaymentUrl(InsAreaCompany insAreaCompany ,HuaTaiConfigureParameters huaTaiConfigureParameters) {
+    private String getPaymentUrl(InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
         String payUrl = "";
-        HuaTaiPaymentUrlRequest huaTaiPaymentUrlRequest = new HuaTaiPaymentUrlRequest(insAreaCompany,huaTaiConfigureParameters);
+        HuaTaiPaymentUrlRequest huaTaiPaymentUrlRequest = new HuaTaiPaymentUrlRequest(insAreaCompany, huaTaiConfigureParameters);
         huaTaiPaymentUrlRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         HuaTaiPaymentUrlResponse paymentUrlResponse = huaTaiRequestApiComponents.getPaymentUrl(huaTaiPaymentUrlRequest, HuaTaiPaymentUrlResponse.class);
-        if(StringUtils.isNotEmpty(paymentUrlResponse.getPayUrl())){
+        if (StringUtils.isNotEmpty(paymentUrlResponse.getPayUrl())) {
             payUrl = paymentUrlResponse.getPayUrl();
         }
         return payUrl;
     }
 
     /**
-     *电子保单下载接口
+     * 电子保单下载接口
+     *
      * @param policyPrintVo
      * @return
      */
@@ -389,44 +377,43 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         request.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         HuaTaiInsurancePolicyPrintResponse response = huaTaiRequestApiComponents.insurancePolicyPrint(request, HuaTaiInsurancePolicyPrintResponse.class);
         CrawlerPolicyPrintVo crawlerPolicyPrintVo = new CrawlerPolicyPrintVo();
-        if("0".equals(response.getHead().getReturnCode())){
+        if ("0".equals(response.getHead().getReturnCode())) {
             List<HuaTaiInsurancePolicyPrintResponse.ElecDownLoadResultDto> urlList = response.getElecDownLoadResultList();
             //接口文档与返回示例不一致,待联调后修改
 
-            if(urlList!=null && !urlList.isEmpty()){
-                for(HuaTaiInsurancePolicyPrintResponse.ElecDownLoadResultDto elecDownLoadResultDto :urlList){
+            if (urlList != null && !urlList.isEmpty()) {
+                for (HuaTaiInsurancePolicyPrintResponse.ElecDownLoadResultDto elecDownLoadResultDto : urlList) {
                     String url = elecDownLoadResultDto.getDownURL();
                     if (InsuranceRisk.TRAFFIC.getCode().equals(riskCode)) {
-                        crawlerPolicyPrintVo.setJqxPolicyUrl(gainCarInsPolicy(url, licensePlate + "-交强险保单.pdf", licensePlate,password));
-                        crawlerPolicyPrintVo.setJqxFlagUrl(gainCarInsPolicy(url, licensePlate + "-交强险标志.pdf", licensePlate,password));
-                    }else if (InsuranceRisk.BUSINESS.getCode().equals(riskCode)) {
-                        crawlerPolicyPrintVo.setSyxPolicyUrl(gainCarInsPolicy(url, licensePlate + "-商业险保单.pdf", licensePlate,password));
+                        crawlerPolicyPrintVo.setJqxPolicyUrl(gainCarInsPolicy(url, licensePlate + "-交强险保单.pdf", licensePlate, password));
+                        crawlerPolicyPrintVo.setJqxFlagUrl(gainCarInsPolicy(url, licensePlate + "-交强险标志.pdf", licensePlate, password));
+                    } else if (InsuranceRisk.BUSINESS.getCode().equals(riskCode)) {
+                        crawlerPolicyPrintVo.setSyxPolicyUrl(gainCarInsPolicy(url, licensePlate + "-商业险保单.pdf", licensePlate, password));
                     }
                     /**
                      * 先下载到本地,然后再解压到固定路径
                      */
                 }
             }
-        }else{
-            return HttpResult.error("获取华泰电子保单失败:"+response.getRegistResult());
+        } else {
+            return HttpResult.error("获取华泰电子保单失败:" + response.getRegistResult());
         }
-        return HttpResult.ok("下载成功",crawlerPolicyPrintVo);
+        return HttpResult.ok("下载成功", crawlerPolicyPrintVo);
     }
 
-    public String gainCarInsPolicy(String url, String fileName, String licensePlate,String password) {
+    public String gainCarInsPolicy(String url, String fileName, String licensePlate, String password) {
         String dir = "carInsPolicy/" + licensePlate + "/";
-        return FileUtil.netUrlStoreToLocal(url, dir, fileName, uploadFilePath, apiUrl + showFileUrl,password,licensePlate);
+        return FileUtil.netUrlStoreToLocal(url, dir, fileName, uploadFilePath, apiUrl + showFileUrl, password, licensePlate);
     }
 
     /**
-     *
      * @param yaQuoteInfoVo
      * @param insAreaCompany
      * @param huaTaiConfigureParameters
      * @return
      */
-    public HuaTaiSubmitResponse submitForUnderwriting(YaQuoteInfoVo yaQuoteInfoVo, InsAreaCompany insAreaCompany,HuaTaiConfigureParameters huaTaiConfigureParameters) {
-        HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest(yaQuoteInfoVo,insAreaCompany,huaTaiConfigureParameters);
+    public HuaTaiSubmitResponse submitForUnderwriting(YaQuoteInfoVo yaQuoteInfoVo, InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest(yaQuoteInfoVo, insAreaCompany, huaTaiConfigureParameters);
         submitRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         return huaTaiRequestApiComponents.submit(submitRequest, HuaTaiSubmitResponse.class);
     }
@@ -438,17 +425,17 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         double syDiscount = 0;
         String jqApplyNo = "";
         String syApplyNo = "";
-        List<HuaTaiQuotedPriceResponse.ContractDto.CoverageDto> syCoverageDtoList =null;
+        List<HuaTaiQuotedPriceResponse.ContractDto.CoverageDto> syCoverageDtoList = null;
         HuaTaiQuotedPriceResponse.ContractDto.TaxDto taxDto = null;
         List<HuaTaiQuotedPriceResponse.ContractDto> contractDtoList = quotedPriceResponse.getBusinessData().getContract();
-        for(HuaTaiQuotedPriceResponse.ContractDto contractDto:contractDtoList){
+        for (HuaTaiQuotedPriceResponse.ContractDto contractDto : contractDtoList) {
             HuaTaiQuotedPriceResponse.ContractDto.ContractMainDto contractMain = contractDto.getContractMain();
-            if("1002".equals(contractMain.getRiskCode())){
+            if ("1002".equals(contractMain.getRiskCode())) {
                 taxDto = contractDto.getTax();
                 jqDiscount = contractMain.getTotalAdjustRate();
                 jqPremium = contractMain.getTotalPremium();
                 jqApplyNo = contractMain.getContractNo();
-            }else{
+            } else {
                 syCoverageDtoList = contractDto.getCoverage();
                 syDiscount = contractMain.getTotalAdjustRate();
                 syPremium = contractMain.getTotalPremium();
@@ -460,7 +447,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         // 报价险种放入保费
         List<QuoteRiskRespVo> riskList1 = QuoteRiskRespVo.toQuoteRiskRespVoList(riskList, jqPremium, syPremium);
 
-        for(QuoteRiskRespVo quoteRiskRespVo:riskList1){
+        for (QuoteRiskRespVo quoteRiskRespVo : riskList1) {
             if (InsuranceRisk.TRAFFIC.getCode().equals(quoteRiskRespVo.getRiskCode())) {
                 quoteRespVo.setStartDateJq(quoteRiskRespVo.getStartDate());
                 quoteRespVo.setEndDateJq(quoteRiskRespVo.getEndDate());
@@ -501,7 +488,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
         double sumPayTax = 0;
         if (!ObjectUtils.isEmpty(taxDto)) {
-            sumPayTax =  taxDto.getSumTax();
+            sumPayTax = taxDto.getSumTax();
         }
         quoteRespVo.setCiSumPermium(CalculateUtils.add(jqPremium, sumPayTax));//交强险和车船税合计
         quoteRespVo.setSumPermium(CalculateUtils.add(jqPremium, syPremium, sumPayTax));//保费合计
@@ -523,22 +510,22 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         List<HuaTaiQuotedPriceResponse.ContractDto> contractDtoList = quotedPriceResponse.getBusinessData().getContract();
         String jqQuerySequenceNo = " ";
         String syQuerySequenceNo = " ";
-        for(HuaTaiQuotedPriceResponse.ContractDto contractDto:contractDtoList) {
+        for (HuaTaiQuotedPriceResponse.ContractDto contractDto : contractDtoList) {
             HuaTaiQuotedPriceResponse.ContractDto.ContractMainDto contractMain = contractDto.getContractMain();
             HuaTaiQuotedPriceResponse.ContractDto.PlatFormMessageDto platFormMessageDto = contractDto.getPlatFormMessage();
             if ("1002".equals(contractMain.getRiskCode())) {
                 jqQuerySequenceNo = platFormMessageDto.getQuerySequenceNo();
                 taxDto = contractDto.getTax();
                 // 车船税
-                TaxArrears taxArrears = new TaxArrears("往年欠税",taxDto.getSumTaxDefault(), taxDto.getSumOverdue());
+                TaxArrears taxArrears = new TaxArrears("往年欠税", taxDto.getSumTaxDefault(), taxDto.getSumOverdue());
                 List<TaxArrears> taxArrearsList = Collections.singletonList(taxArrears);
                 insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(taxArrearsList)));
                 quoteRespVo.setTaxArrears(taxArrearsList);
-            }else{
+            } else {
                 syQuerySequenceNo = platFormMessageDto.getQuerySequenceNo();
             }
         }
-        insAreaCompany.setInsOrderNo(jqQuerySequenceNo+"-"+syQuerySequenceNo);
+        insAreaCompany.setInsOrderNo(jqQuerySequenceNo + "-" + syQuerySequenceNo);
         quoteRespVo.setCompanyId(insAreaCompany.getId());
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany);
         return HttpResult.ok(quotedPriceResponse.getHead().getReturnMessage(), quoteRespVo);
@@ -546,6 +533,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
     /**
      * 提交核保及查询核保状态接口
+     *
      * @param companyId
      * @return
      */
@@ -566,23 +554,23 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         String syStatus = "";
         StringBuffer jqNotion = new StringBuffer();
         StringBuffer syNotion = new StringBuffer();
-        HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany,huaTaiConfigureParameters,"2");
-        for(HuaTaiSubmitStatusQueryResponse.AppliResult appliResult:submitStatusQueryResponse.getAppliResult()){
-            if(StringUtils.isNotEmpty(insAreaCompany.getJqapplyno())){
+        HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = submitStatus(insAreaCompany, huaTaiConfigureParameters, "2");
+        for (HuaTaiSubmitStatusQueryResponse.AppliResult appliResult : submitStatusQueryResponse.getAppliResult()) {
+            if (StringUtils.isNotEmpty(insAreaCompany.getJqapplyno())) {
                 haveJQFlag = true;
-                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                if (insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())) {
                     jqStatus = appliResult.getUnderWriteFlag();
-                    for(HuaTaiSubmitStatusQueryResponse.Notion notion:appliResult.getNotion()){
-                        jqNotion.append(notion.getUWNotion()+",");
+                    for (HuaTaiSubmitStatusQueryResponse.Notion notion : appliResult.getNotion()) {
+                        jqNotion.append(notion.getUWNotion() + ",");
                     }
                 }
             }
-            if(StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(appliResult.getContractNo())){
+            if (StringUtils.isNotEmpty(insAreaCompany.getSyapplyno()) && insAreaCompany.getSyapplyno().equals(appliResult.getContractNo())) {
                 haveSYFlag = true;
-                if(insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())){
+                if (insAreaCompany.getJqapplyno().equals(appliResult.getContractNo())) {
                     syStatus = appliResult.getUnderWriteFlag();
-                    for(HuaTaiSubmitStatusQueryResponse.Notion notion:appliResult.getNotion()){
-                        syNotion.append(notion.getUWNotion()+",");
+                    for (HuaTaiSubmitStatusQueryResponse.Notion notion : appliResult.getNotion()) {
+                        syNotion.append(notion.getUWNotion() + ",");
                     }
                 }
             }
@@ -598,68 +586,69 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
          */
         String totalUnderWriteInd = "";
         //同保交商
-        if(haveJQFlag && haveSYFlag){
+        if (haveJQFlag && haveSYFlag) {
             //已通过核保未实收
-            if("8".contains(jqStatus) && "8".contains(syStatus)){
+            if ("8".contains(jqStatus) && "8".contains(syStatus)) {
                 totalUnderWriteInd = "8";
-            }else if("1".contains(jqStatus) || "1".contains(syStatus)){
+            } else if ("1".contains(jqStatus) || "1".contains(syStatus)) {
                 totalUnderWriteInd = "1";
-            }else if("9".contains(jqStatus) || "9".contains(syStatus)){
+            } else if ("9".contains(jqStatus) || "9".contains(syStatus)) {
                 totalUnderWriteInd = "9";
-            }else{
+            } else {
                 totalUnderWriteInd = "6";
             }
-        }else if((haveJQFlag && !haveSYFlag)||(!haveJQFlag && haveSYFlag)){//单保交强或单保商业
+        } else if ((haveJQFlag && !haveSYFlag) || (!haveJQFlag && haveSYFlag)) {//单保交强或单保商业
             String status = jqStatus;
-            if(StringUtils.isNotEmpty(syStatus)){
+            if (StringUtils.isNotEmpty(syStatus)) {
                 status = syStatus;
             }
-            if("8".contains(status)){
+            if ("8".contains(status)) {
                 totalUnderWriteInd = "8";
-            }else if("1".contains(status)){
+            } else if ("1".contains(status)) {
                 totalUnderWriteInd = "1";
-            }else if("9".contains(status)){
+            } else if ("9".contains(status)) {
                 totalUnderWriteInd = "9";
-            }else{
+            } else {
                 totalUnderWriteInd = "6";
             }
         }
-        String underWriteInd="";
+        String underWriteInd = "";
         // 3. 通过返回核保状态修改状态
         if ("8".equals(totalUnderWriteInd)) {
             //再调用缴费接口获取缴费链接
-            String payUrl = getPaymentUrl(insAreaCompany,huaTaiConfigureParameters);
-            if(StringUtils.isNotEmpty(payUrl)){
+            String payUrl = getPaymentUrl(insAreaCompany, huaTaiConfigureParameters);
+            if (StringUtils.isNotEmpty(payUrl)) {
                 insAreaCompany.setPaymentLink(payUrl);
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
                 insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
                 return HttpResult.ok("核保成功");
-            }else{
+            } else {
                 insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
                 insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
                 return HttpResult.error("获取支付链接失败");
             }
-        }else if("6".equals(underWriteInd)){//当状态为核保不通过时,调整保单状态为报价中
-            String notion = jqNotion.toString()+syNotion.toString();
+        } else if ("6".equals(underWriteInd)) {//当状态为核保不通过时,调整保单状态为报价中
+            String notion = jqNotion.toString() + syNotion.toString();
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-            return HttpResult.error("核保不通过:"+notion);//需要处理放入核保原因
-        }else if("9".equals(underWriteInd)){//当状态为核保不通过时,调整保单状态为报价中
+            return HttpResult.error("核保不通过:" + notion);//需要处理放入核保原因
+        } else if ("9".equals(underWriteInd)) {//当状态为核保不通过时,调整保单状态为报价中
             return HttpResult.ok("正在核保中");//需要处理放入核保原因
-        }else {
+        } else {
             return HttpResult.ok(underWriteInd);
         }
     }
 
     /**
      * 提交核保或核保查询接口
+     *
      * @param insAreaCompany
      * @param huaTaiConfigureParameters
-     * @param operateType 1为提交 2为查询
+     * @param operateType               1为提交 2为查询
      * @return
      */
-    private HuaTaiSubmitStatusQueryResponse submitStatus(InsAreaCompany insAreaCompany,HuaTaiConfigureParameters huaTaiConfigureParameters,String operateType){
-        HuaTaiSubmitStatusQueryRequest huaTaiSubmitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest(insAreaCompany,huaTaiConfigureParameters,operateType);
+    private HuaTaiSubmitStatusQueryResponse submitStatus(InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters, String operateType) {
+        HuaTaiSubmitStatusQueryRequest huaTaiSubmitStatusQueryRequest = new HuaTaiSubmitStatusQueryRequest(insAreaCompany, huaTaiConfigureParameters, operateType);
         huaTaiSubmitStatusQueryRequest.setHead(new HuaTaiBaseRequestHead(huaTaiConfigureParameters));
         HuaTaiSubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(huaTaiSubmitStatusQueryRequest, HuaTaiSubmitStatusQueryResponse.class);
         return submitStatusQueryResponse;

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -278,6 +278,7 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
         boo = reinsuranceCodeError(rr, m);
         if (!boo) {
             InsuranceLog.infoLog(InsuranceEnum.AICS.getPinyin(), "\n\n---------> {} - 转保处理", vinNo);
+            rr = this.getResponse(m, vinNo);
         }
         return rr;
     }
@@ -309,7 +310,6 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
     public HttpResult quoteApi(BaseQuoteVo<AccidentalDrivingVo> quoteVo) throws JsonProcessingException {
 
         requestInfoList = new ArrayList<>();
-
         //获取报价信息
         BaseQuoteInfoVo yaQuoteInfoVo = insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo());