Parcourir la source

添加爬虫 永安 紫金

785834757 il y a 1 an
Parent
commit
1a0e6b6c33

+ 3 - 0
src/main/java/com/ydtech/components/TokenInterceptor.java

@@ -15,6 +15,8 @@ public class TokenInterceptor {
 
     public static SaInterceptor tokenInterceptor() {
         List<String> notMatchList = new ArrayList<>();
+        notMatchList.add("/insurance/crawler/yaSendCode");
+        notMatchList.add("/insurance/crawler/yaVerifySendCode");
         notMatchList.add("/favicon.ico");
         notMatchList.add("/api/demo/**"); // 演示接口
         notMatchList.add("/captcha.jpg**"); // 验证码
@@ -110,6 +112,7 @@ public class TokenInterceptor {
         notMatchList.add("/APPPartner/loginWechat");
         notMatchList.add("/APPPartner/loginAlipay");
 
+
         /**
          * 天天企赋api接口回调
          */

+ 27 - 0
src/main/java/com/ydtech/modules/order/controller/InsCrawlerOrderController.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.ydtech.aop.request.RequestSingleParam;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.base.controller.BaseController;
@@ -8,6 +9,7 @@ import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.order.aop.AuditVerification;
 import com.ydtech.modules.order.aop.QuoteVerification;
 import com.ydtech.modules.order.components.InsOrdersComponents;
+import com.ydtech.modules.order.entity.crawler.response.YaCrawlerVerifyCodeResponse;
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
@@ -134,5 +136,30 @@ public class InsCrawlerOrderController extends BaseController {
     }
 
 
+    @PostMapping(value = "/yaSendCode")
+    @ApiOperation(value = "永安发送客户信息确认验证码")
+    public HttpResult yaSendCode(@RequestBody JSONObject jsonObject) {
+
+        boolean result = insuranceCrawlerOrderService.yaSendCode(jsonObject.getString("companyId"),jsonObject.getString("smsCode"));
+        if(result){
+            return HttpResult.ok("发送成功!");
+        }else{
+            return HttpResult.error("发送失败!");
+        }
+    }
+
+    @PostMapping(value = "/yaVerifySendCode")
+    @ApiOperation(value = "永安发送客户信息校验验证码")
+    public HttpResult yaVerifySendCode(@RequestBody JSONObject jsonObject) throws Exception {
+
+        YaCrawlerVerifyCodeResponse result = insuranceCrawlerOrderService.yaVerifyCode(jsonObject.getString("companyId"),jsonObject.getString("smsCode"));
+        if(result.getCode() == 200){
+            return HttpResult.ok("验证成功",result.getPay_url());
+        }else{
+            return HttpResult.error("验证失败");
+        }
+    }
+
+
 
 }

+ 10 - 0
src/main/java/com/ydtech/modules/order/controller/QrCodeController.java

@@ -108,6 +108,14 @@ public class QrCodeController {
             }
             QrCodeVo qrCodeVo = new QrCodeVo();
             String qrCodeUrl = qrCodeGenAddress + "?areaCompanyId=" + areaCompanyId;
+            if(insAreaCompany.getCompanyId().equals("YAIC1000000")){
+                if(insAreaCompany.getPaymentLink() == null || insAreaCompany.getPaymentLink().contains("pages/orders/verificationPage")) {
+                    qrCodeUrl = "https://sxzgkj.baoxianzhanggui.com/h5/#/pages/orders/verificationPage" + "?companyId=" + areaCompanyId;
+                }else{
+                    qrCodeUrl = insAreaCompany.getPaymentLink();
+                }
+            }
+
             qrCodeVo.setQrCodeUrl(qrCodeUrl);
             qrCodeVo.setInscompany(insAreaCompany.getInscompany());//保险公司
             qrCodeVo.setSumpremium(insAreaCompany.getSumpremium());//总保费
@@ -137,6 +145,7 @@ public class QrCodeController {
         return modelAndView;
     }
 
+
     @PostMapping(value = "/destructionQrCode")
     @ApiOperation(value = "销毁二维码")
     public ModelAndView destructionQrCode(String areaCompanyId) {
@@ -261,6 +270,7 @@ public class QrCodeController {
         }
     }
 
+
     private static List<SysBarcodeConfig> getConfigs(List<SysBarcodeConfig> configs) {
         return configs;
     }

+ 14 - 3
src/main/java/com/ydtech/modules/order/controller/QuoteController.java

@@ -141,9 +141,20 @@ public class QuoteController extends BaseController {
 
         if (PtlApiType.PTL_API_2.getCode() == ptlAgreementAttribution.getApiType()) {
             BaseQuoteVo<QuoteAccidentalDrivingVo> quoteVo1 = new BaseQuoteVo<>();
-            JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(quoteVo.getAccidentalDrivingVo()));
-            QuoteAccidentalDrivingVo javaObject = jsonObject.toJavaObject(QuoteAccidentalDrivingVo.class);
-            BeanUtils.copyProperties(quoteVo, quoteVo1);
+            QuoteAccidentalDrivingVo javaObject = new QuoteAccidentalDrivingVo();
+            if(quoteVo.getCompanyId().equals("ZKIC1000000")){
+                JSONArray objects = JSONArray.parseArray(JSONArray.toJSONString(quoteVo.getAccidentalDrivingVo()));
+                JSONObject jsonObject = new JSONObject();
+                if(objects.size()> 0){
+                    jsonObject = objects.getJSONObject(0);
+                }
+                javaObject = jsonObject.toJavaObject(QuoteAccidentalDrivingVo.class);
+                BeanUtils.copyProperties(quoteVo, quoteVo1);
+            }else {
+                JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(quoteVo.getAccidentalDrivingVo()));
+                javaObject = jsonObject.toJavaObject(QuoteAccidentalDrivingVo.class);
+                BeanUtils.copyProperties(quoteVo, quoteVo1);
+            }
             quoteVo1.setAccidentalDrivingVo(javaObject);
             quoteVo1.setSeatNum(quoteInfo.getCarInfo().getSeatCount());
             BaseQuoteVo baseQuoteVo = insOrdersService.convertDriving(quoteVo1);

+ 10 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/request/CrawlerBaseRequest.java

@@ -26,4 +26,14 @@ public class CrawlerBaseRequest implements Serializable {
     @JsonProperty(value = "username")
     private String username;
 
+    /**
+     * 紫金核保需要的订单id
+     */
+    @JsonProperty(value = "proposalCheckNo")
+    private String proposalCheckNo;
+
+    public CrawlerBaseRequest(String orderNo, String username){
+        this.orderNo = orderNo;
+        this.username = username;
+    }
 }

+ 44 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/request/YaCrawlerSendSmsCodeRequest.java

@@ -0,0 +1,44 @@
+package com.ydtech.modules.order.entity.crawler.request;
+
+import cn.hutool.core.collection.CollUtil;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
+import com.ydtech.utils.StringUtils;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+
+@Data
+@NoArgsConstructor
+public class YaCrawlerSendSmsCodeRequest implements Serializable {
+
+    private static final long serialVersionUID = 01404102263425770704306L;
+
+    /**
+     * 账号
+     */
+    @JsonProperty(value = "username")
+    private String username;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "plyappno")
+    private String plyappno;
+
+    /**
+     * 验证码
+     */
+    @JsonProperty(value = "smsCode")
+    private String smsCode;
+
+    public YaCrawlerSendSmsCodeRequest(PtlAgreementAttributionDto attribution,String plyappno,String smsCode) {
+        this.username = attribution.getUsername();
+        this.plyappno = plyappno;
+        this.smsCode = smsCode;
+
+    }
+
+}

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerQuoteResponse.java

@@ -222,6 +222,12 @@ public class CrawlerQuoteResponse extends CrawlerBaseResponse {
 
         private static final long serialVersionUID = -7644262314380189512L;
 
+        /**
+         * 紫金订单号
+         */
+        @JsonProperty("proposalCheckNo")
+        private String proposalCheckNo;
+
         /**
          * 总评分
          */

+ 29 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/YaCrawlerSendSmsCodeResponse.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.order.entity.crawler.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@NoArgsConstructor
+public class YaCrawlerSendSmsCodeResponse implements Serializable {
+
+    private static final long serialVersionUID = 01404102263425770704306L;
+
+    /**
+     * 账号
+     */
+    @JsonProperty(value = "code")
+    private int code;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "message")
+    private String message;
+
+
+}

+ 66 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/YaCrawlerVerifyCodeResponse.java

@@ -0,0 +1,66 @@
+package com.ydtech.modules.order.entity.crawler.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@NoArgsConstructor
+public class YaCrawlerVerifyCodeResponse implements Serializable {
+
+    private static final long serialVersionUID = 01404102263425770704306L;
+
+    /**
+     * 账号
+     */
+    @JsonProperty(value = "code")
+    private int code;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "message")
+    private String message;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "JQ_Policy")
+    private String JQ_Policy;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "JYX_Policy")
+    private String JYX_Policy;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "SY_Policy")
+    private String SY_Policy;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "pay_url")
+    private String pay_url;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "Application")
+    private String Application;
+
+    /**
+     * 订单号
+     */
+    @JsonProperty(value = "payenddata")
+    private String payenddata;
+
+
+
+
+}

+ 15 - 0
src/main/java/com/ydtech/modules/order/service/InsCrawlerOrderService.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.order.service;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
+import com.ydtech.modules.order.entity.crawler.response.YaCrawlerVerifyCodeResponse;
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
 import com.ydtech.modules.order.entity.dto.ReadPdfUrlListDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
@@ -119,4 +120,18 @@ public interface InsCrawlerOrderService extends BaseOrderService<Object> {
      * @param smscode
      */
     void taishanLogin(String agreementId, String smscode);
+
+    /**
+     * 永安发送客户确认验证码
+     * @param companyId
+     */
+    boolean yaSendCode(String companyId, String smsCode);
+
+    /**
+     * 永安校验客户验证码
+     * @param companyId
+     * @param smsCode
+     * @return
+     */
+    YaCrawlerVerifyCodeResponse yaVerifyCode(String companyId, String smsCode) throws Exception;
 }

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

@@ -30,6 +30,7 @@ import com.ydtech.modules.order.entity.po.SysQuoteRecord;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.service.*;
+import com.ydtech.modules.order.utils.QrCodeGenerator;
 import com.ydtech.modules.protocol.entity.constants.PtlCrawlerApiType;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
 import com.ydtech.modules.protocol.entity.dto.PtlAttributionTemplateDto;
@@ -50,8 +51,12 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.net.URL;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -338,7 +343,15 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
         // 请求地址
         String apiUrl = ptlCrawlerApiService.getApiUrl(insAreaCompany.getAgreementId(), PtlCrawlerApiType.API_4);
         //组装参数
-        CrawlerBaseRequest crawlerBaseRequest = new CrawlerBaseRequest(insAreaCompany.getInsOrderNo(), ptlAgreementAttribution.getUsername());
+        CrawlerBaseRequest crawlerBaseRequest;
+        if(insAreaCompany.getCompanyId().equals("ZKIC1000000")) {
+            String extendInfoStr = String.valueOf(insAreaCompany.getExtendInfo());
+            JSONObject extendInfo = JSONObject.parseObject(extendInfoStr);
+            crawlerBaseRequest = new CrawlerBaseRequest(insAreaCompany.getInsOrderNo(),
+                    ptlAgreementAttribution.getUsername(), extendInfo.getString("proposalCheckNo"));
+        }else {
+            crawlerBaseRequest = new CrawlerBaseRequest(insAreaCompany.getInsOrderNo(), ptlAgreementAttribution.getUsername());
+        }
         CrawlerAuditResponse crawlerAuditResponse = insCrawlerOrderComponents.request(apiUrl, insAreaCompany.getCompanyId(),
                 PtlCrawlerApiType.API_4.getDesc(), crawlerBaseRequest, CrawlerAuditResponse.class);
 
@@ -651,6 +664,13 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
 
         // 保险公司订单号
         insAreaCompany.setInsOrderNo(response.getOrderNo());
+        // 紫金 爬虫 添加订单id 到扩展字段中
+        if(insAreaCompany.getApiType() == 2 && insAreaCompany.getCompanyId().equals("ZKIC1000000")){
+            JSONObject extendInfo = new JSONObject();
+            extendInfo.put("proposalCheckNo",response.getOther().getProposalCheckNo());
+            insAreaCompany.setExtendInfo(extendInfo.toString());
+        }
+
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany, insAreaCompanyAccidentalDriving);
         //清空驾意险信息 重新复制
 //        quoteRespVo.getAccident().clear();
@@ -924,4 +944,58 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             throw new SystemException("验证码已失效!请重新发送!");
         }
     }
+
+    @Override
+    public boolean yaSendCode(String companyId,String smsCode) {
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getById(companyId);
+        PtlAgreementAttribution attribution = ptlAgreementAttributionService.getById(insAreaCompany.getAgreementId());
+        PtlAgreementAttributionDto attributionDto = new PtlAgreementAttributionDto();
+        BeanUtils.copyProperties(attribution, attributionDto);
+        String apiUrl = ptlCrawlerApiService.getByTemplateId(attributionDto.getTemplateId(), PtlCrawlerApiType.API_12);
+        YaCrawlerSendSmsCodeRequest crawlerSendSmsCodeRequest = new YaCrawlerSendSmsCodeRequest(attributionDto,insAreaCompany.getInsOrderNo(),"" );
+        YaCrawlerSendSmsCodeResponse response = insCrawlerOrderComponents.request(apiUrl, InsuranceEnum.TSBX.getCode(), "获取验证码",
+                crawlerSendSmsCodeRequest, YaCrawlerSendSmsCodeResponse.class);
+        if (response.getCode() == 200){
+            return true;
+        }
+        return false;
+    }
+
+
+    @Override
+    public YaCrawlerVerifyCodeResponse yaVerifyCode(String companyId,String smsCode) throws Exception {
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getById(companyId);
+        PtlAgreementAttribution attribution = ptlAgreementAttributionService.getById(insAreaCompany.getAgreementId());
+        PtlAgreementAttributionDto attributionDto = new PtlAgreementAttributionDto();
+        BeanUtils.copyProperties(attribution, attributionDto);
+        String apiUrl = ptlCrawlerApiService.getByTemplateId(attributionDto.getTemplateId(), PtlCrawlerApiType.API_13);
+        YaCrawlerSendSmsCodeRequest crawlerSendSmsCodeRequest = new YaCrawlerSendSmsCodeRequest(attributionDto,insAreaCompany.getInsOrderNo(),smsCode );
+        YaCrawlerVerifyCodeResponse response = insCrawlerOrderComponents.request(apiUrl, InsuranceEnum.TSBX.getCode(), "校验验证码",
+                crawlerSendSmsCodeRequest, YaCrawlerVerifyCodeResponse.class);
+        if (response.getCode() == 200){
+            //回写订单数据
+            insAreaCompany.setJqapplyno(response.getJQ_Policy());
+            insAreaCompany.setSyapplyno(response.getSY_Policy());
+            BufferedImage bufferedImage = ImageFromUrl(response.getPay_url());
+            if (bufferedImage != null) {
+                String pay_url = QrCodeGenerator.decodeQrCode(bufferedImage);
+                insAreaCompany.setPaymentLink(pay_url);
+            }
+            insAreaCompanyService.updateById(insAreaCompany);
+        }
+
+        return response;
+    }
+
+
+    public BufferedImage ImageFromUrl(String urlAddr) {
+        try {
+            URL url = new URL(urlAddr); // 网络图片URL
+            BufferedImage image = ImageIO.read(url);
+            return image;
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }

+ 8 - 2
src/main/java/com/ydtech/modules/order/service/impl/InsOrderPdfUrlServiceImpl.java

@@ -221,7 +221,8 @@ public class InsOrderPdfUrlServiceImpl extends ServiceImpl<InsOrderPdfUrlMapper,
         }
         //永安财险 YAIC   无驾意险保单
         else if(subOrder.getCompanyId().contains(InsuranceEnum.YAIC.getCode())){
-            throw  new SystemException("永安财险报价暂不支持获取保单");
+//            throw  new SystemException("永安财险报价暂不支持获取保单");
+            return insCrawlerOrderService.getPolicyByCompanyIdPdfList(subOrder,insOrders,flag);
             //return yongAnOrderService.getPolicyByCompanyIdPdfList(subOrder,null,flag);
         }
         //华泰财险 HTIC 无驾意险保单
@@ -250,7 +251,12 @@ public class InsOrderPdfUrlServiceImpl extends ServiceImpl<InsOrderPdfUrlMapper,
         }
         //紫金财险 ZKIC  测试通过
         else if(subOrder.getCompanyId().contains(InsuranceEnum.ZKIC.getCode())){
-            return zijinOrderApiService.getPolicyByCompanyIdPdfList(subOrder,insOrders,flag);
+            if(subOrder.getApiType()!=null && subOrder.getApiType()==1){
+                return zijinOrderApiService.getPolicyByCompanyIdPdfList(subOrder,insOrders,flag);
+                //爬虫 测试通过
+            }else if(subOrder.getApiType()!=null && subOrder.getApiType()==2){
+                return insCrawlerOrderService.getPolicyByCompanyIdPdfList(subOrder,insOrders,flag);
+            }
         }
         //诚泰财险 ZKIC  测试通过
         else if(subOrder.getCompanyId().contains(InsuranceEnum.CHAC.getCode())){

+ 4 - 2
src/main/java/com/ydtech/modules/order/service/impl/InsOrderQrCodeServiceImpl.java

@@ -65,8 +65,10 @@ public class InsOrderQrCodeServiceImpl extends ServiceImpl<InsOrderQrCodeMapper,
         if (Objects.isNull(insOrderQrCode)) {
             //如果订单状态等于 待缴费 或 撤销二维码
             if (insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
-                if (Objects.isNull(insAreaCompany.getPaymentLink())) {
-                    throw new SystemException("该订单没有缴费链接");
+                if(!insAreaCompany.getCompanyId().equals("YAIC1000000")) {
+                    if (Objects.isNull(insAreaCompany.getPaymentLink())) {
+                        throw new SystemException("该订单没有缴费链接");
+                    }
                 }
                 save(insAreaCompany.getOrderno(), insAreaCompany.getId(), insAreaCompany.getCompanyId(),
                         insAreaCompany.getPaymentLink(), isWx);

+ 17 - 7
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1006,13 +1006,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         // 永安财险
         if (InsuranceEnum.YAIC.getCode().equals(orderAndAreaCompany.getCompanyId().substring(0, 4)) && orderAndAreaCompany.getIsExternal() == 0) {
             JSONObject reptxt = orderAndAreaCompany.getReptxt();
-            ResponseDataC2 responseDataC2 = JSON.toJavaObject(reptxt, ResponseDataC2.class);
-            List<ExtendInfoDto> extendInfoDtos = responseDataC2.getResponseBody().getExtendInfo();
-            Map<String, String> stringStringMap = extendInfoDtos.stream().collect(LinkedHashMap::new,
-                    (m, v) -> m.put(v.getKey(),
-                            v.getValue()), LinkedHashMap::putAll);
-            yaExtendInfoDto = new YaExtendInfoDto(stringStringMap);
-            orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
+//            ResponseDataC2 responseDataC2 = JSON.toJavaObject(reptxt, ResponseDataC2.class);
+//            List<ExtendInfoDto> extendInfoDtos = responseDataC2.getResponseBody().getExtendInfo();
+//            Map<String, String> stringStringMap = extendInfoDtos.stream().collect(LinkedHashMap::new,
+//                    (m, v) -> m.put(v.getKey(),
+//                            v.getValue()), LinkedHashMap::putAll);
+//            yaExtendInfoDto = new YaExtendInfoDto(stringStringMap);
+//            orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
         }
         InsAreaCompany iac = insAreaCompanyService.getById(companyId);
         yaExtendInfoDto.setInsAreaCompany(iac);
@@ -2078,6 +2078,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             ygQuoteAccidentVo.setQuantityCasualty(String.valueOf(accidentalDrivingVo.getQuantity()));
             yangguangBaseQuoteVo.setAccidentalDrivingVo(Collections.singletonList(ygQuoteAccidentVo));
             return yangguangBaseQuoteVo;
+        } else if (baseQuoteVo.getCompanyId().equals("ZKIC1000000")) {
+            //紫金财险
+            BaseQuoteVo<Object> ziJinYangBaseQuoteVo = new BaseQuoteVo<>();
+            BeanUtils.copyProperties(baseQuoteVo, ziJinYangBaseQuoteVo);
+            JSONObject accidentObject = JSONObject.parseObject(JSONObject.toJSONString(ziJinYangBaseQuoteVo.getAccidentalDrivingVo()));
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("planId", accidentObject.getString("projectCode"));
+            jsonObject.put("rideRiskCode", accidentObject.getString("riskCode"));
+            ziJinYangBaseQuoteVo.setAccidentalDrivingVo(jsonObject);
+            return ziJinYangBaseQuoteVo;
         }
 
         return null;

+ 3 - 1
src/main/java/com/ydtech/modules/protocol/entity/constants/PtlCrawlerApiType.java

@@ -17,7 +17,9 @@ public enum PtlCrawlerApiType {
     API_8(8, "人工核保状态刷新"),
     API_9(9, "撤销订单"),
     API_10(10, "验车码"),
-    API_11(11, "验证码配置");
+    API_11(11, "验证码配置"),
+    API_12(12, "客户信息确认验证码"),
+    API_13(13, "客户信息校验验证码");
 
     private final int code;