jinshihui 10 月之前
父节点
当前提交
fccba22a10
共有 31 个文件被更改,包括 1222 次插入2243 次删除
  1. 0 2
      commons/src/main/java/com/jzg/commons/constants/dict/InsOrderStatusEnum.java
  2. 0 2
      commons/src/main/java/com/jzg/commons/entity/quote/vo/RiskInfoVo.java
  3. 6 2
      commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/DownloadPolicyResultVo.java
  4. 17 1
      commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/DownloadPolicyVo.java
  5. 5 2
      commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/OrderStatusResultVo.java
  6. 1 0
      commons/src/main/java/com/jzg/commons/entity/quote/vo/base/OrderBase.java
  7. 37 66
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerQuoteResultsVoBuild.java
  8. 4 3
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/component/ZiJinBuildingAttributionInformation.java
  9. 52 238
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/component/ZiJinCrawlerRequestComponent.java
  10. 1 1
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerCompaniesRequest.java
  11. 30 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerDownloadPolicyRequest.java
  12. 0 51
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerDownloadRequest.java
  13. 28 6
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerImageUploadRequest.java
  14. 0 34
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerImageUploadRequestDto.java
  15. 85 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerQueryCarPolicyListRequest.java
  16. 24 299
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerQueryOrderStatusRequest.java
  17. 0 722
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerVehicleConfirmationReqeust.java
  18. 140 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerDownloadPolicyResponse.java
  19. 0 72
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerDownloadResponse.java
  20. 24 24
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerImageUploadResponse.java
  21. 0 73
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerImageUploadSubmitResponse.java
  22. 2 2
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerPaymentLinkRequest.java
  23. 33 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerPaymentLinkResponse.java
  24. 0 44
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQrcodeResponse.java
  25. 381 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQueryCarPolicyListResponse.java
  26. 145 404
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQueryOrderStatusResponse.java
  27. 88 0
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/OrderStatus.java
  28. 7 13
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/RequestUrl.java
  29. 4 6
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerOrderServiceImpl.java
  30. 107 175
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerRequestImpl.java
  31. 1 1
      tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/enums/dictionary/CIKind.java

+ 0 - 2
commons/src/main/java/com/jzg/commons/constants/dict/InsOrderStatusEnum.java

@@ -14,10 +14,8 @@ public enum InsOrderStatusEnum implements IBaseEnum {
 
     //所有未提交核保的均为报价中(包括拒保订单 )
     QUOTE_ING("0", "订单已提交", 1, 0),
-
     //已提交核保,并转人工核保状态
     WAIT_AUDIT("1", "待核保", 2, 0),
-
     //自动核保或者人工核保审核通过
     AUDIT_ING("2", "核保中", 3, 0),
     STAFF_PROCESS("3", "人工处理", 3, 0),

+ 0 - 2
commons/src/main/java/com/jzg/commons/entity/quote/vo/RiskInfoVo.java

@@ -51,6 +51,4 @@ public class RiskInfoVo implements Serializable {
      */
     @Schema(description = "是否及时起保")
     private boolean instantFlag;
-
-
 }

+ 6 - 2
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/DownloadPolicyResultVo.java

@@ -8,11 +8,15 @@ import lombok.Data;
  */
 @Data
 public class DownloadPolicyResultVo {
-
-
+    /**
+     * 交强险标志地址
+     */
     @Schema(description = "交强险标志地址")
     private String jqFlagUrl;
 
+    /**
+     * 交强险保单地址
+     */
     @Schema(description = "交强险保单地址")
     private String jqUrl;
 

+ 17 - 1
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/DownloadPolicyVo.java

@@ -7,9 +7,13 @@ import com.jzg.commons.entity.quote.vo.base.OrderBase;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-
 import java.util.List;
 
+/**
+ * @description: 紫金财险爬虫下载保单请求体
+ * @author:
+ * @date:
+ **/
 @NoArgsConstructor
 @AllArgsConstructor
 @Data
@@ -26,6 +30,7 @@ public class DownloadPolicyVo {
      * 投保单号信息
      */
     private InsOrdersPolicy policie;
+
     /**
      * 车辆信息
      */
@@ -35,4 +40,15 @@ public class DownloadPolicyVo {
      * 类型 1 标志 2 保单
      */
     private String type;
+
+     /**
+      * 开始日期
+      */
+    private String beginDate;
+
+    /**
+     * 结束日期
+     */
+    private String endDate;
+
 }

+ 5 - 2
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/OrderStatusResultVo.java

@@ -14,6 +14,11 @@ public class OrderStatusResultVo {
      */
     private InsOrderStatusEnum orderStatus;
 
+    /**
+     * 订单状态(字符串类型)
+     */
+    private String orderStatusStr;
+
     /**
      * 支付链接
      */
@@ -39,7 +44,6 @@ public class OrderStatusResultVo {
      */
     private String jyApplyNo;
 
-
     /**
      * 交强险保单号
      */
@@ -54,5 +58,4 @@ public class OrderStatusResultVo {
      * 驾意险保单号
      */
     private String jyPolicyno;
-
 }

+ 1 - 0
commons/src/main/java/com/jzg/commons/entity/quote/vo/base/OrderBase.java

@@ -77,6 +77,7 @@ public class OrderBase implements Serializable {
 
     /**
      * 获取保险公司编码
+     * @return 保险公司编码
      */
     public String fetchCompanyCode() {
         if(!StringUtils.hasLength(this.insuranceCompanyCode)) {

+ 37 - 66
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/build/ZiJinCrawlerQuoteResultsVoBuild.java

@@ -12,31 +12,39 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
- * @description: 渤海财险爬虫报价结果构建器
+ * @description: 紫金财险爬虫报价结果构建器
  * @author:
  * @date:
  **/
 public class ZiJinCrawlerQuoteResultsVoBuild {
+    /**
+     * 处理报价失败结果
+     * @param ziJinCrawlerQuotationResponse
+     * @return QuoteResultsVo
+     */
+    public static QuoteResultsVo buildQuoteFailResultsVo(ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse) {
+        QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
+        quoteResultsVo.setCompanyOrderNo("");
+        // 报价失败提示
+        quoteResultsVo.setErrorMessage(ziJinCrawlerQuotationResponse.getRtnMsg());
+        //设置报价状态
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
+        return quoteResultsVo;
+    }
 
-    public static QuoteResultsVo buildQuoteResultsVo(String ordersNo, QuoteVo quoteVo, ZiJinCrawlerQuotationResponse boHaiCrawlerQuotationResponse) {
+    public static QuoteResultsVo buildQuoteResultsVo(String ordersNo, QuoteVo quoteVo, ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse) {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(ordersNo);
 
-        // 设置交强险信息
-        if (boHaiCrawlerQuotationResponse.getData().getTrafficPolicy() != null) {
-            quoteResultsVo.setCiRiskInfoVo(buildCiRiskInfoVo(boHaiCrawlerQuotationResponse));
-        }
-
-        // 设置商业险信息
-        if (boHaiCrawlerQuotationResponse.getData().getBusinessPolicy() != null) {
-            quoteResultsVo.setBiRiskInfoVo(buildBiRiskInfoVo(boHaiCrawlerQuotationResponse));
-            // 商业险险种信息
-            List<KindInfoVo> kindInfoVo = buildKindInfoVo(quoteVo.getKindInfoVo(), boHaiCrawlerQuotationResponse.getData().getBusinessPolicy().getCoverages());
-            quoteResultsVo.setKindInfoVo(kindInfoVo);
+        if (ziJinCrawlerQuotationResponse.getItemKindList() != null) {
+            // 设置交强险信息
+            quoteResultsVo.setCiRiskInfoVo(buildCiRiskInfoVo(ziJinCrawlerQuotationResponse));
+            // 设置商业险信息
+            quoteResultsVo.setBiRiskInfoVo(buildBiRiskInfoVo(ziJinCrawlerQuotationResponse));
         }
 
         // 交强保费 车船税 商业保费
-        buildPremium(quoteResultsVo, boHaiCrawlerQuotationResponse);
+        buildPremium(quoteResultsVo, ziJinCrawlerQuotationResponse);
         //设置报价状态:带核保
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         return quoteResultsVo;
@@ -48,82 +56,45 @@ public class ZiJinCrawlerQuoteResultsVoBuild {
      * @return RiskInfoVo
      */
     public static RiskInfoVo buildCiRiskInfoVo(ZiJinCrawlerQuotationResponse quotationResponse) {
-        ZiJinCrawlerQuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = quotationResponse.getData().getTrafficPolicy();
         RiskInfoVo riskInfoVo = new RiskInfoVo();
-        riskInfoVo.setStartDate(trafficPolicy.getStartDate());
-        riskInfoVo.setEndDate(trafficPolicy.getEndDate());
+        riskInfoVo.setStartDate(quotationResponse.getBasePart().getStartDateCI());
+        riskInfoVo.setEndDate(quotationResponse.getBasePart().getEndDateCI());
         return riskInfoVo;
     }
 
     /**
      * 处理商业险数据
      * @param quotationResponse
-     * @return
+     * @return RiskInfoVo
      */
     public static RiskInfoVo buildBiRiskInfoVo(ZiJinCrawlerQuotationResponse quotationResponse) {
-        // 获取商业险数据
-        ZiJinCrawlerQuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = quotationResponse.getData().getBusinessPolicy();
         RiskInfoVo riskInfoVo = new RiskInfoVo();
-        riskInfoVo.setStartDate(businessPolicy.getStartDate());
-        riskInfoVo.setEndDate(businessPolicy.getEndDate());
+        riskInfoVo.setStartDate(quotationResponse.getBasePart().getStartDate());
+        riskInfoVo.setEndDate(quotationResponse.getBasePart().getEndDate());
         return riskInfoVo;
     }
 
-    /**
-     * 处理商业险信息
-     * @param kindInfoVo
-     * @param coverageListDTOS
-     * @return
-     */
-    private static List<KindInfoVo> buildKindInfoVo(List<KindInfoVo> kindInfoVo, List<ZiJinCrawlerQuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO> coverageListDTOS) {
-        Map<String, ZiJinCrawlerQuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO> collect = coverageListDTOS.stream()
-                .collect(Collectors.toMap(ZiJinCrawlerQuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO::getCoverageCode, x -> x));
-        kindInfoVo.forEach(kind -> {
-            ZiJinCrawlerQuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO coverageListDTO = collect.get(kind.getKindCode());
-            if (coverageListDTO.getCoverageCode().equals(kind.getKindCode())) {
-                kind.setAmount(String.valueOf(coverageListDTO.getSumInsurd()));//设置保额
-                kind.setPremium(String.valueOf(coverageListDTO.getPremium()));//设置保费
-            }
-        });
-        return kindInfoVo;
-    }
-
     /**
      * 设置商业险,交强险保费
      * @param quoteResultsVo
      * @param quotationResponse
      */
     private static void buildPremium(QuoteResultsVo quoteResultsVo, ZiJinCrawlerQuotationResponse quotationResponse) {
-        // 设置商业险保费
-        if (Objects.nonNull(quotationResponse.getData().getBusinessPolicy())){
-            quoteResultsVo.getCosts().setBiPremium(String.valueOf(quotationResponse.getData().getBusinessPolicy().getPremium()));
-        }
         // 设置交强险保费
-        if (Objects.nonNull(quotationResponse.getData().getTrafficPolicy())) {
-            quoteResultsVo.getCosts().setCiPremium(String.valueOf(quotationResponse.getData().getTrafficPolicy().getPremium()));
+        if (Objects.nonNull(quotationResponse.getPlanList())) {
+            quoteResultsVo.getCosts().setCiPremium(String.valueOf(quotationResponse.getPlanList().get(1).getPlanFee()));
         }
         // 设置车船税
-        quoteResultsVo.getCosts().setVvTax(String.valueOf(quotationResponse.getData().getTrafficPolicy().getVehicleTax().getTotalAmount()));
+        quoteResultsVo.getCosts().setVvTax(String.valueOf(quotationResponse.getPlanList().get(2).getPlanFee()));
+        // 设置商业险保费
+        if (Objects.nonNull(quotationResponse.getPlanList())){
+            quoteResultsVo.getCosts().setBiPremium(String.valueOf(quotationResponse.getPlanList().get(0).getPlanFee()));
+        }
         // 设置非车险(驾意险)保费
-        ZiJinCrawlerQuotationResponse.DataDTO.UnAutoPremiumDTO unAutoPremium = quotationResponse.getData().getUnAutoPremium();
-        if (unAutoPremium != null) {
-            quoteResultsVo.getCosts().setNiPremium(unAutoPremium.getPremium());
+        ZiJinCrawlerQuotationResponse.CarPolicySubInfoList carPolicySubInfoList = quotationResponse.getCarPolicySubInfoList().get(0);
+        if (carPolicySubInfoList != null) {
+            quoteResultsVo.getCosts().setNiPremium(carPolicySubInfoList.getActualPremium());
         }
     }
 
-    /**
-     * 处理报价失败结果
-     * @param ziJinCrawlerQuotationResponse
-     * @return QuoteResultsVo
-     */
-    public static QuoteResultsVo buildQuoteFailResultsVo(ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse) {
-        QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
-        quoteResultsVo.setCompanyOrderNo("");
-        // 报价失败提示
-        quoteResultsVo.setErrorMessage(ziJinCrawlerQuotationResponse.getRtnMsg());
-        //设置报价状态
-        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
-        return quoteResultsVo;
-    }
-
 }

+ 4 - 3
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/component/ZiJinBuildingAttributionInformation.java

@@ -12,7 +12,7 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Component;
 
 /**
- * @description: 渤海财险 归属配置
+ * @description: 紫金财险归属配置
  * @author: wenks
  * @date: 2025/3/3 11:59
  **/
@@ -24,7 +24,7 @@ public class ZiJinBuildingAttributionInformation {
     private final ZiJinCrawlerRequestComponent boHaiCrawlerRequestComponent;
 
     public ProposalInfoDTO build(ZiJinCrawlerConfigureParameters parameters, String operatorCode, HttpHeaders headers) {
-        try {
+        /*try {
             // 机构查询
             ZiJinCrawlerCompaniesRequest boHaiCrawlerCompaniesRequest = new ZiJinCrawlerCompaniesRequest(parameters.getCDptCde(), parameters.getLoginCompany(), operatorCode);
             ZiJinCrawlerCompaniesResponse.ListDTO companies = boHaiCrawlerRequestComponent.companies(boHaiCrawlerCompaniesRequest, parameters.getCDptCde(), headers);
@@ -37,7 +37,8 @@ public class ZiJinBuildingAttributionInformation {
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException(e);
-        }
+        }*/
+        return null;
     }
 
 }

+ 52 - 238
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/component/ZiJinCrawlerRequestComponent.java

@@ -2,9 +2,7 @@ package com.jzg.quotation.zijin.crawler.component;
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson2.JSON;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.zxing.NotFoundException;
-import com.jzg.commons.entity.quote.vo.image.InsuranceImageVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.zijin.crawler.enums.RequestUrl;
 import com.jzg.quotation.zijin.crawler.entity.request.*;
@@ -17,12 +15,10 @@ import com.jzg.quotation.commons.utils.RequestObjectConversion;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.jetbrains.annotations.NotNull;
-import org.springframework.core.io.ByteArrayResource;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 
@@ -133,40 +129,11 @@ public class ZiJinCrawlerRequestComponent {
         ZiJinCrawlerAuthenticateRequest request = new ZiJinCrawlerAuthenticateRequest(captcha, username, password);
         //ZiJinCrawlerBaseRequest crawlerBaseRequest = new ZiJinCrawlerBaseRequest(request);
         ZiJinCrawlerBaseRequest crawlerBaseRequest = null;
-        return requestComponent.objectPost(RequestUrl.AUTHENTICATE.getRequestUrl(""), crawlerBaseRequest, ZiJinCrawlerBaseResponse.class);
+        //return requestComponent.objectPost(RequestUrl.AUTHENTICATE.getRequestUrl(""), crawlerBaseRequest, ZiJinCrawlerBaseResponse.class);
+        return null;
     }
 
 
-    /**
-     * 解析JSON字符串为ZiJinCrawlerImageUploadResponse
-     *
-     * @param jsonString JSON字符串
-     * @return ZiJinCrawlerImageUploadResponse
-     */
-    public static ZiJinCrawlerImageUploadResponse parseImageUploadResponse(String jsonString) {
-        try {
-            JSONObject jsonObject = com.alibaba.fastjson.JSON.parseObject(jsonString);
-            // 创建响应对象
-            ZiJinCrawlerImageUploadResponse response = new ZiJinCrawlerImageUploadResponse();
-            Map<String, ZiJinCrawlerImageUploadResponse.ImageInfo> dataMap = new HashMap<>();
-            // 遍历所有键值对
-            for (String fileName : jsonObject.keySet()) {
-                JSONObject imageJson = jsonObject.getJSONObject(fileName);
-                if (imageJson != null) {
-                    ZiJinCrawlerImageUploadResponse.ImageInfo imageInfo = new ZiJinCrawlerImageUploadResponse.ImageInfo();
-                    imageInfo.setPageUrl(imageJson.getString("PAGE_URL"));
-                    imageInfo.setThumUrl(imageJson.getString("THUM_URL"));
-                    dataMap.put(fileName, imageInfo);
-                }
-            }
-            response.setData(dataMap);
-            return response;
-        } catch (Exception e) {
-            log.error("解析图片上传响应失败: {}", e.getMessage(), e);
-            throw new RuntimeException("JSON解析失败", e);
-        }
-    }
-
     /**
      * 获取渠道信息
      *
@@ -175,30 +142,14 @@ public class ZiJinCrawlerRequestComponent {
      * @return 获取渠道信息响应
      */
     public ZiJinCrawlerGetSaleInfoResponse getSaleInfo(String operatorCode, HttpHeaders headers) {
-        String url = RequestUrl.GET_SALE_INFO.getRequestUrl("") + operatorCode;
+        //String url = RequestUrl.GET_SALE_INFO.getRequestUrl("") + operatorCode;
+        String url = "";
         MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
         map.add("operatorCode", operatorCode);
         ZiJinCrawlerBaseResponse daJiaCrawlerBaseResponse = requestComponent.get(url, map, "", ZiJinCrawlerBaseResponse.class, headers);
         return DESEncryption.decryptStrToObject(daJiaCrawlerBaseResponse.getResult(), ZiJinCrawlerGetSaleInfoResponse.class);
     }
 
-    /**
-     * 获取套餐信息
-     *
-     * @param request      获取套餐 请求实体
-     * @param packagesName 套餐名称
-     * @param headers      请求头
-     * @return ZiJinCrawlerChannelPackagesResponse 套餐信息
-     */
-    public ZiJinCrawlerChannelPackagesResponse channelPackages(ZiJinCrawlerChannelPackagesRequest request, String packagesName, HttpHeaders headers) {
-        MultiValueMap<String, String> describe = RequestObjectConversion.convertMultiValueStringMap(request);
-        ZiJinCrawlerBaseResponse daJiaCrawlerBaseResponse = requestComponent.get("", describe, "", ZiJinCrawlerBaseResponse.class, headers);
-        List<ZiJinCrawlerChannelPackagesResponse> responses = DESEncryption.decryptStrToObjectList(daJiaCrawlerBaseResponse.getResult(), ZiJinCrawlerChannelPackagesResponse.class);
-        return responses.stream()
-                .filter(x -> packagesName.equals(x.getName()))
-                .findFirst()
-                .orElseThrow(() -> new SystemException(""));
-    }
 
     /**
      * 查询车辆信息
@@ -279,206 +230,49 @@ public class ZiJinCrawlerRequestComponent {
     /**
      * 上传影像件
      *
-     * @param imageUploadRequest
-     * @return ZiJinCrawlerImageUploadSubmitResponse
-     */
-    public ZiJinCrawlerImageUploadSubmitResponse uploadImage(ZiJinCrawlerImageUploadRequestDto boHaiCrawlerImageUploadRequest, HttpHeaders headers) throws Exception {
-        //1、调用第一个接口:上传图片
-        List<String> imageNameList = new LinkedList<>();
-        List<InsuranceImageVo> imageVoList = boHaiCrawlerImageUploadRequest.getImageVoList();
-        //生成批次号
-        String batchNumber = "";
-        for (InsuranceImageVo insuranceImageVo : imageVoList) {
-            if (Objects.nonNull(insuranceImageVo)) {
-                List<InsuranceImageVo.ImageDTO> imageBase64List = insuranceImageVo.getImageBase64List();
-                for (InsuranceImageVo.ImageDTO imageDTO : imageBase64List) {
-                    imageDTO.setBatchNum(batchNumber);
-                    ZiJinCrawlerImageUploadResponse boHaiCrawlerImageUploadResponse = uploadImage(imageDTO, headers);
-                    Map<String, ZiJinCrawlerImageUploadResponse.ImageInfo> data = boHaiCrawlerImageUploadResponse.getData();
-                    data.keySet().forEach(key -> imageNameList.add(key));
-                }
-            }
-        }
-        log.info("调用渤海保司第一个上传接口成功");
-
-        //2、调用第二个接口:上传图片提交
-        ZiJinCrawlerImageUploadSubmitRequest boHaiCrawlerImageUploadSubmitRequest = buildImageUploadSubmitRequest(
-                boHaiCrawlerImageUploadRequest, imageNameList, batchNumber);
-        //String jsonString = JSON.toJSONString(request);
-        ObjectMapper objectMapper = new ObjectMapper();
-        String jsonString = objectMapper.writeValueAsString(boHaiCrawlerImageUploadSubmitRequest);
-        log.info("请求参数:{}", jsonString);
-        // 参数加密
-        String encrypt = DESUtil.des_encrypt(jsonString);
-        log.info("请求参数加密:{}", encrypt);
-        //生成md5值
-        String md5Value = DESUtil.md5(encrypt + "c2lub3NvZnQuY2hhbm5lbC55ZHBpYw==");
-        log.info("请求参数md5的值:{}", md5Value);
-
-        ZiJinCrawlerImageUploadSubmitEncryptionRequest boHaiCrawlerImageUploadSubmitEncryptionRequest = new ZiJinCrawlerImageUploadSubmitEncryptionRequest();
-        boHaiCrawlerImageUploadSubmitEncryptionRequest.setEncryptionData(encrypt);
-        boHaiCrawlerImageUploadSubmitEncryptionRequest.setMd5(md5Value);
-
-        ZiJinCrawlerImageUploadSubmitResponse boHaiCrawlerImageUploadSubmitResponse = executeRequest(RequestType.ENCRYPTED, RequestUrl.UPLOAD_SUBMIT, boHaiCrawlerImageUploadSubmitEncryptionRequest, ZiJinCrawlerImageUploadSubmitResponse.class, headers);
-        String returnCode = boHaiCrawlerImageUploadSubmitResponse.getHead().getReturnCode();
-        if (!"0".equals(returnCode)) {
-            log.error("上传影像提交失败,返回码:{},返回消息:{}", returnCode, boHaiCrawlerImageUploadSubmitResponse.getHead().getReturnMessage());
-            throw new SystemException("上传影像提交失败,返回码:" + returnCode + ",返回消息:" + boHaiCrawlerImageUploadSubmitResponse.getHead().getReturnMessage());
-        } else {
-            log.info("上传影像成功");
-        }
-        return boHaiCrawlerImageUploadSubmitResponse;
-    }
-
-    /**
-     * 构建图片上传提交请求对象
-     *
-     * @param boHaiCrawlerImageUploadRequest 请求DTO
-     * @param files                          文件数组
-     * @param batchNumber                    批次号
-     * @return ZiJinCrawlerImageUploadSubmitRequest
-     */
-    private ZiJinCrawlerImageUploadSubmitRequest buildImageUploadSubmitRequest(
-            ZiJinCrawlerImageUploadRequestDto boHaiCrawlerImageUploadRequest, List<String> imageNameList, String batchNumber) {
-
-        ZiJinCrawlerImageUploadSubmitRequest submitRequest = new ZiJinCrawlerImageUploadSubmitRequest();
-        // 设置请求头信息
-        ZiJinCrawlerImageUploadSubmitRequest.Head head = new ZiJinCrawlerImageUploadSubmitRequest.Head();
-        head.setToken("");
-        head.setTransType("Req");
-        head.setTransCode("UploadImage");
-        submitRequest.setHead(head);
-
-        // 设置用户和机构信息
-        submitRequest.setUserCode("114050281");
-        submitRequest.setUserName("郝壮明");
-        submitRequest.setOrgCode("14070201");
-        submitRequest.setOrgName("山西分公司介休支公司业务一部");
-
-        // 设置业务代码
-        submitRequest.setCode("ECM10002");
-        submitRequest.setRoleCode("cxcb");
-        // 设置批次号
-        submitRequest.setBatchNum(batchNumber);
-
-        // 构建批次列表
-        List<ZiJinCrawlerImageUploadSubmitRequest.BatchInfo> bathList = new ArrayList<>();
-        ZiJinCrawlerImageUploadSubmitRequest.BatchInfo batchInfo = new ZiJinCrawlerImageUploadSubmitRequest.BatchInfo();
-        //分类代码(重要)
-        batchInfo.setAppCode("CXCB_TB");
-        batchInfo.setAppName("车险投保资料");
-        batchInfo.setBusiNo(boHaiCrawlerImageUploadRequest.getOrderNo());
-
-        // 构建页面列表
-        List<ZiJinCrawlerImageUploadSubmitRequest.PageInfo> pagelist = new ArrayList<>();
-        ZiJinCrawlerImageUploadSubmitRequest.PageInfo pageInfo = new ZiJinCrawlerImageUploadSubmitRequest.PageInfo();
-        pageInfo.setId("CXCB_TB001");
-
-        // 构建子分类列表
-        List<ZiJinCrawlerImageUploadSubmitRequest.ChildInfo> children = new ArrayList<>();
-        ZiJinCrawlerImageUploadSubmitRequest.ChildInfo childInfo = new ZiJinCrawlerImageUploadSubmitRequest.ChildInfo();
-        childInfo.setId("CXCB_TB001001");
-
-        // 构建页面详情列表
-        List<ZiJinCrawlerImageUploadSubmitRequest.PageDetail> pages = new ArrayList<>();
-        for (String imageName : imageNameList) {
-            ZiJinCrawlerImageUploadSubmitRequest.PageDetail pageDetail = new ZiJinCrawlerImageUploadSubmitRequest.PageDetail();
-            pageDetail.setFileName(imageName);
-            pages.add(pageDetail);
-        }
-        childInfo.setPages(pages);
-        children.add(childInfo);
-        pageInfo.setChildren(children);
-        pagelist.add(pageInfo);
-        batchInfo.setPagelist(pagelist);
-
-        batchInfo.setComCode("14070201");
-        batchInfo.setComName("山西分公司介休支公司业务一部");
-        batchInfo.setUserCode("114050281");
-        batchInfo.setUserName("郝壮明");
-
-        bathList.add(batchInfo);
-        submitRequest.setBathList(bathList);
-
-        submitRequest.setRoleCodeJS("cxcb_image_cd");
-        return submitRequest;
-    }
-
-    /**
-     * 上传影像文件 第一个接口
-     *
-     * @param imageDTO
+     * @param ziJinCrawlerImageUploadRequest
      * @param headers
      * @return ZiJinCrawlerImageUploadResponse
      */
-    public ZiJinCrawlerImageUploadResponse uploadImage(InsuranceImageVo.ImageDTO imageDTO, HttpHeaders headers) {
-        try {
-            if (imageDTO.getImageBase64Str() == null || imageDTO.getImageBase64Str().equals("")) {
-                log.error("base64字符串不能为空");
-                throw new SystemException("base64字符串不能为空");
-            }
-            if (imageDTO.getImageByte() == null || imageDTO.getImageByte().length == 0) {
-                log.error("字节数组不能为空");
-                throw new SystemException("字节数组不能为空");
-            }
+    public ZiJinCrawlerImageUploadResponse uploadImage(ZiJinCrawlerImageUploadRequest ziJinCrawlerImageUploadRequest, HttpHeaders headers) throws Exception {
+        //设置headers
+        HttpHeaders httpHeaders = ziJinCrawlerRequestComponent.setHttpHeaders();
+        String jsonString = JSON.toJSONString(ziJinCrawlerImageUploadRequest);
+        ResponseEntity<ZiJinCrawlerImageUploadResponse> responseEntity = requestComponent.post(RequestUrl.UPLOAD_IMAGE.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), jsonString, ZiJinCrawlerImageUploadResponse.class, httpHeaders);
+        return responseEntity.getBody();
+    }
 
-            //验证base64和字节数组是否匹配
-            byte[] base64DecodedBytes = Base64.getDecoder().decode(imageDTO.getImageBase64Str());
-            if (!Arrays.equals(base64DecodedBytes, imageDTO.getImageByte())) {
-                log.warn("base64字符串与字节数组不匹配");
-            }
 
-            // 构建完整请求URL - batchNum作为查询参数
-            String fullUrl = RequestUrl.UPLOAD_IMAGE.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()) + "?batchNum=" + imageDTO.getBatchNum();
-            log.info("影像上传接口一地址:{}", fullUrl);
-            //创建请求体
-            MultiValueMap<String, Object> requestBody = new LinkedMultiValueMap<>();
-            ByteArrayResource resource = new ByteArrayResource(imageDTO.getImageByte()) {
-                @Override
-                public String getFilename() {
-                    return imageDTO.getImageName();
-                }
-            };
-            requestBody.add("file[]", resource);
-            ZiJinCrawlerImageUploadResponse boHaiCrawlerImageUploadResponse = executeRequest(RequestType.FILE_UPLOAD, fullUrl, requestBody, ZiJinCrawlerImageUploadResponse.class, headers);
-            log.info("boHaiCrawlerImageUploadResponse对象的值:{}", JSON.toJSONString(boHaiCrawlerImageUploadResponse));
-            Map<String, ZiJinCrawlerImageUploadResponse.ImageInfo> data = boHaiCrawlerImageUploadResponse.getData();
-            if (CollectionUtils.isEmpty(data)) {
-                log.error("上传影像失败,返回数据为空");
-                throw new SystemException("上传影像失败,返回数据为空");
-            }
-            return boHaiCrawlerImageUploadResponse;
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new SystemException("上传影像异常: " + e.getMessage());
-        }
-    }
 
     /**
      * 获取支付链接
      *
-     * @param ziJinCrawlerPaymentQueryRequest
+     * @param ziJinCrawlerPaymentLinkRequest
      * @param headers
-     * @return ZiJinCrawlerQrcodeResponse
+     * @return ZiJinCrawlerPaymentLinkResponse
      */
-    public ZiJinCrawlerQrcodeResponse payment(ZiJinCrawlerPaymentQueryRequest ziJinCrawlerPaymentQueryRequest, HttpHeaders headers) throws NotFoundException, IOException {
-
+    public ZiJinCrawlerPaymentLinkResponse payment(ZiJinCrawlerPaymentLinkRequest ziJinCrawlerPaymentLinkRequest, HttpHeaders headers) throws NotFoundException, IOException {
+        //设置headers
+        HttpHeaders httpHeaders = ziJinCrawlerRequestComponent.setHttpHeaders();
+        String jsonString = JSON.toJSONString(ziJinCrawlerPaymentLinkRequest);
+        ResponseEntity<ZiJinCrawlerPaymentLinkResponse> responseEntity = requestComponent.post(RequestUrl.QRCODE.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), ziJinCrawlerPaymentLinkRequest, ZiJinCrawlerPaymentLinkResponse.class, httpHeaders);
+        return responseEntity.getBody();
     }
 
     /**
      * 查询订单状态
      *
-     * @param boHaiCrawlerQueryOrderStatusRequest
-     * @param headers 请求头
+     * @param ziJinCrawlerQueryOrderStatusRequest
+     * @param headers
      * @return ZiJinCrawlerQueryOrderStatusResponse
      */
-    public ZiJinCrawlerQueryOrderStatusResponse queryOrderStatus(ZiJinCrawlerQueryOrderStatusRequest boHaiCrawlerQueryOrderStatusRequest, HttpHeaders headers) {
-        ZiJinCrawlerQueryOrderStatusResponse boHaiCrawlerQueryOrderStatusResponse = executeRequest(RequestType.ENCRYPTED, RequestUrl.QUERY_ORDER_STATUS, boHaiCrawlerQueryOrderStatusRequest, ZiJinCrawlerQueryOrderStatusResponse.class, headers);
-        if(!boHaiCrawlerQueryOrderStatusResponse.getHead().getReturnCode().equals("0")){
-            throw new SystemException("调用查询订单接口返回失败,错误信息:" + boHaiCrawlerQueryOrderStatusResponse.getHead().getReturnMessage());
-        }else{
-            return boHaiCrawlerQueryOrderStatusResponse;
-        }
+    public ZiJinCrawlerQueryOrderStatusResponse queryOrderStatus(ZiJinCrawlerQueryOrderStatusRequest ziJinCrawlerQueryOrderStatusRequest, HttpHeaders headers) throws IOException {
+        //设置headers
+        HttpHeaders httpHeaders = ziJinCrawlerRequestComponent.setHttpHeaders();
+        String jsonString = JSON.toJSONString(ziJinCrawlerQueryOrderStatusRequest);
+        ResponseEntity<ZiJinCrawlerQueryOrderStatusResponse> responseEntity = requestComponent.post(RequestUrl.QUERY_ORDER_STATUS.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), ziJinCrawlerQueryOrderStatusRequest,
+                ZiJinCrawlerQueryOrderStatusResponse.class, httpHeaders);
+        return responseEntity.getBody();
     }
 
     /**
@@ -534,6 +328,23 @@ public class ZiJinCrawlerRequestComponent {
         return boHaiCrawlerPaymentNoticeNoGenerationRequest;
     }
 
+
+    /**
+     * 查询车辆保单列表(下载保单的前一步操作)
+     *
+     * @param ziJinCrawlerQueryCarPolicyListRequest
+     * @param headers
+     * @return ZiJinCrawlerQueryCarPolicyListResponse
+     */
+    public ZiJinCrawlerQueryCarPolicyListResponse queryCarPolicyList(ZiJinCrawlerQueryCarPolicyListRequest ziJinCrawlerQueryCarPolicyListRequest, HttpHeaders headers) throws IOException {
+        //设置headers
+        HttpHeaders httpHeaders = ziJinCrawlerRequestComponent.setHttpHeaders();
+        String jsonString = JSON.toJSONString(ziJinCrawlerQueryCarPolicyListRequest);
+        ResponseEntity<ZiJinCrawlerQueryCarPolicyListResponse> responseEntity = requestComponent.post(RequestUrl.QUERY_CAR_POLICY_LIST.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), jsonString, ZiJinCrawlerQueryCarPolicyListResponse.class, httpHeaders);
+        return responseEntity.getBody();
+    }
+
+
     /**
      * 下载保单
      *
@@ -541,9 +352,12 @@ public class ZiJinCrawlerRequestComponent {
      * @param headers 请求头
      * @return ZiJinCrawlerDownloadResponse
      */
-    public ZiJinCrawlerDownloadResponse electronPolicyIODownload(ZiJinCrawlerDownloadRequest request, HttpHeaders headers) {
-        ZiJinCrawlerBaseResponse response = executeRequest(RequestType.ENCRYPTED,RequestUrl.ELECTRON_POLICY_IO_DOWNLOAD.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), request, ZiJinCrawlerBaseResponse.class, headers);
-        return  DESEncryption.decryptStrToObject(response.getResult(), ZiJinCrawlerDownloadResponse.class);
+    public ZiJinCrawlerDownloadPolicyResponse electronPolicyIODownload(ZiJinCrawlerDownloadPolicyRequest ziJinCrawlerDownloadPolicyRequest, HttpHeaders headers) throws IOException {
+        //设置headers
+        HttpHeaders httpHeaders = ziJinCrawlerRequestComponent.setHttpHeaders();
+        String jsonString = JSON.toJSONString(ziJinCrawlerDownloadPolicyRequest);
+        ResponseEntity<ZiJinCrawlerDownloadPolicyResponse> responseEntity = requestComponent.post(RequestUrl.ELECTRON_POLICY_IO_DOWNLOAD.getRequestUrl(ziJinCrawlerProperties.getBaseUrl()), jsonString, ZiJinCrawlerDownloadPolicyResponse.class, httpHeaders);
+        return responseEntity.getBody();
     }
 
 

+ 1 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerCompaniesRequest.java

@@ -5,7 +5,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 /**
- * @description: 渤海财险 【爬虫】 查询机构列表
+ * @description: 紫金财险 【爬虫】 查询机构列表
  * @author: wenks
  * @date: 2025/2/28 10:51
  **/

+ 30 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerDownloadPolicyRequest.java

@@ -0,0 +1,30 @@
+package com.jzg.quotation.zijin.crawler.entity.request;
+
+import lombok.Data;
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 紫金财险爬虫下载保单请求实体类
+ *
+ * @author
+ * @date
+ */
+@Data
+public class ZiJinCrawlerDownloadPolicyRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 442088525371026571L;
+
+    /**
+     * 保单号
+     */
+    private String policyNo;
+
+     /**
+      * 加密参数
+      */
+    private String encrypt;
+
+
+}

+ 0 - 51
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerDownloadRequest.java

@@ -1,51 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-/**
- * 渤海保险爬虫下载请求实体类
- *
- * @author claude
- * @date 2025-10-24
- */
-@Data
-@Schema(description = "渤海保险爬虫下载请求实体")
-public class ZiJinCrawlerDownloadRequest {
-
-    @Schema(description = "头部信息")
-    @JsonProperty("head")
-    private Head head;
-
-    @Schema(description = "业务号/保单号")
-    @JsonProperty("businessNo")
-    private String businessNo;
-
-    @Schema(description = "文档类型")
-    @JsonProperty("documentType")
-    private String documentType;
-
-    @Schema(description = "是否新影像")
-    @JsonProperty("isNewImage")
-    private String isNewImage;
-
-    /**
-     * 头部信息
-     */
-    @Data
-    @Schema(description = "头部信息")
-    public static class Head {
-        @Schema(description = "交易代码:电子文档地址查询")
-        @JsonProperty("transCode")
-        private String transCode;
-
-        @Schema(description = "交易类型")
-        @JsonProperty("transType")
-        private String transType;
-
-        @Schema(description = "认证令牌")
-        @JsonProperty("token")
-        private String token;
-    }
-}

+ 28 - 6
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerImageUploadRequest.java

@@ -1,20 +1,42 @@
 package com.jzg.quotation.zijin.crawler.entity.request;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.Serial;
+import java.io.Serializable;
+
 /**
- * 渤海财险爬虫图片上传请求
+ * 紫金财险爬虫影像上传请求实体类
  */
 @Data
-public class ZiJinCrawlerImageUploadRequest {
+public class ZiJinCrawlerImageUploadRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 3357488367525636024L;
+
+     /**
+     * 影像base64编码
+     */
+     @JsonProperty("fileBase64")
+    private String fileBase64;
+
+    /**
+     * 文件名
+     */
+     @JsonProperty("fileName")
+    private String fileName;
+
     /**
-     * 批次号
+     * 影像类型
      */
-    private String batchNum;
+     @JsonProperty("fileType")
+    private String fileType;
 
     /**
-     * 上传的影像文件
+     * 订单号
      */
-    //private MultipartFile file;
+     @JsonProperty("orderNo")
+    private String orderNo;
 }

+ 0 - 34
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerImageUploadRequestDto.java

@@ -1,34 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.commons.entity.quote.vo.image.InsuranceImageVo;
-import com.jzg.quotation.zijin.crawler.entity.ZiJinCrawlerConfigureParameters;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.web.multipart.MultipartFile;
-import java.util.List;
-
-/**
- * 渤海财险爬虫图片上传请求
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class ZiJinCrawlerImageUploadRequestDto extends ZiJinCrawlerBaseRequest {
-
-    /**
-     * 订单号
-     */
-    private String orderNo;
-
-    /**
-     * 影像文件
-     */
-    private List<InsuranceImageVo> imageVoList;
-
-    public ZiJinCrawlerImageUploadRequestDto(ZiJinCrawlerConfigureParameters parameters, String orderNo, List<InsuranceImageVo> imageVoList) {
-        this.setBaseParam(parameters, orderNo);
-        this.imageVoList = imageVoList;
-    }
-}

+ 85 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerQueryCarPolicyListRequest.java

@@ -0,0 +1,85 @@
+package com.jzg.quotation.zijin.crawler.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @description: 紫金财险爬虫查询车险保单列表请求体
+ * @author:
+ * @date:
+ **/
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ZiJinCrawlerQueryCarPolicyListRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 录入日期-开始日期
+     */
+    @JsonProperty("inputDateBegin")
+    private String inputDateBegin;
+
+    /**
+     * 录入日期-结束日期
+     */
+    @JsonProperty("inputDateEnd")
+    private String inputDateEnd;
+
+    /**
+     * 当前页码(从0开始)
+     */
+    @JsonProperty("pageNo")
+    private String pageNo;
+
+    /**
+     * 每页数量
+     */
+    @JsonProperty("pageSize")
+    private String pageSize;
+
+    /**
+     * 登录机构代码(查询权限所属机构)
+     */
+    @JsonProperty("loginComCode")
+    private String loginComCode;
+
+    /**
+     * 电子保单状态查询开关(1-启用,0-不启用)
+     */
+    @JsonProperty("elePolicyStatusQuery")
+    private String elePolicyStatusQuery;
+
+    /**
+     * 保单状态列表(多状态查询)
+     */
+    @JsonProperty("policyStatus")
+    private List<String> policyStatus;
+
+    /**
+     * 险种编码列表(空数组表示查询所有险种)
+     */
+    @JsonProperty("riskCodeList")
+    private List<String> riskCodeList;
+
+    /**
+     * 已支付且未生效保单查询开关(1-查询已支付但未起保的保单,0-不查询)
+     */
+    @JsonProperty("paidAndIneffectiveSwitch")
+    private String paidAndIneffectiveSwitch;
+
+    /**
+     * 调用系统编码(标识请求来源系统,0201可能代表某个具体业务系统)
+     */
+    @JsonProperty("invokeSystem")
+    private String invokeSystem;
+
+}

+ 24 - 299
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerQueryOrderStatusRequest.java

@@ -9,9 +9,9 @@ import java.io.Serial;
 import java.io.Serializable;
 
 /**
- * @description: 渤海财险 爬虫查询订单状态请求体
- * @author: system
- * @date: 2025/10/23
+ * @description: 紫金财险爬虫查询订单状态请求体
+ * @author:
+ * @date:
  **/
 @NoArgsConstructor
 @AllArgsConstructor
@@ -22,100 +22,10 @@ public class ZiJinCrawlerQueryOrderStatusRequest implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 请求头信息
+     * 订单状态列表(空数组表示查询所有状态)
      */
-    @JsonProperty("head")
-    private HeadDTO head;
-
-    /**
-     * 是否查询所有报价用户代码
-     */
-    @JsonProperty("isQueryAllQuoteUserCode")
-    private String isQueryAllQuoteUserCode;
-
-    /**
-     * 登录公司代码
-     */
-    @JsonProperty("loginCom")
-    private String loginCom;
-
-    /**
-     * 每页行数
-     */
-    @JsonProperty("rows")
-    private Integer rows;
-
-    /**
-     * 页码
-     */
-    @JsonProperty("pageNo")
-    private Integer pageNo;
-
-    /**
-     * 业务类型
-     */
-    @JsonProperty("businessType")
-    private String businessType;
-
-    /**
-     * 查询状态
-     */
-    @JsonProperty("queryStatus")
-    private String queryStatus;
-
-    /**
-     * 用户代码
-     */
-    @JsonProperty("userCode")
-    private String userCode;
-
-    /**
-     * 车牌号
-     */
-    @JsonProperty("licenseNo")
-    private String licenseNo;
-
-    /**
-     * 车牌号查询标识
-     */
-    @JsonProperty("licenseNoFlag")
-    private String licenseNoFlag;
-
-    /**
-     * 车架号
-     */
-    @JsonProperty("vinNo")
-    private String vinNo;
-
-    /**
-     * 车架号查询标识
-     */
-    @JsonProperty("vinNoFlag")
-    private String vinNoFlag;
-
-    /**
-     * 车架号(备用字段)
-     */
-    @JsonProperty("frameNo")
-    private String frameNo;
-
-    /**
-     * 车架号查询标识(备用字段)
-     */
-    @JsonProperty("frameNoFlag")
-    private String frameNoFlag;
-
-    /**
-     * 发动机号
-     */
-    @JsonProperty("engineNo")
-    private String engineNo;
-
-    /**
-     * 发动机号查询标识
-     */
-    @JsonProperty("engineNoFlag")
-    private String engineNoFlag;
+    @JsonProperty("orderStatus")
+    private String[] orderStatus;
 
     /**
      * 订单号
@@ -124,224 +34,39 @@ public class ZiJinCrawlerQueryOrderStatusRequest implements Serializable {
     private String orderNo;
 
     /**
-     * 订单号查询标识
-     */
-    @JsonProperty("orderNoFlag")
-    private String orderNoFlag;
-
-    /**
-     * 投保单号
-     */
-    @JsonProperty("proposalNo")
-    private String proposalNo;
-
-    /**
-     * 投保单号查询标识
-     */
-    @JsonProperty("proposalNoFlag")
-    private String proposalNoFlag;
-
-    /**
-     * 报价单号
-     */
-    @JsonProperty("quotationNo")
-    private String quotationNo;
-
-    /**
-     * 报价单号查询标识
+     * 更新时间-开始日期
      */
-    @JsonProperty("quotationNoFlag")
-    private String quotationNoFlag;
+    @JsonProperty("updateTimeBegin")
+    private String updateTimeBegin;
 
     /**
-     * 保单号
+     * 更新时间-结束日期
      */
-    @JsonProperty("policyNo")
-    private String policyNo;
+    @JsonProperty("updateTimeEnd")
+    private String updateTimeEnd;
 
     /**
-     * 保单号查询标识
+     * 当前页码
      */
-    @JsonProperty("policyNoFlag")
-    private String policyNoFlag;
+    @JsonProperty("pageNum")
+    private Integer pageNum;
 
     /**
-     * 批单号
+     * 每页数量
      */
-    @JsonProperty("endorseNo")
-    private String endorseNo;
+    @JsonProperty("pageSize")
+    private Integer pageSize;
 
     /**
-     * 批单号查询标识
+     * 产品编码列表(空数组表示查询所有产品)
      */
-    @JsonProperty("endorseNoFlag")
-    private String endorseNoFlag;
+    @JsonProperty("productCodeList")
+    private String[] productCodeList;
 
     /**
-     * 被保险人姓名
+     * 订单来源
      */
-    @JsonProperty("insuredName")
-    private String insuredName;
-
-    /**
-     * 被保险人姓名查询标识
-     */
-    @JsonProperty("insuredNameFlag")
-    private String insuredNameFlag;
-
-    /**
-     * 投保人姓名
-     */
-    @JsonProperty("appliName")
-    private String appliName;
-
-    /**
-     * 投保人姓名查询标识
-     */
-    @JsonProperty("appliNameFlag")
-    private String appliNameFlag;
-
-    /**
-     * 投保人身份证号
-     */
-    @JsonProperty("appliIdentifyNumber")
-    private String appliIdentifyNumber;
-
-    /**
-     * 投保人身份证号查询标识
-     */
-    @JsonProperty("appliIdentifyNumberFlag")
-    private String appliIdentifyNumberFlag;
-
-    /**
-     * 被保险人身份证号
-     */
-    @JsonProperty("insuredIdentifyNumber")
-    private String insuredIdentifyNumber;
-
-    /**
-     * 被保险人身份证号查询标识
-     */
-    @JsonProperty("insuredIdentifyNumberFlag")
-    private String insuredIdentifyNumberFlag;
-
-    /**
-     * 保险起期开始范围
-     */
-    @JsonProperty("startDateBegin")
-    private String startDateBegin;
-
-    /**
-     * 保险起期结束范围
-     */
-    @JsonProperty("startDateEnd")
-    private String startDateEnd;
-
-    /**
-     * 保险止期开始范围
-     */
-    @JsonProperty("endDateBegin")
-    private String endDateBegin;
-
-    /**
-     * 保险止期结束范围
-     */
-    @JsonProperty("endDateEnd")
-    private String endDateEnd;
-
-    /**
-     * 操作日期开始范围
-     */
-    @JsonProperty("operateDateBegin")
-    private String operateDateBegin;
-
-    /**
-     * 操作日期结束范围
-     */
-    @JsonProperty("operateDateEnd")
-    private String operateDateEnd;
-
-    /**
-     * 核保日期开始范围
-     */
-    @JsonProperty("underWriteDateStart")
-    private String underWriteDateStart;
-
-    /**
-     * 核保日期结束范围
-     */
-    @JsonProperty("underWriteDateEnd")
-    private String underWriteDateEnd;
-
-    /**
-     * 业务类别2
-     */
-    @JsonProperty("businessCategories2")
-    private String businessCategories2;
-
-    /**
-     * 业务类别2查询标识
-     */
-    @JsonProperty("businessCategories2Flag")
-    private String businessCategories2Flag;
-
-    /**
-     * 资源类型代码
-     */
-    @JsonProperty("resourceTypeCode")
-    private String resourceTypeCode;
-
-    /**
-     * 是否出单用户代码
-     */
-    @JsonProperty("isIssueUserCode")
-    private String isIssueUserCode;
-
-    /**
-     * 是否出单用户代码查询标识
-     */
-    @JsonProperty("isIssueUserCodeFlag")
-    private String isIssueUserCodeFlag;
-
-    /**
-     * 启用风险数组
-     */
-    @JsonProperty("enableRiskArr")
-    private String enableRiskArr;
-
-    /**
-     * 是否搜索用户代码
-     */
-    @JsonProperty("isSearchUserCode")
-    private String isSearchUserCode;
-
-    /**
-     * 请求头信息内部类
-     */
-    @NoArgsConstructor
-    @AllArgsConstructor
-    @Data
-    public static class HeadDTO implements Serializable {
-
-        @Serial
-        private static final long serialVersionUID = 1L;
-
-        /**
-         * 访问令牌
-         */
-        @JsonProperty("token")
-        private String token;
-
-        /**
-         * 交易类型
-         */
-        @JsonProperty("transType")
-        private String transType;
+    @JsonProperty("orderOrigin")
+    private String orderOrigin;
 
-        /**
-         * 交易代码
-         */
-        @JsonProperty("transCode")
-        private String transCode;
-    }
 }

+ 0 - 722
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/request/ZiJinCrawlerVehicleConfirmationReqeust.java

@@ -1,722 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.commons.entity.quote.vo.CarInfoVo;
-import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
-import com.jzg.commons.entity.quote.vo.QuoteVo;
-import com.jzg.commons.entity.vo.PersonAreaVo;
-import com.jzg.commons.util.IDCardUtils;
-import com.jzg.commons.util.StringUtils;
-import com.jzg.quotation.zijin.crawler.entity.ZiJinCrawlerConfigureParameters;
-import com.jzg.quotation.zijin.crawler.entity.response.ZiJinCrawlerCarResponse;
-import com.jzg.quotation.zijin.crawler.enums.CertType;
-import com.jzg.quotation.zijin.crawler.enums.CustomerType;
-import com.jzg.quotation.zijin.crawler.enums.FormatType;
-import com.jzg.quotation.zijin.crawler.enums.InvoiceType;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @description: 渤海财险 车辆确认请求接口
- * @author: shenwd
- * @date: 2025/3/3 16:53
- **/
-@EqualsAndHashCode(callSuper = false)
-@NoArgsConstructor
-@Data
-public class ZiJinCrawlerVehicleConfirmationReqeust {
-
-    @Serial
-    private static final long serialVersionUID = 5738667931387435773L;
-
-    /**
-     * 车辆信息
-     */
-    @JsonProperty("vehicle")
-    private VehicleDTO vehicle;
-
-    /**
-     * 车主信息
-     */
-    @JsonProperty("carOwner")
-    private CarOwnerDTO carOwner;
-
-    /**
-     * 投保人信息
-     */
-    @JsonProperty("holder")
-    private HolderDTO holder;
-
-    /**
-     * 被保险人信息
-     */
-    @JsonProperty("insureder")
-    private InsurederDTO insureder;
-
-
-    public ZiJinCrawlerVehicleConfirmationReqeust(ZiJinCrawlerConfigureParameters parameters, QuoteVo quoteVo,
-                                                  ZiJinCrawlerCarResponse boHaiCrawlerCarResponse, PersonAreaVo ownerInfoArea, PersonAreaVo insuredPersonArea,
-                                                  PersonAreaVo policyHolderArea) {
-        String effectDate;
-        if (quoteVo.getBiRiskInfoVo() != null) {
-            effectDate = quoteVo.getBiRiskInfoVo().getStartDate();
-        } else {
-            effectDate = quoteVo.getCiRiskInfoVo().getStartDate();
-        }
-        //this.setBaseParam(parameters, orderNo);
-        // 车辆信息
-        CarInfoVo carInfo = quoteVo.getCarInfoVo();
-        this.vehicle = new VehicleDTO(carInfo, boHaiCrawlerCarResponse, effectDate);
-        // 车主
-        CustomerInfoVo ownersInfo = quoteVo.getOwnersInfo();
-        this.carOwner = new CarOwnerDTO(ownersInfo, ownerInfoArea);
-        // 投保人
-        CustomerInfoVo policyHolderInfo = quoteVo.getPolicyHolderInfo();
-        this.holder = new HolderDTO(policyHolderInfo, policyHolderArea);
-        // 被保人
-        CustomerInfoVo insuredPersonInfo = quoteVo.getInsuredPersonInfo();
-        this.insureder = new InsurederDTO(insuredPersonInfo, insuredPersonArea);
-    }
-
-    @NoArgsConstructor
-    @Data
-    public static class VehicleDTO implements Serializable {
-
-        private static final long serialVersionUID = -2343894775576071422L;
-
-        /**
-         * 车辆识别代号/车架号
-         */
-        @JsonProperty("carVin")
-        private String carVin;
-
-        /**
-         * 车型编码
-         */
-        @JsonProperty("vehicleModelCode")
-        private String vehicleModelCode;
-
-        /**
-         * 发动机号
-         */
-        @JsonProperty("engineNo")
-        private String engineNo;
-
-        /**
-         * 号牌号码
-         */
-        @JsonProperty("plateNo")
-        private String plateNo;
-
-        /**
-         * 号牌类型
-         */
-        @JsonProperty("licenseType")
-        private String licenseType;
-
-        /**
-         * 初登日期
-         */
-        @JsonProperty("registerDate")
-        private String registerDate;
-
-        /**
-         * 指导价格
-         */
-        @JsonProperty("purchasePrice")
-        private String purchasePrice;
-
-        /**
-         * 是否新车
-         */
-        @JsonProperty("newVehicleFlag")
-        private String newVehicleFlag;
-
-        /**
-         * 车型名称 (品牌型号)
-         */
-        @JsonProperty("moldName")
-        private String moldName;
-
-        /**
-         * 车型代码
-         */
-        @JsonProperty("modelCode")
-        private String modelCode;
-        /**
-         * 座位数
-         */
-        @JsonProperty("seatCount")
-        private String seatCount;
-
-
-        /**
-         * 购车发票日期
-         */
-        @JsonProperty("purchaseinvoicesDate")
-        private String purchaseinvoicesDate;
-
-        /**
-         * 核定载质量(KG)
-         */
-        @JsonProperty("tonNumber")
-        private String tonNumber;
-
-        /**
-         * 燃料类型
-         */
-        @JsonProperty("fuelType")
-        private String fuelType;
-
-        /**
-         * 整备质量(KG)
-         */
-        @JsonProperty("emptyWeight")
-        private String emptyWeight;
-
-        /**
-         * 保险起期
-         */
-        @JsonProperty("effectDate")
-        private String effectDate;
-
-        /**
-         * 排气量(L)
-         */
-        @JsonProperty("exhaustMeasure")
-        private String exhaustMeasure;
-
-        /**
-         * 车辆种类
-         */
-        @JsonProperty("vehicleKind")
-        private String vehicleKind;
-
-        /**
-         * 车辆所属性质
-         */
-        @JsonProperty("vehicleAffNature")
-        private String vehicleAffNature;
-
-        /**
-         * 车辆使用性质
-         */
-        @JsonProperty("vehicleUsage")
-        private String vehicleUsage;
-
-        /**
-         * 车辆使用性质细分
-         */
-        @JsonProperty("vehicleUsageDetail")
-        private String vehicleUsageDetail;
-
-        /**
-         * 是否过户
-         */
-        @JsonProperty("isTransfer")
-        private String isTransfer;
-
-        /**
-         * 过户日期
-         */
-        @JsonProperty("transferDate")
-        private String transferDate;
-
-        /**
-         * 行驶证车辆类型
-         */
-        @JsonProperty("vehicleTypeOfDrivingPermit")
-        private String vehicleTypeOfDrivingPermit;
-
-        /**
-         * 二手车标志
-         */
-        @JsonProperty("secondHandVehicleFlag")
-        private String secondHandVehicleFlag;
-
-
-        public VehicleDTO(CarInfoVo carInfo, ZiJinCrawlerCarResponse vehicleModelsDTO, String effectDate) {
-            this.carVin = carInfo.getVinNo();
-            //车型编码
-            //this.vehicleModelCode = vehicleModelsDTO.getList().get(0).getModelCode();
-            this.vehicleModelCode = vehicleModelsDTO.getPrpDCarModels().get(0).getModelCode();
-            this.engineNo = carInfo.getEngineNo();
-            this.plateNo = carInfo.getLicenseNo();
-            this.licenseType = "02";
-            this.registerDate = carInfo.getRegisterDate();
-            //this.purchasePrice = vehicleModelsDTO.getList().get(0).getPurchasePrice();
-            this.purchasePrice = vehicleModelsDTO.getPrpDCarModels().get(0).getPurchasePrice();
-
-            // 新车
-            this.newVehicleFlag = StringUtils.isNotEmpty(carInfo.getLicenseNo()) ? "0" : "1";
-            //车型名称 (品牌型号)
-            //this.moldName = vehicleModelsDTO.getList().get(0).getMoldName();
-            this.moldName = vehicleModelsDTO.getPrpDCarModels().get(0).getModelName();
-
-            //模型编码
-            //this.modelCode = vehicleModelsDTO.getList().get(0).getModelCode();
-            this.modelCode = vehicleModelsDTO.getPrpDCarModels().get(0).getModelCode();
-
-            this.seatCount = carInfo.getSeatCount();
-            this.tonNumber = StringUtils.isEmpty(carInfo.getLimitLoad()) ? "0": carInfo.getLimitLoad();
-            this.fuelType = carInfo.getEnergyTypeCode();
-            this.emptyWeight = carInfo.getCompleteKerbMass();
-            //排气量
-            //this.exhaustMeasure = vehicleModelsDTO.getList().get(0).getExhaustScale();
-            this.exhaustMeasure = vehicleModelsDTO.getPrpDCarModels().get(0).getModelName();
-
-            this.effectDate = effectDate;
-            this.vehicleKind = carInfo.getCarKindCode();
-            this.vehicleAffNature = carInfo.getPropertyCode();
-            // 车辆使用性质
-            this.vehicleUsage = carInfo.getCarNatureCode();
-            // 车辆用途
-            this.vehicleUsageDetail = carInfo.getVehicleUseCode();
-            this.isTransfer = carInfo.isTransfer() ? "1" : "0";
-            this.transferDate = carInfo.getTransferDate();
-
-            this.vehicleTypeOfDrivingPermit = carInfo.getCarTypeCode();
-            this.secondHandVehicleFlag = "0";
-        }
-    }
-
-    @NoArgsConstructor
-    @Data
-    public static class CarOwnerDTO implements Serializable {
-
-        private static final long serialVersionUID = 8709315851618789033L;
-
-        /**
-         * 证件类型
-         */
-        @JsonProperty("certType")
-        private String certType;
-
-        /**
-         * 车主姓名
-         */
-        @JsonProperty("ownerName")
-        private String ownerName;
-
-        /**
-         * 证件号码
-         */
-        @JsonProperty("certNo")
-        private String certNo;
-
-        /**
-         * 地址
-         */
-        @JsonProperty("address")
-        private String address;
-
-        /**
-         * 电话号码
-         */
-        @JsonProperty("phoneNumber")
-        private String phoneNumber;
-
-        /**
-         * 客户类型
-         */
-        @JsonProperty("customerType")
-        private String customerType;
-        /**
-         * 证件类型标识
-         */
-        @JsonProperty("certiType")
-        private String certiType;
-
-        /**
-         * 邮箱
-         */
-        @JsonProperty("email")
-        private String email;
-        /**
-         * 省份代码
-         */
-        @JsonProperty("provCode")
-        private String provCode;
-
-        /**
-         * 省份名称
-         */
-        @JsonProperty("provName")
-        private String provName;
-        /**
-         * 城市代码
-         */
-        @JsonProperty("cityCode")
-        private String cityCode;
-        /**
-         * 城市名称
-         */
-        @JsonProperty("cityName")
-        private String cityName;
-        /**
-         * 区县代码
-         */
-        @JsonProperty("distCode")
-        private String distCode;
-        /**
-         * 区县名称
-         */
-        @JsonProperty("distName")
-        private String distName;
-
-        /**
-         * 居住地址
-         */
-        @JsonProperty("residentialAddress")
-        private String residentialAddress;
-
-        /**
-         * 出生日期
-         */
-        @JsonProperty("birthday")
-        private String birthday;
-
-        public CarOwnerDTO(CustomerInfoVo ownerInfo, PersonAreaVo ownerInfoArea) {
-            this.certType = CertType.CT_111.getCode();
-            this.ownerName = ownerInfo.getName();
-            this.certNo = ownerInfo.getIdentifyNumber();
-            this.address = ownerInfo.getAddr();
-            this.phoneNumber = ownerInfo.getMobile();
-            this.customerType = CustomerType.CT_2.getCode();
-            this.email = ownerInfo.getEmail();
-            this.certiType = ownerInfo.getIdentifyValidEndDate().contains("9999") ? "1" : "0";
-            this.residentialAddress = ownerInfo.getAddr();
-            this.provCode = ownerInfoArea.getProvinceCode();
-            this.provName = ownerInfoArea.getProvinceName();
-            this.cityCode = ownerInfoArea.getCityCode();
-            this.cityName = ownerInfoArea.getCityName();
-            this.distCode = ownerInfoArea.getCountyCode();
-            this.distName = ownerInfoArea.getCountyName();
-            this.birthday = IDCardUtils.GetBirthday(ownerInfo.getIdentifyNumber());
-        }
-    }
-
-    @NoArgsConstructor
-    @Data
-    public static class HolderDTO implements Serializable {
-
-        private static final long serialVersionUID = -2088635630636574306L;
-
-        /**
-         * 证件类型
-         */
-        @JsonProperty("certType")
-        private String certType;
-
-        /**
-         * 投保人姓名
-         */
-        @JsonProperty("holderName")
-        private String holderName;
-
-        /**
-         * 证件号码
-         */
-        @JsonProperty("certNo")
-        private String certNo;
-
-        /**
-         * 地址
-         */
-        @JsonProperty("address")
-        private String address;
-
-        /**
-         * 电话号码
-         */
-        @JsonProperty("phoneNumber")
-        private String phoneNumber;
-
-        /**
-         * 民族
-         */
-        @JsonProperty("nation")
-        private String nation;
-
-        /**
-         * 证件开始日期
-         */
-        @JsonProperty("certiStartDate")
-        private String certiStartDate;
-
-        /**
-         * 证件结束日期
-         */
-        @JsonProperty("certiEndDate")
-        private String certiEndDate;
-
-        /**
-         * 证件类型标识
-         */
-        @JsonProperty("certiType")
-        private String certiType;
-
-        /**
-         * 签发机关
-         */
-        @JsonProperty("issuer")
-        private String issuer;
-
-        /**
-         * 邮箱
-         */
-        @JsonProperty("email")
-        private String email;
-
-        /**
-         * 发票类型
-         */
-        @JsonProperty("invoiceType")
-        private String invoiceType;
-
-        /**
-         * 商业险格式类型
-         */
-        @JsonProperty("bizFormatType")
-        private String bizFormatType;
-
-        /**
-         * 交强险格式类型
-         */
-        @JsonProperty("forceFormatType")
-        private String forceFormatType;
-
-        /**
-         * 电子投保标识
-         */
-        @JsonProperty("elecApplicationFlag")
-        private String elecApplicationFlag;
-
-        /**
-         * 客户类型
-         */
-        @JsonProperty("customerType")
-        private String customerType;
-
-        /**
-         * 省份代码
-         */
-        @JsonProperty("provCode")
-        private String provCode;
-
-        /**
-         * 省份名称
-         */
-        @JsonProperty("provName")
-        private String provName;
-        /**
-         * 城市代码
-         */
-        @JsonProperty("cityCode")
-        private String cityCode;
-        /**
-         * 城市名称
-         */
-        @JsonProperty("cityName")
-        private String cityName;
-        /**
-         * 区县代码
-         */
-        @JsonProperty("distCode")
-        private String distCode;
-        /**
-         * 区县名称
-         */
-        @JsonProperty("distName")
-        private String distName;
-
-        /**
-         * 居住地址
-         */
-        @JsonProperty("residentialAddress")
-        private String residentialAddress;
-
-        /**
-         * 出生日期
-         */
-        @JsonProperty("birthday")
-        private String birthday;
-
-        public HolderDTO(CustomerInfoVo policyHolderInfo, PersonAreaVo policyHolderArea) {
-            // 通用参数
-            this.certType = CertType.CT_111.getCode();
-            this.holderName = policyHolderInfo.getName();
-            this.certNo = policyHolderInfo.getIdentifyNumber();
-            this.address = policyHolderInfo.getAddr();
-            this.phoneNumber = policyHolderInfo.getMobile();
-            this.customerType = CustomerType.CT_2.getCode();
-            this.email = policyHolderInfo.getEmail();
-            this.certiType = policyHolderInfo.getIdentifyValidEndDate().contains("9999") ? "1" : "0";
-
-            // 个别参数
-            this.invoiceType = InvoiceType.IT_1.getCode();
-            this.bizFormatType = FormatType.FT_1.getCode();
-            this.forceFormatType = FormatType.FT_1.getCode();
-
-            // 省市县
-            this.provCode = policyHolderArea.getProvinceCode();
-            this.provName = policyHolderArea.getProvinceName();
-            this.cityCode = policyHolderArea.getCityCode();
-            this.cityName = policyHolderArea.getCityName();
-            this.distCode = policyHolderArea.getCountyCode();
-            this.distName = policyHolderArea.getCountyName();
-
-            this.residentialAddress = policyHolderInfo.getAddr();
-            this.birthday = IDCardUtils.GetBirthday(policyHolderInfo.getIdentifyNumber());
-        }
-    }
-
-    /**
-     * 被保人
-     */
-    @NoArgsConstructor
-    @Data
-    public static class InsurederDTO implements Serializable {
-
-        private static final long serialVersionUID = 1045840175935280892L;
-
-        /**
-         * 证件类型
-         */
-        @JsonProperty("certType")
-        private String certType;
-
-        /**
-         * 被保险人姓名
-         */
-        @JsonProperty("insuredName")
-        private String insuredName;
-
-        /**
-         * 证件号码
-         */
-        @JsonProperty("certNo")
-        private String certNo;
-
-        /**
-         * 地址
-         */
-        @JsonProperty("address")
-        private String address;
-
-        /**
-         * 电话号码
-         */
-        @JsonProperty("phoneNumber")
-        private String phoneNumber;
-
-        /**
-         * 民族
-         */
-        @JsonProperty("nation")
-        private String nation;
-
-        /**
-         * 证件开始日期
-         */
-        @JsonProperty("certiStartDate")
-        private String certiStartDate;
-
-        /**
-         * 证件结束日期
-         */
-        @JsonProperty("certiEndDate")
-        private String certiEndDate;
-
-        /**
-         * 证件类型标识
-         */
-        @JsonProperty("certiType")
-        private String certiType;
-
-        /**
-         * 客户类型
-         */
-        @JsonProperty("customerType")
-        private String customerType;
-
-        /**
-         * 邮箱
-         */
-        @JsonProperty("email")
-        private String email;
-
-        /**
-         * 省份代码
-         */
-        @JsonProperty("provCode")
-        private String provCode;
-
-        /**
-         * 省份名称
-         */
-        @JsonProperty("provName")
-        private String provName;
-        /**
-         * 城市代码
-         */
-        @JsonProperty("cityCode")
-        private String cityCode;
-        /**
-         * 城市名称
-         */
-        @JsonProperty("cityName")
-        private String cityName;
-        /**
-         * 区县代码
-         */
-        @JsonProperty("distCode")
-        private String distCode;
-        /**
-         * 区县名称
-         */
-        @JsonProperty("distName")
-        private String distName;
-
-        /**
-         * 居住地址
-         */
-        @JsonProperty("residentialAddress")
-        private String residentialAddress;
-
-        /**
-         * 出生日期
-         */
-        @JsonProperty("birthday")
-        private String birthday;
-
-        public InsurederDTO(CustomerInfoVo insuredPersonInfo, PersonAreaVo insuredPersonArea) {
-            // 通用参数
-            this.certType = CertType.CT_111.getCode();
-            this.insuredName = insuredPersonInfo.getName();
-            this.certNo = insuredPersonInfo.getIdentifyNumber();
-            this.address = insuredPersonInfo.getAddr();
-            this.phoneNumber = insuredPersonInfo.getMobile();
-            this.customerType = CustomerType.CT_2.getCode();
-            this.email = insuredPersonInfo.getEmail();
-            this.certiType = insuredPersonInfo.getIdentifyValidEndDate().contains("9999") ? "1" : "0";
-            this.residentialAddress = insuredPersonInfo.getAddr();
-            // 省市县
-            this.provCode = insuredPersonArea.getProvinceCode();
-            this.provName = insuredPersonArea.getProvinceName();
-            this.cityCode = insuredPersonArea.getCityCode();
-            this.cityName = insuredPersonArea.getCityName();
-            this.distCode = insuredPersonArea.getCountyCode();
-            this.distName = insuredPersonArea.getCountyName();
-            this.birthday = IDCardUtils.GetBirthday(insuredPersonInfo.getIdentifyNumber());
-
-        }
-
-    }
-
-
-}

+ 140 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerDownloadPolicyResponse.java

@@ -0,0 +1,140 @@
+package com.jzg.quotation.zijin.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 紫金财险爬虫下载电子保单响应实体类
+ *
+ * @author
+ * @date
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ZiJinCrawlerDownloadPolicyResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6097250167203787692L;
+
+    /**
+     * 返回码(0000表示成功)
+     */
+    @JsonProperty("rtnCode")
+    private String rtnCode;
+
+    /**
+     * 返回消息
+     */
+    @JsonProperty("rtnMsg")
+    private String rtnMsg;
+
+    /**
+     * 数据对象
+     */
+    @JsonProperty("data")
+    private ElePolicyBatchDownloadInfoDto data;
+
+    // 内部类:电子保单批量下载信息DTO
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class ElePolicyBatchDownloadInfoDto implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 电子保单批量下载压缩包信息DTO
+         */
+        @JsonProperty("elePolicyBatchDownloadZipInfoDto")
+        private ElePolicyBatchDownloadZipInfoDto elePolicyBatchDownloadZipInfoDto;
+
+        /**
+         * 电子保单下载信息列表(多个保单文件明细)
+         */
+        @JsonProperty("elePolicyDownloadInfoDtoList")
+        private List<ElePolicyDownloadInfoDto> elePolicyDownloadInfoDtoList;
+    }
+
+    // 内部类:电子保单批量下载压缩包信息DTO
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class ElePolicyBatchDownloadZipInfoDto implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 压缩包ID(唯一标识)
+         */
+        @JsonProperty("zipId")
+        private String zipId;
+
+        /**
+         * 压缩包下载地址(包含所有保单文件的ZIP)
+         */
+        @JsonProperty("zipUrl")
+        private String zipUrl;
+    }
+
+    // 内部类:电子保单下载信息DTO
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class ElePolicyDownloadInfoDto implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 单个保单文件下载地址(交强险标志)
+         */
+        @JsonProperty("downloadPath")
+        private String downloadPath;
+
+        /**
+         * 保单号
+         */
+        @JsonProperty("policyNo")
+        private String policyNo;
+
+        /**
+         * 险种编码(0590-交强险)
+         */
+        @JsonProperty("riskCode")
+        private String riskCode;
+
+        /**
+         * 险种名称
+         */
+        @JsonProperty("riskName")
+        private String riskName;
+
+        /**
+         * 强制签名标识(1-需要签名,0-无需签名)
+         */
+        @JsonProperty("compulsorySignFlag")
+        private String compulsorySignFlag;
+
+        /**
+         * 生成是否成功
+         */
+        @JsonProperty("success")
+        private Boolean success;
+
+        /**
+         * 是否支持电子保单(1-支持,0-不支持)
+         */
+        @JsonProperty("supportEPolicyFlag")
+        private String supportEPolicyFlag;
+    }
+
+}

+ 0 - 72
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerDownloadResponse.java

@@ -1,72 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.response;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * 渤海保险爬虫下载响应实体类
- *
- * @author claude
- * @date 2025-10-24
- */
-@Data
-@Schema(description = "渤海保险爬虫下载响应实体")
-public class ZiJinCrawlerDownloadResponse {
-
-    @Schema(description = "文档信息列表")
-    @JsonProperty("files")
-    private List<FileItem> files;
-
-    @Schema(description = "头部信息")
-    @JsonProperty("head")
-    private Head head;
-
-    /**
-     * 文档信息项
-     */
-    @Data
-    @Schema(description = "文档信息项")
-    public static class FileItem {
-        @Schema(description = "文档下载地址:电子保单的完整URL,包含Base64加密参数")
-        @JsonProperty("address")
-        private String address;
-
-        @Schema(description = "文件类型:POLICY表示保单文档")
-        @JsonProperty("fileType")
-        private String fileType;
-    }
-
-    /**
-     * 头部信息
-     */
-    @Data
-    @Schema(description = "头部信息")
-    public static class Head {
-        @Schema(description = "返回代码:0表示成功,非0表示失败")
-        @JsonProperty("returnCode")
-        private String returnCode;
-
-        @Schema(description = "返回消息:错误描述信息")
-        @JsonProperty("returnMessage")
-        private String returnMessage;
-
-        @Schema(description = "会话ID:用户的会话标识")
-        @JsonProperty("sessionId")
-        private String sessionId;
-
-        @Schema(description = "认证令牌:空值表示不需要认证")
-        @JsonProperty("token")
-        private String token;
-
-        @Schema(description = "交易代码:EleDocumentAddress表示电子文档地址查询")
-        @JsonProperty("transCode")
-        private String transCode;
-
-        @Schema(description = "交易类型:Res表示响应")
-        @JsonProperty("transType")
-        private String transType;
-    }
-}

+ 24 - 24
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerImageUploadResponse.java

@@ -5,41 +5,41 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
+import java.io.Serializable;
 import java.util.Map;
 
 /**
- * @description: 渤海财险爬虫图片上传响应
+ * @description: 紫金财险爬虫影像上传响应实体类
  * @author:
  * @date:
  **/
 @Data
-public class ZiJinCrawlerImageUploadResponse{
+public class ZiJinCrawlerImageUploadResponse implements Serializable {
 
     @Serial
     private static final long serialVersionUID = -7410523311993599009L;
 
     /**
-     * 图片数据集合,键为文件名,值为图片URL信息
+     * 响应状态码
      */
-    @JsonProperty("data")
-    private Map<String, ImageInfo> data;
-
-    /**
-     * 图片信息内部类
-     */
-    @Data
-    public static class ImageInfo {
-
-        /**
-         * 原图URL
-         */
-        @JsonProperty("PAGE_URL")
-        private String pageUrl;
-
-        /**
-         * 缩略图URL
-         */
-        @JsonProperty("THUM_URL")
-        private String thumUrl;
-    }
+    @JsonProperty("rtnCode")
+    private String rtnCode;
+
+     /**
+      * 响应状态描述
+      */
+     @JsonProperty("rtnMsg")
+    private String rtnMsg;
+
+     /**
+      * 影像ID
+      */
+     @JsonProperty("fileId")
+    private String fileId;
+
+     /**
+      * 操作时间
+      */
+     @JsonProperty("operateTime")
+    private String operateTime;
 }

+ 0 - 73
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerImageUploadSubmitResponse.java

@@ -1,73 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.response;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.io.Serial;
-
-/**
- * @description: 渤海财险爬虫图片上传提交响应
- * @author:
- * @date:
- **/
-@Data
-public class ZiJinCrawlerImageUploadSubmitResponse {
-
-    @Serial
-    private static final long serialVersionUID = -7410523311993599011L;
-
-    /**
-     * 请求头信息
-     */
-    @JsonProperty("head")
-    private Head head;
-
-    /**
-     * 图片系统扫描XML数据
-     */
-    @JsonProperty("imageSystemScannerXml")
-    private String imageSystemScannerXml;
-
-    /**
-     * 请求头信息
-     */
-    @Data
-    public static class Head {
-        /**
-         * 返回代码
-         */
-        @JsonProperty("returnCode")
-        private String returnCode;
-
-        /**
-         * 返回消息
-         */
-        @JsonProperty("returnMessage")
-        private String returnMessage;
-
-        /**
-         * 会话ID
-         */
-        @JsonProperty("sessionId")
-        private String sessionId;
-
-        /**
-         * 令牌
-         */
-        @JsonProperty("token")
-        private String token;
-
-        /**
-         * 交易代码
-         */
-        @JsonProperty("transCode")
-        private String transCode;
-
-        /**
-         * 交易类型
-         */
-        @JsonProperty("transType")
-        private String transType;
-    }
-}

+ 2 - 2
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerPaymentQueryRequest.java → tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerPaymentLinkRequest.java

@@ -6,10 +6,10 @@ import lombok.Data;
 import java.util.List;
 
 /**
- * 紫金支付查询请求实体类
+ * 紫金支付链接请求实体类
  */
 @Data
-public class ZiJinCrawlerPaymentQueryRequest {
+public class ZiJinCrawlerPaymentLinkRequest {
 
     // 微信公众号标识
     @JsonProperty("weChatOfficialFlag")

+ 33 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerPaymentLinkResponse.java

@@ -0,0 +1,33 @@
+package com.jzg.quotation.zijin.crawler.entity.response;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 紫金财险爬虫二维码响应实体
+ */
+@Data
+@NoArgsConstructor
+public class ZiJinCrawlerPaymentLinkResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6989745770192385255L;
+
+    /**
+     * 状态码
+     */
+    private String rtnCode;
+
+    /**
+     * 状态描述
+     */
+    private String rtnMsg;
+
+    /**
+     * 微信二维码URL
+     */
+    private String wechatUrl;
+}

+ 0 - 44
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQrcodeResponse.java

@@ -1,44 +0,0 @@
-package com.jzg.quotation.zijin.crawler.entity.response;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * 渤海财险爬虫二维码响应实体
- */
-@Data
-@NoArgsConstructor
-public class ZiJinCrawlerQrcodeResponse {
-
-    /**
-     * 二维码图片内容(base64)
-     */
-    @JsonProperty("imageContent")
-    private String imageContent;
-
-    /**
-     * 二维码URL
-     */
-    @JsonProperty("url")
-    private String url;
-
-    /**
-     * 消息内容
-     */
-    @JsonProperty("message")
-    private String message;
-
-    /**
-     * 过期时间
-     */
-    @JsonProperty("expireTime")
-    private String expireTime;
-
-    /**
-     * 显示消息
-     */
-    @JsonProperty("showMessage")
-    private String showMessage;
-
-}

+ 381 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQueryCarPolicyListResponse.java

@@ -0,0 +1,381 @@
+package com.jzg.quotation.zijin.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @description: 紫金财险爬虫查询车险保单列表响应体
+ * @author:
+ * @date:
+ **/
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ZiJinCrawlerQueryCarPolicyListResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 返回码(0000表示成功)
+     */
+    @JsonProperty("rtnCode")
+    private String rtnCode;
+
+    /**
+     * 返回消息
+     */
+    @JsonProperty("rtnMsg")
+    private String rtnMsg;
+
+    /**
+     * 数据对象
+     */
+    @JsonProperty("data")
+    private PolicyDataInfoDtoList data;
+
+    // 内部类:保单数据信息列表DTO
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class PolicyDataInfoDtoList implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 当前页码
+         */
+        @JsonProperty("pageNum")
+        private Integer pageNum;
+
+        /**
+         * 每页大小
+         */
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+
+        /**
+         * 起始行号
+         */
+        @JsonProperty("startRow")
+        private Integer startRow;
+
+        /**
+         * 保单内容列表
+         */
+        @JsonProperty("content")
+        private List<PolicyContent> content;
+
+        /**
+         * 总记录数
+         */
+        @JsonProperty("totalCount")
+        private Integer totalCount;
+
+        /**
+         * 总页数
+         */
+        @JsonProperty("pages")
+        private Integer pages;
+    }
+
+    // 内部类:保单内容
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class PolicyContent implements Serializable {
+
+        @Serial
+        private static final long serialVersionUID = 1L;
+
+        /**
+         * 投保单号
+         */
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+
+        /**
+         * 保单号
+         */
+        @JsonProperty("policyNo")
+        private String policyNo;
+
+        /**
+         * 加密校验码
+         */
+        @JsonProperty("encrypt")
+        private String encrypt;
+
+        /**
+         * 加密投保单号
+         */
+        @JsonProperty("encryptProposalNo")
+        private String encryptProposalNo;
+
+        /**
+         * 险种编码(0590-交强险)
+         */
+        @JsonProperty("riskCode")
+        private String riskCode;
+
+        /**
+         * 险种名称
+         */
+        @JsonProperty("riskName")
+        private String riskName;
+
+        /**
+         * 投保人姓名
+         */
+        @JsonProperty("appliName")
+        private String appliName;
+
+        /**
+         * 投保人身份证号
+         */
+        @JsonProperty("appliIdentifyNumber")
+        private String appliIdentifyNumber;
+
+        /**
+         * 车牌号(null表示无车牌或新车)
+         */
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+
+        /**
+         * 被保险人姓名
+         */
+        @JsonProperty("insuredName")
+        private String insuredName;
+
+        /**
+         * 保险起始日期时间
+         */
+        @JsonProperty("startDate")
+        private String startDate;
+
+        /**
+         * 保险结束日期时间
+         */
+        @JsonProperty("endDate")
+        private String endDate;
+
+        /**
+         * 总保费(元)
+         */
+        @JsonProperty("sumPremium")
+        private Integer sumPremium;
+
+        /**
+         * 打印流水号
+         */
+        @JsonProperty("printNo")
+        private String printNo;
+
+        /**
+         * 合同号
+         */
+        @JsonProperty("contractNo")
+        private String contractNo;
+
+        /**
+         * 操作员工号
+         */
+        @JsonProperty("operatorCode")
+        private String operatorCode;
+
+        /**
+         * 操作员姓名
+         */
+        @JsonProperty("operatorName")
+        private String operatorName;
+
+        /**
+         * 经办人1工号
+         */
+        @JsonProperty("handler1Code")
+        private String handler1Code;
+
+        /**
+         * 经办人1姓名
+         */
+        @JsonProperty("handler1Name")
+        private String handler1Name;
+
+        /**
+         * 录入日期
+         */
+        @JsonProperty("inputDate")
+        private String inputDate;
+
+        /**
+         * 支付方式编码(20-网上缴费)
+         */
+        @JsonProperty("payType")
+        private String payType;
+
+        /**
+         * 支付方式名称
+         */
+        @JsonProperty("payTypeName")
+        private String payTypeName;
+
+        /**
+         * 收款日期时间
+         */
+        @JsonProperty("receiveDate")
+        private String receiveDate;
+
+        /**
+         * 保单生效时间
+         */
+        @JsonProperty("policyEffTime")
+        private String policyEffTime;
+
+        /**
+         * 交换号
+         */
+        @JsonProperty("exchangeNo")
+        private String exchangeNo;
+
+        /**
+         * 支付确认时间
+         */
+        @JsonProperty("payConfirmTime")
+        private String payConfirmTime;
+
+        /**
+         * 打印日期
+         */
+        @JsonProperty("printDate")
+        private String printDate;
+
+        /**
+         * 账户名称
+         */
+        @JsonProperty("accountName")
+        private String accountName;
+
+        /**
+         * 账号
+         */
+        @JsonProperty("accountNo")
+        private String accountNo;
+
+        /**
+         * 卡号
+         */
+        @JsonProperty("cardNo")
+        private String cardNo;
+
+        /**
+         * 支票号
+         */
+        @JsonProperty("checkNo")
+        private String checkNo;
+
+        /**
+         * 核保人
+         */
+        @JsonProperty("checker")
+        private String checker;
+
+        /**
+         * 调用系统编码
+         */
+        @JsonProperty("invokeSystem")
+        private String invokeSystem;
+
+        /**
+         * 调用系统名称
+         */
+        @JsonProperty("invokeSystemName")
+        private String invokeSystemName;
+
+        /**
+         * 保单状态编码(1-未起保,2-期内有效,3-已失效)
+         */
+        @JsonProperty("policyStatus")
+        private String policyStatus;
+
+        /**
+         * 电子保单状态(0-正常)
+         */
+        @JsonProperty("elePolicyStatus")
+        private String elePolicyStatus;
+
+        /**
+         * 保单状态名称
+         */
+        @JsonProperty("policyStatusName")
+        private String policyStatusName;
+
+        /**
+         * 机构代码
+         */
+        @JsonProperty("comCode")
+        private String comCode;
+
+        /**
+         * 机构名称
+         */
+        @JsonProperty("comName")
+        private String comName;
+
+        /**
+         * 车架号(VIN码)
+         */
+        @JsonProperty("frameNo")
+        private String frameNo;
+
+        /**
+         * 证件号码(被保险人)
+         */
+        @JsonProperty("identifyNumber")
+        private String identifyNumber;
+
+        /**
+         * 车辆种类代码(A0-客车)
+         */
+        @JsonProperty("carKindCode")
+        private String carKindCode;
+
+        /**
+         * 已支付且未生效标识(0-否,1-是)
+         */
+        @JsonProperty("paidAndIneffectiveFlag")
+        private String paidAndIneffectiveFlag;
+
+        /**
+         * 批次号
+         */
+        @JsonProperty("batchNo")
+        private String batchNo;
+
+        /**
+         * 车船税金额(元)
+         */
+        @JsonProperty("carShipTaxPremium")
+        private Integer carShipTaxPremium;
+
+        /**
+         * 商业险保费小计
+         */
+        @JsonProperty("carPolicySubSumPremium")
+        private Integer carPolicySubSumPremium;
+
+        /**
+         * X保单信息列表(扩展保单信息)
+         */
+        @JsonProperty("xpolicyInfoList")
+        private Object xpolicyInfoList;
+    }
+
+}

+ 145 - 404
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/entity/response/ZiJinCrawlerQueryOrderStatusResponse.java

@@ -10,9 +10,9 @@ import java.io.Serializable;
 import java.util.List;
 
 /**
- * @description: 渤海财险 爬虫查询订单状态响应体
- * @author: system
- * @date: 2025/10/23
+ * @description: 紫金财险爬虫查询订单状态响应体
+ * @author:
+ * @date:
  **/
 @NoArgsConstructor
 @AllArgsConstructor
@@ -23,225 +23,83 @@ public class ZiJinCrawlerQueryOrderStatusResponse implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 业务信息列表
+     * 返回码
      */
-    @JsonProperty("businessInfoList")
-    private List<BusinessInfoDTO> businessInfoList;
+    @JsonProperty("rtnCode")
+    private String rtnCode;
 
     /**
-     * 响应头信
+     * 返回消
      */
-    @JsonProperty("head")
-    private HeadDTO head;
+    @JsonProperty("rtnMsg")
+    private String rtnMsg;
 
     /**
-     * 当前页码
+     * 数据对象
      */
-    @JsonProperty("pageNo")
-    private String pageNo;
+    @JsonProperty("data")
+    private QueryOrderStatusData data;
 
-    /**
-     * 总记录数
-     */
-    @JsonProperty("totalRow")
-    private String totalRow;
-
-    /**
-     * 业务信息内部类
-     */
+    // 内部类:查询订单状态数据对象
     @NoArgsConstructor
     @AllArgsConstructor
     @Data
-    public static class BusinessInfoDTO implements Serializable {
+    public static class QueryOrderStatusData implements Serializable {
 
         @Serial
         private static final long serialVersionUID = 1L;
 
         /**
-         * 入账日期
-         */
-        @JsonProperty("accDate")
-        private String accDate;
-
-        /**
-         * 总保额
-         */
-        @JsonProperty("amount")
-        private String amount;
-
-        /**
-         * 商业险保额
-         */
-        @JsonProperty("amountBI")
-        private String amountBI;
-
-        /**
-         * 交强险保额
-         */
-        @JsonProperty("amountCI")
-        private String amountCI;
-
-        /**
-         * 驾意险保额
-         */
-        @JsonProperty("amountDI")
-        private String amountDI;
-
-        /**
-         * 投保人姓名
-         */
-        @JsonProperty("appliName")
-        private String appliName;
-
-        /**
-         * 是否投保商业险
-         */
-        @JsonProperty("biIsInsure")
-        private String biIsInsure;
-
-        /**
-         * 品牌名称
-         */
-        @JsonProperty("brandName")
-        private String brandName;
-
-        /**
-         * 二级业务分类
-         */
-        @JsonProperty("businessCategories2")
-        private String businessCategories2;
-
-        /**
-         * 业务流水号/订单号
-         */
-        @JsonProperty("businessNo")
-        private String businessNo;
-
-        /**
-         * 订单取消标志
-         */
-        @JsonProperty("cancelFlag")
-        private String cancelFlag;
-
-        /**
-         * 商业险取消标志
-         */
-        @JsonProperty("cancelFlagBI")
-        private String cancelFlagBI;
-
-        /**
-         * 交强险取消标志
-         */
-        @JsonProperty("cancelFlagCI")
-        private String cancelFlagCI;
-
-        /**
-         * 驾意险取消标志
+         * 当前页码
          */
-        @JsonProperty("cancelFlagDI")
-        private String cancelFlagDI;
+        @JsonProperty("pageNum")
+        private Integer pageNum;
 
         /**
-         * 车主姓名
+         * 每页数量
          */
-        @JsonProperty("carOwnerName")
-        private String carOwnerName;
+        @JsonProperty("pageSize")
+        private Integer pageSize;
 
         /**
-         * 是否投保交强险
+         * 起始行号
          */
-        @JsonProperty("ciIsInsure")
-        private String ciIsInsure;
+        @JsonProperty("startRow")
+        private Integer startRow;
 
         /**
-         * 机构代码
+         * 订单内容列表
          */
-        @JsonProperty("comCode")
-        private String comCode;
+        @JsonProperty("content")
+        private List<OrderContent> content;
 
         /**
-         * 机构名称
+         * 总记录数
          */
-        @JsonProperty("comName")
-        private String comName;
+        @JsonProperty("totalCount")
+        private Integer totalCount;
 
         /**
-         * 是否投保驾意险
+         * 总页数
          */
-        @JsonProperty("diIsInsure")
-        private String diIsInsure;
-
-        /**
-         * 总保险止期
-         */
-        @JsonProperty("endDate")
-        private String endDate;
-
-        /**
-         * 商业险保险止期
-         */
-        @JsonProperty("endDateBI")
-        private String endDateBI;
-
-        /**
-         * 交强险保险止期
-         */
-        @JsonProperty("endDateCI")
-        private String endDateCI;
-
-        /**
-         * 驾意险保险止期
-         */
-        @JsonProperty("endDateDI")
-        private String endDateDI;
-
-        /**
-         * 批改类型
-         */
-        @JsonProperty("endorType")
-        private String endorType;
-
-        /**
-         * 发动机号
-         */
-        @JsonProperty("engineNo")
-        private String engineNo;
-
-        /**
-         * 车架号
-         */
-        @JsonProperty("frameNo")
-        private String frameNo;
-
-        /**
-         * 处理人1链接
-         */
-        @JsonProperty("handler1Link")
-        private String handler1Link;
-
-        /**
-         * 处理人代码
-         */
-        @JsonProperty("handlerCode")
-        private String handlerCode;
+        @JsonProperty("pages")
+        private Integer pages;
+    }
 
-        /**
-         * 处理人姓名
-         */
-        @JsonProperty("handlerName")
-        private String handlerName;
+    // 内部类:订单内容
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class OrderContent implements Serializable {
 
-        /**
-         * 被保险人姓名
-         */
-        @JsonProperty("insuredName")
-        private String insuredName;
+        @Serial
+        private static final long serialVersionUID = 1L;
 
         /**
-         * 是否新保单影像
+         * 非车保单信息列表
          */
-        @JsonProperty("isNewImage")
-        private String isNewImage;
+        @JsonProperty("xpolicyInfoDtoList")
+        private List<NonCarPolicyInfo> xpolicyInfoDtoList;
 
         /**
          * 车牌号
@@ -250,52 +108,10 @@ public class ZiJinCrawlerQueryOrderStatusResponse implements Serializable {
         private String licenseNo;
 
         /**
-         * 主要车辆种类代码
+         * 经办人1姓名
          */
-        @JsonProperty("mainCarKindCode")
-        private String mainCarKindCode;
-
-        /**
-         * 新业务标志
-         */
-        @JsonProperty("newRiskFlag")
-        private String newRiskFlag;
-
-        /**
-         * 无车业务数量
-         */
-        @JsonProperty("noCarNums")
-        private String noCarNums;
-
-        /**
-         * 无车业务保单状态
-         */
-        @JsonProperty("noCarPoaStatus")
-        private String noCarPoaStatus;
-
-        /**
-         * 无车业务状态
-         */
-        @JsonProperty("noCarStatus")
-        private String noCarStatus;
-
-        /**
-         * 操作日期
-         */
-        @JsonProperty("operateDate")
-        private String operateDate;
-
-        /**
-         * 操作人代码
-         */
-        @JsonProperty("operatorCode")
-        private String operatorCode;
-
-        /**
-         * 操作人姓名
-         */
-        @JsonProperty("operatorName")
-        private String operatorName;
+        @JsonProperty("handler1Name")
+        private String handler1Name;
 
         /**
          * 订单号
@@ -304,273 +120,198 @@ public class ZiJinCrawlerQueryOrderStatusResponse implements Serializable {
         private String orderNo;
 
         /**
-         * 商业险缴费标志(0:未缴费,1:已缴费)
+         * 订单状态中文描述
          */
-        @JsonProperty("payFlagBI")
-        private String payFlagBI;
+        @JsonProperty("orderStatusCN")
+        private String orderStatusCN;
 
         /**
-         * 交强险缴费标志(0:未缴费,1:已缴费)
+         * 订单ID
          */
-        @JsonProperty("payFlagCI")
-        private String payFlagCI;
+        @JsonProperty("orderId")
+        private String orderId;
 
         /**
-         * 驾意险缴费标志
+         * 订单来源中文名称
          */
-        @JsonProperty("payFlagDI")
-        private String payFlagDI;
+        @JsonProperty("orderOriginCname")
+        private String orderOriginCname;
 
         /**
-         * 商业险保单号
+         * 订单来源编码
          */
-        @JsonProperty("policyNoBI")
-        private String policyNoBI;
+        @JsonProperty("orderOrigin")
+        private String orderOrigin;
 
         /**
-         * 交强险保单号
+         * 代理公司名称
          */
-        @JsonProperty("policyNoCI")
-        private String policyNoCI;
+        @JsonProperty("agentName")
+        private String agentName;
 
         /**
-         * 驾意险保单号
+         * 订单状态编码(5-失效)
          */
-        @JsonProperty("policyNoDI")
-        private String policyNoDI;
+        @JsonProperty("orderStatus")
+        private String orderStatus;
 
         /**
-         * 总保费
+         * 被保险人姓名
          */
-        @JsonProperty("premium")
-        private String premium;
+        @JsonProperty("insuredNameInsured")
+        private String insuredNameInsured;
 
         /**
-         * 商业险保费
+         * 终端ID
          */
-        @JsonProperty("premiumBI")
-        private String premiumBI;
+        @JsonProperty("terminalID")
+        private String terminalID;
 
         /**
-         * 交强险保费
+         * 操作员工号
          */
-        @JsonProperty("premiumCI")
-        private String premiumCI;
+        @JsonProperty("operatorCode")
+        private String operatorCode;
 
         /**
-         * 驾意险保费
+         * 操作员姓名
          */
-        @JsonProperty("premiumDI")
-        private String premiumDI;
+        @JsonProperty("operatorName")
+        private String operatorName;
 
         /**
-         * 商业险是否可打印
+         * 录入日期
          */
-        @JsonProperty("printFlagBI")
-        private Boolean printFlagBI;
+        @JsonProperty("inputDate")
+        private String inputDate;
 
         /**
-         * 交强险是否可打印
+         * 产品名称
          */
-        @JsonProperty("printFlagCI")
-        private Boolean printFlagCI;
+        @JsonProperty("productName")
+        private String productName;
 
         /**
-         * 驾意险是否可打印
+         * 总保费(元)
          */
-        @JsonProperty("printFlagDI")
-        private Boolean printFlagDI;
+        @JsonProperty("sumPremium")
+        private String sumPremium;
 
         /**
-         * 商业险投保单号
+         * 终端类型
          */
-        @JsonProperty("proposalNoBI")
-        private String proposalNoBI;
+        @JsonProperty("terminalIDType")
+        private String terminalIDType;
 
         /**
-         * 交强险投保单号
+         * 产品编码
          */
-        @JsonProperty("proposalNoCI")
-        private String proposalNoCI;
+        @JsonProperty("productCode")
+        private String productCode;
 
         /**
-         * 驾意险投保单号
+         * 加密字段
          */
-        @JsonProperty("proposalNoDI")
-        private String proposalNoDI;
+        @JsonProperty("encrypt")
+        private String encrypt;
 
         /**
-         * 资源类型代码
+         * 经办人1工号
          */
-        @JsonProperty("resourceTypeCode")
-        private String resourceTypeCode;
+        @JsonProperty("handler1Code")
+        private String handler1Code;
 
         /**
-         * 商业险险种代码
+         * 保单信息列表
          */
-        @JsonProperty("riskCodeBI")
-        private String riskCodeBI;
+        @JsonProperty("policyInfoDtoList")
+        private List<PolicyInfo> policyInfoDtoList;
+    }
 
-        /**
-         * 交强险险种代码
-         */
-        @JsonProperty("riskCodeCI")
-        private String riskCodeCI;
+    // 内部类:非车保单信息
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @Data
+    public static class NonCarPolicyInfo implements Serializable {
 
-        /**
-         * 驾意险险种代码
-         */
-        @JsonProperty("riskCodeDI")
-        private String riskCodeDI;
+        @Serial
+        private static final long serialVersionUID = 1L;
 
         /**
-         * 商业险业务流水
+         * 关联非车单号
          */
-        @JsonProperty("sequenceBiNo")
-        private String sequenceBiNo;
+        @JsonProperty("proposalNo")
+        private String proposalNo;
 
         /**
-         * 交强险业务流水号
+         * 保险结束日期
          */
-        @JsonProperty("sequenceCiNo")
-        private String sequenceCiNo;
+        @JsonProperty("endDate")
+        private String endDate;
 
         /**
-         * 驾意险业务流水
+         * 保单
          */
-        @JsonProperty("sequenceDiNo")
-        private String sequenceDiNo;
+        @JsonProperty("policyNo")
+        private String policyNo;
 
         /**
-         * 保险起期
+         * 保险起始日
          */
         @JsonProperty("startDate")
         private String startDate;
-
-        /**
-         * 商业险保险起期
-         */
-        @JsonProperty("startDateBI")
-        private String startDateBI;
-
-        /**
-         * 交强险保险起期
-         */
-        @JsonProperty("startDateCI")
-        private String startDateCI;
-
-        /**
-         * 驾意险保险起期
-         */
-        @JsonProperty("startDateDI")
-        private String startDateDI;
-
-        /**
-         * 商业险状态结果
-         */
-        @JsonProperty("statusResBI")
-        private Boolean statusResBI;
-
-        /**
-         * 交强险状态结果
-         */
-        @JsonProperty("statusResCI")
-        private Boolean statusResCI;
-
-        /**
-         * 驾意险状态结果
-         */
-        @JsonProperty("statusResDI")
-        private Boolean statusResDI;
-
-        /**
-         * 实际车船税
-         */
-        @JsonProperty("taxActual")
-        private String taxActual;
-
-        /**
-         * 总体承保标志
-         */
-        @JsonProperty("underwriteFlag")
-        private String underwriteFlag;
-
-        /**
-         * 商业险承保标志
-         */
-        @JsonProperty("underwriteFlagBI")
-        private String underwriteFlagBI;
-
-        /**
-         * 交强险承保标志
-         */
-        @JsonProperty("underwriteFlagCI")
-        private String underwriteFlagCI;
-
-        /**
-         * 驾意险承保标志
-         */
-        @JsonProperty("underwriteFlagDI")
-        private String underwriteFlagDI;
-
-        /**
-         * 生效日期
-         */
-        @JsonProperty("validDate")
-        private String validDate;
-
-        /**
-         * 车辆识别码(VIN)
-         */
-        @JsonProperty("vinNo")
-        private String vinNo;
     }
 
-    /**
-     * 响应头信息内部类
-     */
+    // 内部类:保单信息
     @NoArgsConstructor
     @AllArgsConstructor
     @Data
-    public static class HeadDTO implements Serializable {
+    public static class PolicyInfo implements Serializable {
 
         @Serial
         private static final long serialVersionUID = 1L;
 
         /**
-         * 返回代码
+         * 投保单号
+         */
+        @JsonProperty("proposalNo")
+        private String proposalNo;
+
+        /**
+         * 险种名称
          */
-        @JsonProperty("returnCode")
-        private String returnCode;
+        @JsonProperty("riskName")
+        private String riskName;
 
         /**
-         * 返回消息
+         * 加密投保单号
          */
-        @JsonProperty("returnMessage")
-        private String returnMessage;
+        @JsonProperty("encryptProposalNo")
+        private String encryptProposalNo;
 
         /**
-         * 会话ID
+         * 保险结束日期
          */
-        @JsonProperty("sessionId")
-        private String sessionId;
+        @JsonProperty("endDate")
+        private String endDate;
 
         /**
-         * 访问令牌
+         * 险种编码
          */
-        @JsonProperty("token")
-        private String token;
+        @JsonProperty("riskCode")
+        private String riskCode;
 
         /**
-         * 交易代码
+         * 保单号
          */
-        @JsonProperty("transCode")
-        private String transCode;
+        @JsonProperty("policyNo")
+        private String policyNo;
 
         /**
-         * 交易类型
+         * 保险起始日期
          */
-        @JsonProperty("transType")
-        private String transType;
+        @JsonProperty("startDate")
+        private String startDate;
     }
+
 }

+ 88 - 0
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/OrderStatus.java

@@ -0,0 +1,88 @@
+package com.jzg.quotation.zijin.crawler.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @description: 紫金财险 订单状态
+ * @author:
+ * @date:
+ **/
+@Getter
+@AllArgsConstructor
+public enum OrderStatus {
+
+    /**
+     * 暂存
+     */
+     STAGING("0", "暂存"),
+
+    /**
+     * 核保中
+     */
+     UNDERWRITING("1", "核保中"),
+
+    /**
+     * 待支付
+     */
+    PENDING_PAYMENT("2", "待支付"),
+
+    /**
+     * 下发修改
+     */
+    DISPATCHED_MODIFICATION("3", "下发修改"),
+
+    /**
+     * 生效
+     */
+    EFFECTIVE("4", "生效"),
+
+    /**
+     * 失效
+     */
+    EXPIRED("5", "失效"),
+
+    /**
+     * 退保
+     */
+     SURRENDERED("6", "退保"),
+    /**
+     * 注销
+     */
+    CANCELLED("7", "已注销"),
+
+    /**
+     * 拒保
+     */
+    REJECTED("8", "已拒保"),
+
+    /**
+     * 未提交
+     */
+    UNCOMMITTED("9", "未提交");
+
+    /**
+     * 状态码
+     */
+    private final String code;
+
+    /**
+     * 状态名称
+     */
+    private final String name;
+
+    /**
+     * 根据状态码获取对应的枚举值
+     *
+     * @param code 状态码
+     * @return 对应的枚举值,如果不存在返回null
+     */
+    public static OrderStatus getByCode(String code) {
+        for (OrderStatus status : values()) {
+            if (status.getCode().equals(code)) {
+                return status;
+            }
+        }
+        return null;
+    }
+}

+ 7 - 13
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/enums/RequestUrl.java

@@ -15,11 +15,7 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     CAPTCHA("/api/v1/insurance/public/captcha/genImg", "生成验证码"),
     CHECKCAPTCHAANDGETTOKEN("/kscd-frontend/login/checkCaptchaAndGetToken", "校验验证码并获取token"),
     CHECK_TOKEN("/api_vhl_prod/api/checkToken", "校验token"),
-    AUTHENTICATE("/api_prod/api/authenticate", "登录"),
     //归属信息
-    GET_SALE_INFO("/api_vhl_prod/api/getSaleInfo/", "获取账号信息"),
-    COMPANIES("/api_vhl_prod/api/companies", "承保机构"),
-    CHANNEL_PACKAGES("/api_vhl_prod/api/default/package/list", "渠道套餐"),
     // 报价
     CAR("/api/v1/insurance/public/vehicle-model/jingyou/preFill", "查询车辆信息"),
     GET_ORDER_NUMBER("/dpgateway/insurance-order/carInsurance/orderQueryVehicleAndTraffic","获取订单号"),
@@ -27,18 +23,16 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     PRICE("/api/v1/vehicle/proposal-process/premium-calculation", "计算保费"),
     // 核保
     UNDERWRITING("/kscd-frontend/carAutoUnderwriting", "核保"),
-    //上传影像(有两个接口)
-    UPLOAD_IMAGE("/motor/pspcs/Channel/uploadFile", "上传影像"),
-    UPLOAD_SUBMIT("/motor/pspcs/Channel/channelTask/channelTaskMain.do", "上传影像提交"),
+    //上传影像
+    UPLOAD_IMAGE("/dpgateway/insurance-order/carInsurance/uploadFile", "上传影像"),
     // 支付链接
-    PAYMENTCERTINOQUERY("/motor/pspcs/Channel/channelTask/channelTaskMain.do", "支付凭证号查询(交强险、商业险保单号查询)"),
-    PAYMENTNOTICENO_GENERATION("/motor/pspcs/Channel/channelTask/channelTaskMain.do", "支付通知单号生成"),
     QRCODE("/pubsrv/ecpay/payment/order/select/orderNo", "支付二维码"),
-    // 下载保单
-    ELECTRON_POLICY_IO_DOWNLOAD("/motor/pspcs/Channel/channelTask/channelTaskMain.do", "下载保单"),
     // 查询订单状态
-    QUERY_ORDER_STATUS("/motor/pspcs/Channel/channelTask/channelTaskMain.do", "查询订单状态"),
-    ;
+    QUERY_ORDER_STATUS("/kscd-frontend/order/queryOrderList", "查询订单状态"),
+    // 下载电子保单
+    // 查询车辆保单列表(下载保单的前一步操作)
+    QUERY_CAR_POLICY_LIST("/kscd-frontend/policy/queryCarPolicyListByPrivilege", "查询车辆保单列表"),
+    ELECTRON_POLICY_IO_DOWNLOAD("/kscd-frontend/policy/elePolicyBatchDownload", "下载电子保单");
 
     private final String uri;
 

+ 4 - 6
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerOrderServiceImpl.java

@@ -25,7 +25,7 @@ public class ZiJinCrawlerOrderServiceImpl implements ZiJinCrawlerOrderService {
     public void save(QuoteVo quoteVo, ZiJinCrawlerQuotationResponse ziJinCrawlerQuotationResponse, boolean success) {
         ZiJinCrawlerOrder order = new ZiJinCrawlerOrder();
         order.setOrdersNo(quoteVo.getOrder().getOrdersNo());
-        order.setOrderNo(ziJinCrawlerQuotationResponse.getData().getBusUniqueId());
+        /*order.setOrderNo(ziJinCrawlerQuotationResponse.getData().getBusUniqueId());
         order.setBusUniqueId(ziJinCrawlerQuotationResponse.getData().getBusUniqueId());
         order.setQuoteSuccess(success);
 
@@ -37,14 +37,12 @@ public class ZiJinCrawlerOrderServiceImpl implements ZiJinCrawlerOrderService {
         if (ziJinCrawlerQuotationResponse.getData().getBusinessPolicy() != null) {
             order.setSyApplyNo(ziJinCrawlerQuotationResponse.getData().getBusinessPolicy().getApplicationNo());
             order.setBiPremium(ziJinCrawlerQuotationResponse.getData().getBusinessPolicy().getPremium());
-        }
-
-        order.setTotalPremium(ziJinCrawlerQuotationResponse.getData().getPremium());
+        }*/
+        order.setTotalPremium(ziJinCrawlerQuotationResponse.getBasePart().getSumPremium().toString());
         order.setCreateTime(LocalDateTime.now());
         order.setUpdateTime(LocalDateTime.now());
-
         if (!success) {
-            order.setErrorMsg(ziJinCrawlerQuotationResponse.getResponseMsg());
+            order.setErrorMsg(ziJinCrawlerQuotationResponse.getRtnMsg());
         }
         boHaiCrawlerOrderRepository.save(order);
     }

+ 107 - 175
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/crawler/service/impl/ZiJinCrawlerRequestImpl.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.zijin.crawler.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.google.zxing.NotFoundException;
+import java.util.Arrays;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
@@ -30,14 +31,13 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.io.IOException;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 紫金财险爬虫报价服务实现类
  *
- * <p>通过模拟浏览器操作的方式实现渤海财险的完整报价流程</p>
+ * <p>通过模拟浏览器操作的方式实现紫金财险的完整报价流程</p>
  *
  * @author
  * @since
@@ -60,7 +60,6 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
 
     private final ZiJinCrawlerQuoteProcessService ziJinCrawlerQuoteProcessService;
 
-    private static final String TOKEN = "114050281-ab12387d7bb7bd319ac3b7d4ddd22090";
 
     /**
      * 登录
@@ -440,20 +439,22 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             ZiJinCrawlerOrder ziJinCrawlerOrder = ziJinCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
 
             log.info("获取支付链接,订单号:{}", ziJinCrawlerOrder.getOrderNo());
-            ZiJinCrawlerPaymentQueryRequest ziJinCrawlerPaymentQueryRequest = new ZiJinCrawlerPaymentQueryRequest();
-            ziJinCrawlerPaymentQueryRequest.setWeChatOfficialFlag("1");
-            ZiJinCrawlerPaymentQueryRequest.PaymentApplicationDto paymentApplicationDto = new ZiJinCrawlerPaymentQueryRequest.PaymentApplicationDto();
+
+            ZiJinCrawlerPaymentLinkRequest ziJinCrawlerPaymentLinkRequest = new ZiJinCrawlerPaymentLinkRequest();
+            ziJinCrawlerPaymentLinkRequest.setWeChatOfficialFlag("1");
+            ZiJinCrawlerPaymentLinkRequest.PaymentApplicationDto paymentApplicationDto = new ZiJinCrawlerPaymentLinkRequest.PaymentApplicationDto();
             paymentApplicationDto.setBusinessNo(ziJinCrawlerOrder.getOrderNo());
             paymentApplicationDto.setBusinessType("D");
             paymentApplicationDto.setInvokeSystem("0201");
             paymentApplicationDto.setPremium(ziJinCrawlerOrder.getTotalPremium());
-            ziJinCrawlerPaymentQueryRequest.setPaymentApplicationDtos(Collections.singletonList(paymentApplicationDto));
-            ziJinCrawlerPaymentQueryRequest.setOperatorCode("");
-            ziJinCrawlerPaymentQueryRequest.setCompanyCode("");
+            ziJinCrawlerPaymentLinkRequest.setPaymentApplicationDtos(Collections.singletonList(paymentApplicationDto));
+            ziJinCrawlerPaymentLinkRequest.setOperatorCode("");
+            ziJinCrawlerPaymentLinkRequest.setCompanyCode("");
 
-            ZiJinCrawlerQrcodeResponse boHaiPaymentResponse = ziJinCrawlerRequestComponent.payment(ziJinCrawlerPaymentQueryRequest, headers);
+            //获取支付链接
+            ZiJinCrawlerPaymentLinkResponse ziJinCrawlerPaymentLinkResponse = ziJinCrawlerRequestComponent.payment(ziJinCrawlerPaymentLinkRequest, headers);
             PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
-            paymentLinkResultsVo.setPaymentLink(boHaiPaymentResponse.getUrl());
+            paymentLinkResultsVo.setPaymentLink(ziJinCrawlerPaymentLinkResponse.getWechatUrl());
             return paymentLinkResultsVo;
         } catch (NotFoundException e) {
             e.printStackTrace();
@@ -474,15 +475,24 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
         try {
             //获取归属信息
             AttributionInformationVo attributionInformationVo = insuranceUploadImageVo.getOrder().getAttributionInformationVo();
-            ZiJinCrawlerOrder boHaiCrawlerOrder = ziJinCrawlerOrderService.getById(insuranceUploadImageVo.getOrder().getOrdersNo());
             HttpHeaders headers = ziJinCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-            ZiJinCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ZiJinCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
+            ZiJinCrawlerOrder ziJinCrawlerOrder = ziJinCrawlerOrderService.getById(insuranceUploadImageVo.getOrder().getOrdersNo());
 
             // 上传影像文件请求参数
-            ZiJinCrawlerImageUploadRequestDto boHaiCrawlerImageUploadRequest = new ZiJinCrawlerImageUploadRequestDto(parameters, boHaiCrawlerOrder.getOrderNo(), insuranceUploadImageVo.getImageVoList());
-            ZiJinCrawlerImageUploadSubmitResponse boHaiCrawlerImageUploadSubmitResponse = ziJinCrawlerRequestComponent.uploadImage(boHaiCrawlerImageUploadRequest, headers);
-            log.info("boHaiCrawlerImageUploadSubmitResponse对象的值:{}", JSON.toJSONString(boHaiCrawlerImageUploadSubmitResponse));
+            ZiJinCrawlerImageUploadRequest ziJinCrawlerImageUploadRequest = new ZiJinCrawlerImageUploadRequest();
+            ziJinCrawlerImageUploadRequest.setFileBase64("");
+            ziJinCrawlerImageUploadRequest.setFileName("");
+            ziJinCrawlerImageUploadRequest.setFileType("");
+            ziJinCrawlerImageUploadRequest.setOrderNo(ziJinCrawlerOrder.getOrderNo());
+
+            ZiJinCrawlerImageUploadResponse ziJinCrawlerImageUploadResponse = ziJinCrawlerRequestComponent.uploadImage(ziJinCrawlerImageUploadRequest, headers);
+            log.info("boHaiCrawlerImageUploadSubmitResponse对象的值:{}", JSON.toJSONString(ziJinCrawlerImageUploadResponse));
+            if("0000".equals(ziJinCrawlerImageUploadResponse.getRtnCode())){
+                log.info("影像上传成功,影像ID:{}", ziJinCrawlerImageUploadResponse.getFileId());
+            }else{
+                log.error("影像上传失败,错误码:{},错误信息:{}", ziJinCrawlerImageUploadResponse.getRtnCode(), ziJinCrawlerImageUploadResponse.getRtnMsg());
+                throw new RuntimeException("影像上传失败,错误码:" + ziJinCrawlerImageUploadResponse.getRtnCode() + ",错误信息:" + ziJinCrawlerImageUploadResponse.getRtnMsg());
+            }
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException(e);
@@ -490,8 +500,6 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
     }
 
 
-
-
     /**
      * 下载保单
      *
@@ -500,68 +508,57 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
      */
     @Override
     public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
-        //获取归属信息
-        AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
-        HttpHeaders headers = ziJinCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-        ZiJinCrawlerOrder boHaiCrawlerOrder = ziJinCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
-
-        /*ElectronicPolicyRequest electronicPolicyRequest = new ElectronicPolicyRequest(attributionInformationVo.getConfigInfo(),
-                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getCiPolicyNo(), boHaiCrawlerOrder.getBiPolicyNo());*/
-        ZiJinCrawlerDownloadResponse response = null;
-        ZiJinCrawlerDownloadRequest boHaiCrawlerDownloadRequest = buildDownloadRequest(boHaiCrawlerOrder);
-        DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
-
-        // 下载交强险保单
-        if (StringUtils.hasLength(boHaiCrawlerOrder.getCiPolicyNo())) {
-            //boHaiCrawlerDownloadRequest.setBusinessNo(boHaiCrawlerOrder.getCiPolicyNo());
-            response = ziJinCrawlerRequestComponent.electronPolicyIODownload(boHaiCrawlerDownloadRequest, headers);
-            downloadPolicyResultVo.setJqUrl(response.getFiles().get(0).getAddress());
-        }
-
-        // 下载商业险保单
-        if (StringUtils.hasLength(boHaiCrawlerOrder.getBiPolicyNo())) {
-            boHaiCrawlerDownloadRequest.setBusinessNo(boHaiCrawlerOrder.getBiPolicyNo());
-            response = ziJinCrawlerRequestComponent.electronPolicyIODownload(boHaiCrawlerDownloadRequest, headers);
-            if (!CollectionUtils.isEmpty(response.getFiles())) {
-                downloadPolicyResultVo.setSyUrl(response.getFiles().get(0).getAddress());
+        try {
+            //获取归属信息
+            AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
+            HttpHeaders headers = ziJinCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+            ZiJinCrawlerOrder ziJinCrawlerOrder = ziJinCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
+
+            //1、查询车辆保单列表(下载保单的前一步操作)
+            ZiJinCrawlerQueryCarPolicyListRequest ziJinCrawlerQueryCarPolicyListRequest = setQueryCarPolicyListRequest(downloadPolicyVo.getBeginDate(), downloadPolicyVo.getEndDate(), "");
+            ZiJinCrawlerQueryCarPolicyListResponse ziJinCrawlerQueryCarPolicyListResponse = ziJinCrawlerRequestComponent.queryCarPolicyList(ziJinCrawlerQueryCarPolicyListRequest, headers);
+            List<ZiJinCrawlerQueryCarPolicyListResponse.PolicyContent> content = ziJinCrawlerQueryCarPolicyListResponse.getData().getContent();
+            //获取所有的保单号
+            List<String> policyNos = content.stream().map(ZiJinCrawlerQueryCarPolicyListResponse.PolicyContent::getPolicyNo).collect(Collectors.toList());
+            //获取所有的加密验证码
+            List<String> encryptCodes = content.stream().map(ZiJinCrawlerQueryCarPolicyListResponse.PolicyContent::getEncrypt).collect(Collectors.toList());
+            //将保单号和加密验证码一一对应
+            Map<String, String> policyNoEncryptMap = new LinkedHashMap<>();
+            for (int i = 0; i < policyNos.size(); i++) {
+                policyNoEncryptMap.put(policyNos.get(i), encryptCodes.get(i));
+            }
+            //2、下载保单
+            ZiJinCrawlerDownloadPolicyRequest ziJinCrawlerDownloadPolicyRequest =new ZiJinCrawlerDownloadPolicyRequest();
+
+            DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
+            // 下载交强险保单
+            if (StringUtils.hasLength(ziJinCrawlerOrder.getCiPolicyNo())) {
+                ziJinCrawlerDownloadPolicyRequest.setPolicyNo(ziJinCrawlerOrder.getCiPolicyNo());
+                ziJinCrawlerDownloadPolicyRequest.setEncrypt(policyNoEncryptMap.get(ziJinCrawlerOrder.getCiPolicyNo()));
+                ZiJinCrawlerDownloadPolicyResponse ziJinCrawlerDownloadPolicyResponse = ziJinCrawlerRequestComponent.electronPolicyIODownload(ziJinCrawlerDownloadPolicyRequest, headers);
+                // 设置交强险标志地址
+                downloadPolicyResultVo.setJqFlagUrl(ziJinCrawlerDownloadPolicyResponse.getData().getElePolicyDownloadInfoDtoList().get(0).getDownloadPath());
+                // 设置交强险保单地址
+                downloadPolicyResultVo.setJqUrl(ziJinCrawlerDownloadPolicyResponse.getData().getElePolicyDownloadInfoDtoList().get(1).getDownloadPath());
             }
-        }
 
-        // 下载驾意险保单
-        if (StringUtils.hasLength(boHaiCrawlerOrder.getNiPolicyNo())) {
-            boHaiCrawlerDownloadRequest.setBusinessNo(boHaiCrawlerOrder.getNiPolicyNo());
-            response = ziJinCrawlerRequestComponent.electronPolicyIODownload(boHaiCrawlerDownloadRequest, headers);
-            if (!CollectionUtils.isEmpty(response.getFiles())) {
-                downloadPolicyResultVo.setJyUrl(response.getFiles().get(0).getAddress());
+            // 下载商业险保单
+            if (StringUtils.hasLength(ziJinCrawlerOrder.getBiPolicyNo())) {
+                ziJinCrawlerDownloadPolicyRequest.setPolicyNo(ziJinCrawlerOrder.getBiPolicyNo());
+                ziJinCrawlerDownloadPolicyRequest.setEncrypt(policyNoEncryptMap.get(ziJinCrawlerOrder.getBiPolicyNo()));
+                ZiJinCrawlerDownloadPolicyResponse ziJinCrawlerDownloadPolicyResponse = ziJinCrawlerRequestComponent.electronPolicyIODownload(ziJinCrawlerDownloadPolicyRequest, headers);
+                //设置驾意险保单地址
+                downloadPolicyResultVo.setJyUrl(ziJinCrawlerDownloadPolicyResponse.getData().getElePolicyDownloadInfoDtoList().get(2).getDownloadPath());
+                // 设置商业险保单地址
+                downloadPolicyResultVo.setSyUrl(ziJinCrawlerDownloadPolicyResponse.getData().getElePolicyDownloadInfoDtoList().get(3).getDownloadPath());
             }
+            return downloadPolicyResultVo;
+        } catch (IOException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
         }
-        return downloadPolicyResultVo;
     }
 
-    /**
-     * 构建下载请求对象
-     * 按照JSON字段顺序设置请求参数
-     *
-     * @param boHaiCrawlerOrder 渤海保险订单信息
-     * @return ZiJinCrawlerDownloadRequest 下载请求对象
-     */
-    private ZiJinCrawlerDownloadRequest buildDownloadRequest(ZiJinCrawlerOrder boHaiCrawlerOrder) {
-        ZiJinCrawlerDownloadRequest boHaiCrawlerDownloadRequest = new ZiJinCrawlerDownloadRequest();
-        // 按照JSON字段顺序设置请求参数
-        // 1. 设置头部信息
-        ZiJinCrawlerDownloadRequest.Head head = new ZiJinCrawlerDownloadRequest.Head();
-        head.setTransCode("EleDocumentAddress");
-        head.setTransType("Req");
-        head.setToken(TOKEN);
-        boHaiCrawlerDownloadRequest.setHead(head);
-        // 2. 设置业务号(保单号)
-        //boHaiCrawlerDownloadRequest.setBusinessNo(boHaiCrawlerOrder.getOrderNo());
-        // 3. 设置文档类型
-        boHaiCrawlerDownloadRequest.setDocumentType("POLICY");
-        // 4. 设置是否新影像
-        boHaiCrawlerDownloadRequest.setIsNewImage("1");
-        return boHaiCrawlerDownloadRequest;
-    }
 
     /**
      * 查询订单状态
@@ -576,14 +573,24 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
             HttpHeaders headers = ziJinCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
             ZiJinCrawlerOrder boHaiCrawlerOrder = ziJinCrawlerOrderService.getById(orderStatusVo.getOrder().getOrdersNo());
 
-            ZiJinCrawlerQueryOrderStatusRequest boHaiCrawlerQueryOrderStatusRequest = buildOrderStatusRequest(boHaiCrawlerOrder);
-            ZiJinCrawlerQueryOrderStatusResponse boHaiCrawlerQueryOrderStatusResponse = ziJinCrawlerRequestComponent.queryOrderStatus(boHaiCrawlerQueryOrderStatusRequest, headers);
-            log.info("查询订单状态响应:{}", JSON.toJSONString(boHaiCrawlerQueryOrderStatusResponse));
+            ZiJinCrawlerQueryOrderStatusRequest ziJinCrawlerQueryOrderStatusRequest = new ZiJinCrawlerQueryOrderStatusRequest();
+            // 设置请求参数
+            ziJinCrawlerQueryOrderStatusRequest.setOrderStatus(new String[]{});
+            ziJinCrawlerQueryOrderStatusRequest.setOrderNo(orderStatusVo.getOrder().getOrdersNo());
+            ziJinCrawlerQueryOrderStatusRequest.setUpdateTimeBegin("");
+            ziJinCrawlerQueryOrderStatusRequest.setUpdateTimeEnd("");
+            ziJinCrawlerQueryOrderStatusRequest.setPageNum(1);
+            ziJinCrawlerQueryOrderStatusRequest.setPageSize(10);
+            ziJinCrawlerQueryOrderStatusRequest.setProductCodeList(new String[]{});
+            ziJinCrawlerQueryOrderStatusRequest.setOrderOrigin("KSCD_PROD,FH_PROD,DP_WXMP,DP_ZYB,RENEWAL_PROD,DP_ZNCD,SHHTB_B");
+
+            ZiJinCrawlerQueryOrderStatusResponse ziJinCrawlerQueryOrderStatusResponse = ziJinCrawlerRequestComponent.queryOrderStatus(ziJinCrawlerQueryOrderStatusRequest, headers);
+            log.info("查询订单状态响应:{}", JSON.toJSONString(ziJinCrawlerQueryOrderStatusResponse));
             //获取订单状态
-            InsOrderStatusEnum insOrderStatusEnum = determineOrderStatus(boHaiCrawlerQueryOrderStatusResponse);
-            log.info("订单状态:{}", insOrderStatusEnum);
+            String orderStatus = ziJinCrawlerQueryOrderStatusResponse.getData().getContent().get(0).getOrderStatus();
+            log.info("订单状态:{},中文含义:{}", orderStatus, ziJinCrawlerQueryOrderStatusResponse.getData().getContent().get(0).getOrderStatusCN());
             OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
-            orderStatusResultVo.setOrderStatus(insOrderStatusEnum);
+            orderStatusResultVo.setOrderStatusStr(orderStatus);
             return orderStatusResultVo;
         } catch (Exception e) {
             e.printStackTrace();
@@ -592,101 +599,26 @@ public class ZiJinCrawlerRequestImpl implements ZiJinCrawlerRequest {
     }
 
     /**
-     * 确定订单状态
-     *
-     * @param response
-     * @return InsOrderStatusEnum
-     */
-    public InsOrderStatusEnum determineOrderStatus(ZiJinCrawlerQueryOrderStatusResponse response) {
-        // 首先检查是否取消
-        if ("1".equals(response.getBusinessInfoList().get(0).getCancelFlag()) ||
-                "1".equals(response.getBusinessInfoList().get(0).getCancelFlagBI()) ||
-                "1".equals(response.getBusinessInfoList().get(0).getCancelFlagCI())) {
-            return InsOrderStatusEnum.ORDER_CLOSE;
-        }
-
-        // 检查是否已生效
-        if ("3".equals(response.getBusinessInfoList().get(0).getUnderwriteFlagBI()) &&
-                "3".equals(response.getBusinessInfoList().get(0).getUnderwriteFlagCI())) {
-            // 检查是否已缴费
-            if ("0".equals(response.getBusinessInfoList().get(0).getPayFlagBI()) ||
-                    "0".equals(response.getBusinessInfoList().get(0).getPayFlagCI())) {
-                return InsOrderStatusEnum.PAY_PENDING; // 待缴费
-            }
-            return InsOrderStatusEnum.UNDERWRITED; // 已生效
-        }
-        // 其他情况可以根据业务需求进一步细分
-        return InsOrderStatusEnum.QUOTE_ING; // 默认为订单已提交
-    }
-
-
-    /**
-     * 构建订单状态查询请求对象
+     * 设置查询车险保单列表请求参数
      *
-     * @param boHaiCrawlerOrder 渤海爬虫订单
-     * @return ZiJinCrawlerQueryOrderStatusRequest
+     * @param beginDate 开始日期
+     * @param endDate   结束日期
+     * @param loginComCode 登录公司编码
+     * @return ZiJinCrawlerQueryCarPolicyListRequest
      */
-    private ZiJinCrawlerQueryOrderStatusRequest buildOrderStatusRequest(ZiJinCrawlerOrder boHaiCrawlerOrder) {
-        ZiJinCrawlerQueryOrderStatusRequest boHaiCrawlerQueryOrderStatusRequest = new ZiJinCrawlerQueryOrderStatusRequest();
-
-        // 设置请求头信息
-        ZiJinCrawlerQueryOrderStatusRequest.HeadDTO head = new ZiJinCrawlerQueryOrderStatusRequest.HeadDTO();
-        head.setToken(TOKEN);
-        head.setTransType("Req");
-        head.setTransCode("CompositeQuery");
-        boHaiCrawlerQueryOrderStatusRequest.setHead(head);
-
-        // 按照JSON字段顺序设置请求参数
-        boHaiCrawlerQueryOrderStatusRequest.setIsQueryAllQuoteUserCode("false");
-        boHaiCrawlerQueryOrderStatusRequest.setLoginCom("14070201");
-        boHaiCrawlerQueryOrderStatusRequest.setRows(10);
-        boHaiCrawlerQueryOrderStatusRequest.setPageNo(1);
-        boHaiCrawlerQueryOrderStatusRequest.setBusinessType("O");
-        boHaiCrawlerQueryOrderStatusRequest.setQueryStatus("");
-        boHaiCrawlerQueryOrderStatusRequest.setUserCode("114050281");
-        boHaiCrawlerQueryOrderStatusRequest.setLicenseNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setLicenseNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setVinNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setVinNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setFrameNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setFrameNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setEngineNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setEngineNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setOrderNo(boHaiCrawlerOrder.getOrderNo());
-        boHaiCrawlerQueryOrderStatusRequest.setOrderNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setProposalNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setProposalNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setQuotationNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setQuotationNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setPolicyNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setPolicyNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setEndorseNo("");
-        boHaiCrawlerQueryOrderStatusRequest.setEndorseNoFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setInsuredName("");
-        boHaiCrawlerQueryOrderStatusRequest.setInsuredNameFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setAppliName("");
-        boHaiCrawlerQueryOrderStatusRequest.setAppliNameFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setAppliIdentifyNumber("");
-        boHaiCrawlerQueryOrderStatusRequest.setAppliIdentifyNumberFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setInsuredIdentifyNumber("");
-        boHaiCrawlerQueryOrderStatusRequest.setInsuredIdentifyNumberFlag("=");
-        boHaiCrawlerQueryOrderStatusRequest.setStartDateBegin("");
-        boHaiCrawlerQueryOrderStatusRequest.setStartDateEnd("");
-        boHaiCrawlerQueryOrderStatusRequest.setEndDateBegin("");
-        boHaiCrawlerQueryOrderStatusRequest.setEndDateEnd("");
-        boHaiCrawlerQueryOrderStatusRequest.setOperateDateBegin(LocalDate.now().minusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-        boHaiCrawlerQueryOrderStatusRequest.setOperateDateEnd(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-        boHaiCrawlerQueryOrderStatusRequest.setUnderWriteDateStart("");
-        boHaiCrawlerQueryOrderStatusRequest.setUnderWriteDateEnd("");
-        boHaiCrawlerQueryOrderStatusRequest.setBusinessCategories2("");
-        boHaiCrawlerQueryOrderStatusRequest.setBusinessCategories2Flag("");
-        boHaiCrawlerQueryOrderStatusRequest.setResourceTypeCode("004");
-        boHaiCrawlerQueryOrderStatusRequest.setIsIssueUserCode("");
-        boHaiCrawlerQueryOrderStatusRequest.setIsIssueUserCodeFlag("");
-        boHaiCrawlerQueryOrderStatusRequest.setEnableRiskArr("");
-        boHaiCrawlerQueryOrderStatusRequest.setIsSearchUserCode("0");
-
-        return boHaiCrawlerQueryOrderStatusRequest;
+    private ZiJinCrawlerQueryCarPolicyListRequest setQueryCarPolicyListRequest(String beginDate, String endDate,String loginComCode) {
+        ZiJinCrawlerQueryCarPolicyListRequest ziJinCrawlerQueryCarPolicyListRequest = new ZiJinCrawlerQueryCarPolicyListRequest();
+        ziJinCrawlerQueryCarPolicyListRequest.setInputDateBegin(beginDate);
+        ziJinCrawlerQueryCarPolicyListRequest.setInputDateEnd(endDate);
+        ziJinCrawlerQueryCarPolicyListRequest.setPageNo("0");
+        ziJinCrawlerQueryCarPolicyListRequest.setPageSize("10");
+        ziJinCrawlerQueryCarPolicyListRequest.setLoginComCode(loginComCode);
+        ziJinCrawlerQueryCarPolicyListRequest.setElePolicyStatusQuery("1");
+        ziJinCrawlerQueryCarPolicyListRequest.setPolicyStatus(Arrays.asList("1", "2", "3"));
+        ziJinCrawlerQueryCarPolicyListRequest.setRiskCodeList(Arrays.asList());
+        ziJinCrawlerQueryCarPolicyListRequest.setPaidAndIneffectiveSwitch("1");
+        ziJinCrawlerQueryCarPolicyListRequest.setInvokeSystem("0201");
+        return  ziJinCrawlerQueryCarPolicyListRequest;
     }
 
 

+ 1 - 1
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/enums/dictionary/CIKind.java

@@ -5,7 +5,7 @@ import lombok.Getter;
 
 
 /**
- * @description: 大家财险 交强险
+ * @description: 紫金财险 交强险
  * @author: wenks
  * @date: 2025/2/13 15:39
  **/