jinshihui 11 месяцев назад
Родитель
Сommit
2543328629

+ 10 - 1
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/service/impl/BoHaiApiRequestImpl.java

@@ -264,6 +264,11 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         return underwritingResultsVo;
     }
 
+    /**
+     * 获取支付链接
+     * @param paymentLinkVo
+     * @return PaymentLinkResultsVo
+     */
     @Override
     public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
         //获取配置信息
@@ -282,6 +287,11 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         return paymentLinkResultsVo;
     }
 
+
+    /**
+     * 上传影像件
+     * @param insuranceUploadImageVo
+     */
     @Override
     public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
         OrderBase order = insuranceUploadImageVo.getOrder();
@@ -296,7 +306,6 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         } catch (Exception e) {
             throw new SystemException(e.getMessage());
         }
-
     }
 
     /**

+ 7 - 29
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/crawler/component/BoHaiCrawlerRequestComponent.java

@@ -163,7 +163,7 @@ public class BoHaiCrawlerRequestComponent {
      * 请求(请求参数加密)
      *
      * @param crawlerRequestUrlStandard
-     * @param request                   报价请求体
+     * @param request
      * @param responseClass
      * @param headers
      * @return BoHaiResponse
@@ -194,7 +194,7 @@ public class BoHaiCrawlerRequestComponent {
 
             AssertionUtils.isEmpty(responseString, "请求异常请重试");
             // 参数解密
-            String decrypt =des.des_decrypt(responseString);
+            String decrypt = des.des_decrypt(responseString);
             log.info("请求返回参数解密:{}", decrypt);
             return JSON.parseObject(decrypt, responseClass);
         } catch (Exception e) {
@@ -306,7 +306,6 @@ public class BoHaiCrawlerRequestComponent {
         return request(RequestUrl.VEHICLECONFIRMATION, boHaiCrawlerVehicleConfirmationReqeust1, BoHaiCrawlerVehicleConfirmationResponse2.class, headers);
     }
 
-
     /**
      * 报价
      *
@@ -321,32 +320,11 @@ public class BoHaiCrawlerRequestComponent {
     /**
      * 核保
      *
-     * @param underwritingRequest 核保请求实体
-     * @return 响应
-     */
-    public UnderwritingResponse underwriting(UnderwritingRequest underwritingRequest, String sysSourceCode, String url) throws Exception {
-        return verificationResponse(underwritingRequest, url, UnderwritingResponse.class, sysSourceCode, RequestType.Z00007);
-    }
-
-
-    public <Q extends BoHaiBaseRequest, S extends BoHaiBaseResponse> S verificationResponse(Q q, String url, Class<S> tClass, String sysSourceCode, RequestType requestType) throws Exception {
-        //S response = requestUrl(url, q, tClass, sysSourceCode, requestType);
-        request(RequestUrl.UNDERWRITING, boHaiCrawlerQuotationRequest2, BoHaiCrawlerQuotationResponse.class, headers);
-        verificationResponseCode(response.getResponseCode(), response.getResponseMsg());
-        return response;
-    }
-
-
-    /**
-     * 验证响应
-     *
-     * @param responseCode 响应code
-     * @param responseMsg  响应内容
+     * @param boHaiCrawlerUnderwritingRequest2 核保请求实体
+     * @param headers
+     * @return BoHaiCrawlerUnderwritingResponse
      */
-    private void verificationResponseCode(String responseCode, String responseMsg) {
-        if (ResponseCode.R_Z00004.getCode().equals(responseCode)) {
-            throw new SystemException(responseMsg);
-        }
+    public BoHaiCrawlerUnderwritingResponse underwriting(BoHaiCrawlerUnderwritingRequest2 boHaiCrawlerUnderwritingRequest2, HttpHeaders headers) throws Exception {
+        return request(RequestUrl.UNDERWRITING, boHaiCrawlerUnderwritingRequest2, BoHaiCrawlerUnderwritingResponse.class, headers);
     }
-
 }

+ 1 - 1
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/crawler/constant/enums/RequestUrl.java

@@ -31,7 +31,7 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     SAVE("/api_vhl_prod/api/save", "保存订单"),
     INIT_DATA("/api_vhl_prod/imp/web/page/init_data", "初始化数据"),
     //上传影像
-    UPLOAD_SIGNS("/api_vhl_prod/imp/web/obs/upload_signs", "上传标志"),
+    UPLOAD_SIGNS("/motor/pspcs/Channel/uploadFile", "上传影像"),
     UPLOAD("/api_vhl_prod/imp/web/file/upload", "上传"),
     // 提交核保
     GENERATE("/api_vhl_prod/api/generate", "生成订单(核保)"),

+ 19 - 11
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/crawler/entity/request/BoHaiCrawlerUnderwritingRequest2.java

@@ -14,10 +14,12 @@ public class BoHaiCrawlerUnderwritingRequest2 {
     /**
      * 请求报文头信息(交易码、类型、令牌)。
      */
+    @JSONField(ordinal = 1)
     private Head head;
     /**
-     * 业务数据体(保单、车辆、被保险人、险种等完整信息)。
+     * 业务数据体
      */
+    @JSONField(ordinal = 2)
     private BusinessData businessData;
 
     public BoHaiCrawlerUnderwritingRequest2(Head head, BusinessData businessData) {
@@ -47,11 +49,11 @@ public class BoHaiCrawlerUnderwritingRequest2 {
     @Data
     public static class BusinessData {
         /**
-         * 主业务信息(订单、折扣、渠道、操作人等)。
+         * 主业务信息
          */
         private BusinessMainInfo businessMainInfo;
         /**
-         * 车辆信息(整车参数与登记信息)。
+         * 车辆信息
          */
         private CarInfo carInfo;
         /**
@@ -483,7 +485,7 @@ public class BoHaiCrawlerUnderwritingRequest2 {
          */
         private ItemCarInfo itemCarInfo;
         /**
-         * 充电相关信息列表(新能源场景)。
+         * 充电相关信息列表(新能源场景)
          */
         private List<Object> chargingInfoList;
         /**
@@ -1427,7 +1429,7 @@ public class BoHaiCrawlerUnderwritingRequest2 {
          */
         private FeeControlInfo feeControlInfo;
         /**
-         * 责任/条款项列表。
+         * 责任/条款项列表
          */
         private List<ItemKind> itemKindList;
         /**
@@ -1435,11 +1437,11 @@ public class BoHaiCrawlerUnderwritingRequest2 {
          */
         private List<Object> mainSubList;
         /**
-         * 车船税信息。
+         * 车船税信息
          */
         private CarShipTaxInfo carShipTaxInfo;
         /**
-         * 赔偿限额列表。
+         * 赔偿限额列表
          */
         private List<Limit> limitList;
     }
@@ -1633,7 +1635,7 @@ public class BoHaiCrawlerUnderwritingRequest2 {
         /**
          * 核保系数变动值。
          */
-        private String underwritingCoefficientVariation;
+        private Integer underwritingCoefficientVariation;
         /**
          * 是否需要报价标志。
          */
@@ -2325,7 +2327,7 @@ public class BoHaiCrawlerUnderwritingRequest2 {
         /**
          * 空载质量(kg)。
          */
-        private String unladenMass;
+        private Integer unladenMass;
         /**
          * 车船税起始日期。
          */
@@ -2397,15 +2399,18 @@ public class BoHaiCrawlerUnderwritingRequest2 {
     @Data
     public static class FxqInfo {
         /**
-         * 反洗钱业务记录列表。
+         * 反洗钱业务记录列表
          */
         private List<FxqBusiness> fxqBusinessList;
         /**
-         * 反洗钱客户风险记录列表。
+         * 反洗钱客户风险记录列表
          */
         private List<AntiCustomerRisk> antiCustomerRiskList;
     }
 
+    /**
+     * 反洗钱业务记录
+     */
     @Data
     public static class FxqBusiness {
         /**
@@ -2438,6 +2443,9 @@ public class BoHaiCrawlerUnderwritingRequest2 {
         private String submitTime;
     }
 
+    /**
+     * 反洗钱客户风险记录
+     */
     @Data
     public static class AntiCustomerRisk {
         /**

+ 889 - 419
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/crawler/service/impl/BoHaiCrawlerRequestImpl.java

@@ -28,9 +28,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpHeaders;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 渤海财险爬虫报价服务实现类
@@ -594,14 +592,235 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
         HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
 
         //UnderwritingRequest underwritingRequest = new UnderwritingRequest(attributionInformationVo.getConfigInfo(), boHaiCrawlerOrder.getOrderNo());
-        BoHaiCrawlerUnderwritingRequest2.Head head = new BoHaiCrawlerUnderwritingRequest2.Head();
-        head.setTransCode("Save");
-        head.setTransType("Req");
-        head.setToken("114050281-1a2148bdef013e76e47ba4944a4df66b");
 
-        BoHaiCrawlerUnderwritingRequest2.BusinessData businessData = new BoHaiCrawlerUnderwritingRequest2.BusinessData();
+        BoHaiCrawlerUnderwritingResponse boHaiUnderwritingResponse = null;
+        try {
+            BoHaiCrawlerUnderwritingRequest2.Head head = createHead();
+            BoHaiCrawlerUnderwritingRequest2.BusinessData businessData = createBusinessData();
+            BoHaiCrawlerUnderwritingRequest2 boHaiCrawlerUnderwritingRequest2 = new BoHaiCrawlerUnderwritingRequest2(head, businessData);
+            // 核保
+            boHaiUnderwritingResponse = boHaiCrawlerRequestComponent.underwriting(boHaiCrawlerUnderwritingRequest2, headers);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
 
-        // 设置业务主信息
+        UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
+        if ("0".equals(boHaiUnderwritingResponse.getHead().getReturnCode())) {
+            String jqMessage = boHaiUnderwritingResponse.getBusinessData().getBusinessMainInfo().getBusinessNoList().get(0).getSubmitMessageCI();
+            String syMessage = boHaiUnderwritingResponse.getBusinessData().getBusinessMainInfo().getBusinessNoList().get(0).getSubmitMessageBI();
+
+            if ("核保等级为:4".equals(jqMessage) || "核保等级为:4".equals(syMessage)) {
+                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
+                underwritingResultsVo.setUnderwritingResult("人工处理");
+            } else if ("核保等级为:0".equals(jqMessage) || "A0".equals(syMessage)) {
+                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
+                underwritingResultsVo.setJqApplyNo(boHaiUnderwritingResponse.getBusinessData().getBusinessMainInfo().getBusinessNoList().get(0).getProposalNoCI());
+                underwritingResultsVo.setSyApplyNo(boHaiUnderwritingResponse.getBusinessData().getBusinessMainInfo().getBusinessNoList().get(0).getProposalNoBI());
+            }
+        }else{
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
+            StringBuilder sb = new StringBuilder();
+            if (null != boHaiUnderwritingResponse.getHead().getReturnMessage()) {
+                sb.append(String.format("错误信息:s%", boHaiUnderwritingResponse.getHead().getReturnMessage()));
+            }
+            underwritingResultsVo.setUnderwritingResult(sb.toString());
+        }
+        return underwritingResultsVo;
+    }
+
+
+    /**
+     * 获取支付链接
+     * @param paymentLinkVo
+     * @return
+     */
+    @Override
+    public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
+        /*AttributionInformationVo attributionInformationVo = paymentLinkVo.getOrder().getAttributionInformationVo();
+        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
+        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+
+        PaymentRequest paymentRequest = new PaymentRequest(attributionInformationVo.getConfigInfo(), boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getBusUniqueId());
+        BoHaiPaymentResponse boHaiPaymentResponse = boHaiCrawlerRequestComponent.payment(paymentRequest, headers);
+
+        PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
+        paymentLinkResultsVo.setPaymentLink(boHaiPaymentResponse.getData().getPayUrl());
+        return paymentLinkResultsVo;*/
+        return null;
+    }
+
+    /**
+     * 影像上传
+     * @param insuranceUploadImageVo
+     */
+    @Override
+    public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
+        /*AttributionInformationVo attributionInformationVo = insuranceUploadImageVo.getOrder().getAttributionInformationVo();
+        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(insuranceUploadImageVo.getOrder().getOrdersNo());
+        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+
+        ImageUploadRequest imageUploadRequest = new ImageUploadRequest(attributionInformationVo.getConfigInfo(),
+                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getBusUniqueId(), insuranceUploadImageVo.getImageVoList());
+        boHaiCrawlerRequestComponent.imageUpload(imageUploadRequest, headers);*/
+    }
+
+
+
+    @Override
+    public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
+        /*AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
+        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
+        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+
+        ElectronicPolicyRequest electronicPolicyRequest = new ElectronicPolicyRequest(attributionInformationVo.getConfigInfo(),
+                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getCiPolicyNo(), boHaiCrawlerOrder.getBiPolicyNo());
+        ElectronicPolicyResponse electronicPolicyResponse = boHaiCrawlerRequestComponent.electronicPolicy(electronicPolicyRequest, headers);
+
+        DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
+        if (StringUtils.hasLength(electronicPolicyResponse.getData().getTrafficEPolicyUrl())) {
+            downloadPolicyResultVo.setJqUrl(electronicPolicyResponse.getData().getTrafficEPolicyUrl());
+        }
+        if (StringUtils.hasLength(electronicPolicyResponse.getData().getBusinessEPolicyUrl())) {
+            downloadPolicyResultVo.setSyUrl(electronicPolicyResponse.getData().getBusinessEPolicyUrl());
+        }
+        return downloadPolicyResultVo;*/
+        return null;
+    }
+
+    /**
+     * 查询订单状态
+     *
+     * @param orderStatusVo
+     * @return
+     */
+    @Override
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
+        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(orderStatusVo.getOrder().getOrdersNo());
+        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+
+        /*StatusDocumentsRequest statusDocumentsRequest = new StatusDocumentsRequest(attributionInformationVo.getConfigInfo(),
+                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getCiApplyNo());
+        StatusDocumentsResponse response = boHaiCrawlerRequestComponent.statusDocuments(statusDocumentsRequest, headers);*/
+
+        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
+        // 处理订单状态逻辑
+        return orderStatusResultVo;
+    }
+
+    /**
+     * 车辆确认
+     *
+     * @param quoteVo
+     * @param boHaiCrawlerCarResponse
+     * @param parameters
+     * @param orderNo
+     * @param headers
+     * @return Map<String, Object>
+     */
+    private Map<String, Object> getVehicleConfirmationResponse(QuoteVo quoteVo, BoHaiCrawlerCarResponse boHaiCrawlerCarResponse, BoHaiCrawlerConfigureParameters parameters, HttpHeaders headers) {
+        // 车主信息
+        CustomerInfoVo ownerInfo = quoteVo.getOwnersInfo();
+        PersonAreaVo ownerInfoArea = new PersonAreaVo(ownerInfo);
+        // 被保人信息
+        CustomerInfoVo insuredPersonInfo = quoteVo.getInsuredPersonInfo();
+        PersonAreaVo insuredPersonArea = new PersonAreaVo(insuredPersonInfo);
+        // 投保人信息
+        CustomerInfoVo policyHolderInfo = quoteVo.getPolicyHolderInfo();
+        PersonAreaVo policyHolderArea = new PersonAreaVo(policyHolderInfo);
+
+        /*BoHaiCrawlerVehicleConfirmationReqeust vehicleConfirmationReqeust = new BoHaiCrawlerVehicleConfirmationReqeust(parameters, quoteVo, boHaiCrawlerCarResponse, ownerInfoArea, insuredPersonArea, policyHolderArea);*/
+        BoHaiCrawlerVehicleConfirmationReqeust1 boHaiCrawlerVehicleConfirmationReqeust1 = new BoHaiCrawlerVehicleConfirmationReqeust1();
+        // 车辆确认请求头
+        BoHaiCrawlerVehicleConfirmationReqeust1.HeadDTO headDTO = new BoHaiCrawlerVehicleConfirmationReqeust1.HeadDTO();
+        headDTO.setTransCode("CarModelsQuery");
+        headDTO.setTransType("Req");
+        //token先写死
+        headDTO.setToken(TOKEN);
+        boHaiCrawlerVehicleConfirmationReqeust1.setHead(headDTO);
+
+        BoHaiCrawlerVehicleConfirmationReqeust1.BodyDTO bodyDTO = new BoHaiCrawlerVehicleConfirmationReqeust1.BodyDTO();
+        bodyDTO.setBasicRateCode("");
+        // 登录机构编码,先写死
+        bodyDTO.setComCode("14070201");
+        bodyDTO.setEffectiveDate("2025-09-30");
+        bodyDTO.setExpireDate("2026-09-29");
+        bodyDTO.setEndHour("24");
+        bodyDTO.setStartHour("0");
+        bodyDTO.setRiskCode("0380");
+        bodyDTO.setBusinessNature("2");
+        bodyDTO.setEngineNo(boHaiCrawlerCarResponse.getJyCarModelFill().getEngineNumber());
+        bodyDTO.setVin(boHaiCrawlerCarResponse.getJyCarModelFill().getVinCode());
+        bodyDTO.setLicensePlateNo(boHaiCrawlerCarResponse.getJyCarModelFill().getPlateNumber());
+        //车牌类型
+        bodyDTO.setLicensePlateType("02");
+        bodyDTO.setFirstRegisterDate(boHaiCrawlerCarResponse.getJyCarModelFill().getRegisterDate());
+        bodyDTO.setModelCode(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getIndustryCarTypeCode());
+        //平台车型代码
+        bodyDTO.setPlatFormModelCode(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getIndustryCarTypeCode());
+        bodyDTO.setNoticeType("");
+        bodyDTO.setVehicleModel(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getModelCode());
+        bodyDTO.setVehicleStyleDesc("K33");
+        bodyDTO.setCarName("");
+        bodyDTO.setVehicleBrand("");
+        bodyDTO.setMadeFactory("");
+
+        //车辆动力参数
+        //排量
+        bodyDTO.setExhaustScale(1.373);
+        bodyDTO.setDisplacement("");
+        bodyDTO.setPower("103");
+        bodyDTO.setModelEnergyType("0");
+        bodyDTO.setPureRange("");
+
+        //车辆类型分类
+        bodyDTO.setMainCarKindCode("A");
+        bodyDTO.setMotorTypeCode("A0");
+        bodyDTO.setMotorMainTypeCode("A");
+        bodyDTO.setMotorUsageTypeCode("8A");
+
+        //车辆载重/载客信息
+        //核定载客量
+        bodyDTO.setRatedPassengerCapacity("5");
+        bodyDTO.setLimitLoadPerson("5");
+        bodyDTO.setTonnage("0.0000");
+        bodyDTO.setLimitLoad("0.0000");
+        bodyDTO.setWholeWeight("");
+
+        //价格与价值信息
+        log.info("购买价值:{}", boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getPurchasePrice());
+        bodyDTO.setReplacementValue(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getPurchasePrice());
+
+        //车辆状态标志
+        bodyDTO.setNewVehicleFlag("");
+        bodyDTO.setEcdemicVehicleFlag("");
+        bodyDTO.setIsI3RiskFlag("0");
+
+        //其他信息
+        bodyDTO.setLfDate("");
+        bodyDTO.setCertificateDate("");
+        bodyDTO.setCarOwnerNature("1");
+        // 车主证件类型 01:表示身份证
+        bodyDTO.setCarOwnerIdentifyType("01");
+        bodyDTO.setSalesChannelRefCode("");
+        bodyDTO.setPrecisePriceComCode(true);
+        boHaiCrawlerVehicleConfirmationReqeust1.setBody(bodyDTO);
+
+        //调用车辆确认接口
+        BoHaiCrawlerVehicleConfirmationResponse2 boHaiCrawlerVehicleConfirmationResponse = boHaiCrawlerRequestComponent.vehicleConfirmation(boHaiCrawlerVehicleConfirmationReqeust1, headers);
+        log.info("boHaiCrawlerVehicleConfirmationResponse参数的值:{}", JSON.toJSONString(boHaiCrawlerVehicleConfirmationResponse));
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("currentValue", boHaiCrawlerVehicleConfirmationResponse.getVehiclePriceList().get(0).getActualValue());
+        return map;
+    }
+
+    /**
+     * 创建业务主信息(用于核保)
+     *
+     * @return BusinessMainInfo
+     */
+    private BoHaiCrawlerUnderwritingRequest2.BusinessMainInfo createBusinessMainInfo() {
         BoHaiCrawlerUnderwritingRequest2.BusinessMainInfo mainInfo = new BoHaiCrawlerUnderwritingRequest2.BusinessMainInfo();
         mainInfo.setReneClientType("");
         mainInfo.setDriModelScoreReqNo("");
@@ -702,12 +921,179 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
         mainInfo.setFollowID("697e80c6c9cd434a97bea6e6a319f53b");
         mainInfo.setOpenId("odviKt0g-CP5NVNnZKiHEStPbRoU");
         mainInfo.setClientIp("");
-        businessData.setBusinessMainInfo(mainInfo);
+        return mainInfo;
+    }
 
-        // 设置投保人列表
+    /**
+     * 创建车辆信息(用于核保)
+     * @return CarInfo
+     */
+    private BoHaiCrawlerUnderwritingRequest2.CarInfo createCarInfo(){
+        BoHaiCrawlerUnderwritingRequest2.CarInfo carInfo = new BoHaiCrawlerUnderwritingRequest2.CarInfo();
+
+        // 创建车辆详细信息
+        BoHaiCrawlerUnderwritingRequest2.ItemCarInfo itemCarInfo = new BoHaiCrawlerUnderwritingRequest2.ItemCarInfo();
+        itemCarInfo.setMotorTypeCode("12");
+        itemCarInfo.setMaxDesignSpeed("");
+        itemCarInfo.setVehicleStyleUniqueId("6360820");
+        itemCarInfo.setPureRange("");
+        itemCarInfo.setOtherEnergyTypeDesc("");
+        itemCarInfo.setPmFuelType("A");
+        itemCarInfo.setCheckSCCode("");
+        itemCarInfo.setNewVehicleFlag("0");
+        itemCarInfo.setLicenseNo("晋AP535D");
+        itemCarInfo.setFrameNo("LKCAA1AB4BH005252");
+        itemCarInfo.setEngineNo("1100646-3F4");
+        itemCarInfo.setVinNo("LKCAA1AB4BH005252");
+        itemCarInfo.setEcdemicVehicleFlag("0");
+        itemCarInfo.setNoLicenseFlag("0");
+        itemCarInfo.setLicenseColorCode("01");
+        itemCarInfo.setUseNatureCode("8A");
+        itemCarInfo.setMainCarKindCode("A");
+        itemCarInfo.setCarKindCode("A0");
+        itemCarInfo.setBrandName("昌河CH6390LCE4客车");
+        itemCarInfo.setPrnBrandName("昌河CH6390LCE4客车");
+        itemCarInfo.setSeatCount("8");
+        itemCarInfo.setTonCount("0.0000");
+        itemCarInfo.setPurchasePrice("37000");
+        itemCarInfo.setBasePurchasePrice("37000");
+        itemCarInfo.setExhaustScale("0.97");
+        itemCarInfo.setEnrollDate("2011-03-03");
+        itemCarInfo.setUseYearsBI("7");
+        itemCarInfo.setUseYearsCI("9");
+        itemCarInfo.setUseYearsDI("");
+        itemCarInfo.setChgOwnerFlag("1");
+        itemCarInfo.setChgTypeFlag("1");
+        itemCarInfo.setChgOwnerDate("2025-10-11");
+        itemCarInfo.setCountryNature("B");
+        itemCarInfo.setModelCode("CHD1010HFC");
+        itemCarInfo.setPlatformModelCode("");
+        itemCarInfo.setRunMiles("20000");
+        itemCarInfo.setRunAreaCode("02");
+        itemCarInfo.setTrafficViolationRecords("0");
+        itemCarInfo.setColorCode("99");
+        itemCarInfo.setMadeFactory("合肥昌河汽车有限责任公司");
+        itemCarInfo.setMakeDate("");
+        itemCarInfo.setVehicleBrand("昌河");
+        itemCarInfo.setCompleteKerbMass("1015");
+        itemCarInfo.setLicenseKindCode("02");
+        itemCarInfo.setLicenseCategory("K33");
+        itemCarInfo.setRenewalFlagBI("0");
+        itemCarInfo.setDamagedFactorGrade("11");
+        itemCarInfo.setSpecialVehicleFlag("0");
+        itemCarInfo.setLoanVehicleFlag("0");
+        itemCarInfo.setProportion("0.0");
+        itemCarInfo.setRiskType("0");
+        itemCarInfo.setEnergySavingOrNewEnergy("0");
+        itemCarInfo.setLastProducerCode("");
+        itemCarInfo.setDebtFlag("0");
+        itemCarInfo.setRestricFlag("00");
+        itemCarInfo.setSearchSequenceNo("");
+        itemCarInfo.setIsTaxi("0");
+        itemCarInfo.setPrnExhaustScale("");
+        itemCarInfo.setPrnCompleteKerbMassNew("");
+        itemCarInfo.setFuelType1("0");
+        itemCarInfo.setIndustryCarTypeCode("BCHFFSUB0006");
+        itemCarInfo.setIndustryCarTypeName("昌河CH6390LCE4 标准");
+        itemCarInfo.setSpecifiedQueryArea("000000");
+        itemCarInfo.setCarABSFlag(null);
+        itemCarInfo.setFuelType2("");
+        itemCarInfo.setMiniCar("");
+        itemCarInfo.setCarAddressCode("");
+        itemCarInfo.setIssueDate("");
+        itemCarInfo.setNewDeviceFlag("0");
+        itemCarInfo.setActualValue("");
+        itemCarInfo.setInvoiceNo("");
+        itemCarInfo.setOwnerAddress("");
+        itemCarInfo.setParkSite("");
+        itemCarInfo.setTractorType("");
+        itemCarInfo.setVerifyStatus("1");
+        itemCarInfo.setVerifyReason("");
+        itemCarInfo.setVerifyReasonOtherReason("");
+        itemCarInfo.setCarCheckStatus("4");
+        itemCarInfo.setCarChecker("");
+        itemCarInfo.setCarCheckTime("");
+        itemCarInfo.setCarCondition("6");
+        itemCarInfo.setCarOtherCondition("");
+        itemCarInfo.setCarCheckDelayResponsible("");
+        itemCarInfo.setCarCheckDelayDays("");
+        itemCarInfo.setCarCheckReason("2");
+        itemCarInfo.setCarCheckOtherReason("");
+        itemCarInfo.setBrandCode("");
+        itemCarInfo.setSeries("福瑞达");
+        itemCarInfo.setSeriesCode(null);
+        itemCarInfo.setContrastFlag("");
+        itemCarInfo.setTaxInclued("");
+        itemCarInfo.setCertificateType("");
+        itemCarInfo.setCertificateNo("");
+        itemCarInfo.setCertificateDate("");
+        itemCarInfo.setMonthDepRate("");
+        itemCarInfo.setVehicleType("铃木");
+        itemCarInfo.setBankCode("");
+        itemCarInfo.setHkFlag("");
+        itemCarInfo.setHkPlateNo("");
+        itemCarInfo.setFleetNo("");
+        itemCarInfo.setPmQueryNo("");
+        itemCarInfo.setInvoiceDate("");
+        itemCarInfo.setGrossMass("");
+        itemCarInfo.setTractionMass("");
+        itemCarInfo.setCarName("");
+        itemCarInfo.setConfigType("");
+        itemCarInfo.setCategoryName("");
+        itemCarInfo.setCategoryCode("");
+        itemCarInfo.setDeptName("");
+        itemCarInfo.setDeptCode("");
+        itemCarInfo.setIneffectualDate("");
+        itemCarInfo.setRejectDate("");
+        itemCarInfo.setLastCheckDate("");
+        itemCarInfo.setBasicRateCode("");
+        itemCarInfo.setPowerType("汽油");
+        itemCarInfo.setPowerTypeCode("D1");
+        itemCarInfo.setRenewalTime("");
+        itemCarInfo.setNoDamageYearsBI("0");
+        itemCarInfo.setNoDamageYearsCI("0");
+        itemCarInfo.setRelievingAreaCode("7");
+        itemCarInfo.setCarShopCode("");
+        itemCarInfo.setPriorityServicerType("0");
+        itemCarInfo.setPriorityServicerCode("");
+        itemCarInfo.setPolicyFindDate("");
+        itemCarInfo.setNoticeType("CH6390LCE4");
+        itemCarInfo.setPurchaseInvoiceDate("");
+        itemCarInfo.setPureRiskPremium("0.0");
+        itemCarInfo.setNegotiatedValue("");
+        itemCarInfo.setCarKindCodeNew("A0");
+        itemCarInfo.setOriginalSeatCount("8");
+        itemCarInfo.setOriginalTonCount("0.0000");
+        itemCarInfo.setOriginalExhaustScale("0.97");
+        itemCarInfo.setCarNeedCheckReason("");
+        itemCarInfo.setCarUsage("昌河CH6390LCE4客车");
+        itemCarInfo.setNoClaimAdjustReasonCI("");
+        itemCarInfo.setNoClaimAdjustReasonBI("");
+        itemCarInfo.setTractiveTonnage("");
+        itemCarInfo.setIsNetworkCar("");
+        itemCarInfo.setPower("35.5");
+        itemCarInfo.setPrnPower("");
+        itemCarInfo.setOriginalPower("35.5");
+        itemCarInfo.setIsNewCar("0");
+        itemCarInfo.setJyPreCarNo("0d5004f65a9e4c0b87b13fc7b8af8b43");
+
+        // 设置车辆信息到carInfo
+        carInfo.setItemCarInfo(itemCarInfo);
+        // 设置充电信息列表和设备列表为空
+        carInfo.setChargingInfoList(Collections.emptyList());
+        carInfo.setDeviceList(Collections.emptyList());
+        return carInfo;
+    }
+
+    /**
+     * 创建投保人列表(用于核保)
+     *
+     * @return List<Insured>
+     */
+    private List<BoHaiCrawlerUnderwritingRequest2.Insured> createInsuredList() {
         List<BoHaiCrawlerUnderwritingRequest2.Insured> insuredList = new java.util.ArrayList<>();
 
-        // 投保人1
+        // 投保人
         BoHaiCrawlerUnderwritingRequest2.Insured insured1 = new BoHaiCrawlerUnderwritingRequest2.Insured();
         insured1.setSerialNo("1");
         insured1.setAppliInsuredRelation("01");
@@ -797,7 +1183,7 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
         insured1.setBusiCategoryExac("");
         insuredList.add(insured1);
 
-        // 投保人2
+        // 被保人
         BoHaiCrawlerUnderwritingRequest2.Insured insured2 = new BoHaiCrawlerUnderwritingRequest2.Insured();
         insured2.setSerialNo("2");
         insured2.setAppliInsuredRelation("");
@@ -887,7 +1273,7 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
         insured2.setBusiCategoryExac("");
         insuredList.add(insured2);
 
-        // 投保人3
+        // 车主
         BoHaiCrawlerUnderwritingRequest2.Insured insured3 = new BoHaiCrawlerUnderwritingRequest2.Insured();
         insured3.setSerialNo("3");
         insured3.setAppliInsuredRelation("");
@@ -976,425 +1362,509 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
         insured3.setBusiCategorySub("");
         insured3.setBusiCategoryExac("");
         insuredList.add(insured3);
+        return insuredList;
+    }
+
+    /**
+     * 创建险种列表(用于核保)
+     *
+     * @return List<Risk>
+     */
+    private List<BoHaiCrawlerUnderwritingRequest2.Risk> createRiskList() {
+        List<BoHaiCrawlerUnderwritingRequest2.Risk> riskList = new ArrayList<>();
+        // 创建交强险Risk对象
+        BoHaiCrawlerUnderwritingRequest2.Risk risk = new BoHaiCrawlerUnderwritingRequest2.Risk();
+
+        // 设置险种主信息
+        BoHaiCrawlerUnderwritingRequest2.RiskMainInfo riskMainInfo = new BoHaiCrawlerUnderwritingRequest2.RiskMainInfo();
+        riskMainInfo.setProposalNo("");
+        riskMainInfo.setSerialNo("1");
+        riskMainInfo.setAdjustDiscount("1.0");
+        riskMainInfo.setClauseType("F40");
+        riskMainInfo.setPolicySort("2");
+        riskMainInfo.setClassCode("03");
+        riskMainInfo.setRiskCode("0330");
+        riskMainInfo.setContractNo("");
+        riskMainInfo.setDiscount("0.00");
+        riskMainInfo.setCurrency("CNY");
+        riskMainInfo.setSumDiscount("0.00");
+        riskMainInfo.setSumAmount("200000.0");
+        riskMainInfo.setTotalRiskPremium("0.00");
+        riskMainInfo.setTotalRiskPremiumRange("0.00");
+        riskMainInfo.setSumPremium("1100.0");
+        riskMainInfo.setSumSubPrem("1100.0");
+        riskMainInfo.setUnderwriteCode("114050282");
+        riskMainInfo.setUnderwriteEndDate("2025-10-11");
+        riskMainInfo.setUnderwriteFlag("0");
+        riskMainInfo.setCardProductFlag("QD");
+        riskMainInfo.setDisrateOrigin("4.0");
+        riskMainInfo.setRegulatoryDisrate("0");
+        riskMainInfo.setNoReturnFeeFlag("");
+        riskMainInfo.setPdfFlag("");
+        riskMainInfo.setLastPolicyNo("");
+        riskMainInfo.setRenewalFlag("0");
+        riskMainInfo.setEndorType("");
+        riskMainInfo.setEndorText("");
+        riskMainInfo.setStartDate("2025-11-03");
+        riskMainInfo.setStartHour("0");
+        riskMainInfo.setEndDate("2026-11-02");
+        riskMainInfo.setEndHour("24");
+        riskMainInfo.setImmediatelyActiveFlag("");
+        riskMainInfo.setActiveStartTime("");
+        riskMainInfo.setActiveEndTime("");
+        riskMainInfo.setQuerySequenceNo("01BPIC140025101910148414228122");
+        riskMainInfo.setConfirmSequenceNo("");
+        riskMainInfo.setSpecialContractFlag("");
+        riskMainInfo.setSpecialContractSummary("");
+        riskMainInfo.setNoneFluctuateFlag("N4");
+        riskMainInfo.setNcdCoefficient("1.0");
+        riskMainInfo.setChannelCoefficient("");
+        riskMainInfo.setUnderwritingCoefficient("");
+        riskMainInfo.setAdjustCoefficient("0.00");
+        riskMainInfo.setTrafficViolationCoefficient("0.00");
+        riskMainInfo.setChannelCoefficientVariation("0.00");
+        riskMainInfo.setUnderwritingCoefficientVariation(0);
+        riskMainInfo.setIfNeedQuote("");
+        riskMainInfo.setExpectLossRate("0.00");
+        riskMainInfo.setRuleDescription("");
+        riskMainInfo.setTradeID("");
+        riskMainInfo.setCalculateType("");
+        riskMainInfo.setThirdRecordCode("");
+        riskMainInfo.setDisrate("4.0");
+        riskMainInfo.setUnderwriteName("114050281");
+        riskMainInfo.setCancelFlag("0");
+        riskMainInfo.setPayFlag("0");
+        riskMainInfo.setHopeRate("");
+        riskMainInfo.setAgentQueryCode("");
+        riskMainInfo.setCustomerProperty("001");
+        riskMainInfo.setRiskCoefficient("");
+        riskMainInfo.setBusinessCoefficient("");
+        riskMainInfo.setVehicleCoefficient("");
+        riskMainInfo.setCustomerCoefficient("364001");
+        riskMainInfo.setFleetCoefficient("");
+        riskMainInfo.setFamilySzie("");
+        riskMainInfo.setHouseholdIncome("");
+        riskMainInfo.setOtherProducts("");
+        riskMainInfo.setProductDetalis1("");
+        riskMainInfo.setProductDetalis2("");
+        riskMainInfo.setCurrentCompany("");
+        riskMainInfo.setDriveAge("");
+        riskMainInfo.setDriverSex("");
+        riskMainInfo.setDriveName("");
+        riskMainInfo.setDimensionCode("14GC-FKZDJ-07(-3)");
+        riskMainInfo.setDisFee("44.0");
+        riskMainInfo.setIsfarm("012001");
+        riskMainInfo.setSignDate("2025-10-11");
+        riskMainInfo.setOperateDate("2025-10-11");
+        riskMainInfo.setInputDate("2025-10-11");
+        riskMainInfo.setIsInsure("");
+        riskMainInfo.setSpecialApprovalCode("");
+        riskMainInfo.setGroupBillCode("");
+        riskMainInfo.setPriceId("D55522546DFE45AC9C90996DCDD6DC40");
+        riskMainInfo.setNoTaxAmount("1037.74");
+        riskMainInfo.setPricingAdjustValue("1.0");
+        riskMainInfo.setTaxAmount("62.26");
+        risk.setRiskMainInfo(riskMainInfo);
+
+        // 设置费用控制信息
+        BoHaiCrawlerUnderwritingRequest2.FeeControlInfo feeControlInfo = new BoHaiCrawlerUnderwritingRequest2.FeeControlInfo();
+        feeControlInfo.setAllRiskLevel("");
+        feeControlInfo.setAmountA10("");
+        feeControlInfo.setAmountA11("");
+        feeControlInfo.setAmountA12("");
+        feeControlInfo.setAmountA13("");
+        feeControlInfo.setAmountA14("");
+        feeControlInfo.setAmountA15("");
+        feeControlInfo.setAmountA4("");
+        feeControlInfo.setAmountA5("");
+        feeControlInfo.setAmountA7("");
+        feeControlInfo.setAmountA8("");
+        feeControlInfo.setBasicAmount("");
+        feeControlInfo.setBasicDisrate("");
+        feeControlInfo.setBasicDisrateOrigin("");
+        feeControlInfo.setComCodeFlg("");
+        feeControlInfo.setCurrency("CNY");
+        feeControlInfo.setDimensionCode("14GC-FKZDJ-07(-3)");
+        feeControlInfo.setDisFee("44.0");
+        feeControlInfo.setDisRate("4.0");
+        feeControlInfo.setDisRate1("");
+        feeControlInfo.setDisRate2("");
+        feeControlInfo.setDisRateOrigin("");
+        feeControlInfo.setEffRateOrigin("");
+        feeControlInfo.setEfftAmount("0.0");
+        feeControlInfo.setEfftAmount1("0.0");
+        feeControlInfo.setEfftRate("0.0");
+        feeControlInfo.setEfftRate1("0.0");
+        feeControlInfo.setFlag("");
+        feeControlInfo.setIlogNo("");
+        feeControlInfo.setInSpaceAmount("0.0");
+        feeControlInfo.setInSpaceRate("0.0");
+        feeControlInfo.setInSpaceRateOrigin("");
+        feeControlInfo.setIncAmount1("0.0");
+        feeControlInfo.setIncAount("");
+        feeControlInfo.setIncRate("0.0");
+        feeControlInfo.setIncRate1("0.0");
+        feeControlInfo.setIncRateOrigin("");
+        feeControlInfo.setManagementAmount("");
+        feeControlInfo.setManagementDisrate("");
+        feeControlInfo.setManagementDisrateOrigin("");
+        feeControlInfo.setNoTaxAmount("");
+        feeControlInfo.setOtherAmount("0.0");
+        feeControlInfo.setOtherRate("0.0");
+        feeControlInfo.setOtherRateOrigin("");
+        feeControlInfo.setOutSpaceAmount("0.0");
+        feeControlInfo.setOutSpaceRate("0.0");
+        feeControlInfo.setOutSpaceRateOrigin("");
+        feeControlInfo.setRateA10("");
+        feeControlInfo.setRateA11("");
+        feeControlInfo.setRateA12("");
+        feeControlInfo.setRateA13("");
+        feeControlInfo.setRateA14("");
+        feeControlInfo.setRateA15("");
+        feeControlInfo.setRateA4("");
+        feeControlInfo.setRateA5("");
+        feeControlInfo.setRateA7("");
+        feeControlInfo.setRateA8("");
+        feeControlInfo.setRegulatoryTaxAmount("");
+        feeControlInfo.setRegulatoryTaxDisrate("");
+        feeControlInfo.setRegulatoryTaxDisrateOrigin("");
+        feeControlInfo.setRemark("");
+        feeControlInfo.setRiskCode("0330");
+        feeControlInfo.setSaleAmount("");
+        feeControlInfo.setSaleBaseAmount("");
+        feeControlInfo.setSaleBaseDisrate("");
+        feeControlInfo.setSaleBaseDisrateOrigin("");
+        feeControlInfo.setSaleDisrate("");
+        feeControlInfo.setSaleDisrateOrigin("");
+        feeControlInfo.setSalesBusinessPerAmount("");
+        feeControlInfo.setSalesBusinessPerRate("");
+        feeControlInfo.setSalesManCostAmount("");
+        feeControlInfo.setSalesManCostRate("");
+        feeControlInfo.setSalesManagementFeeAmount("");
+        feeControlInfo.setSalesManagementFeeRate("");
+        feeControlInfo.setSalesStatus("");
+        feeControlInfo.setSpaceAmount("0.0");
+        feeControlInfo.setSpaceAmount1("440.0");
+        feeControlInfo.setSpaceRate("0.0");
+        feeControlInfo.setSpaceRate1("40.0");
+        feeControlInfo.setSpaceRateOrigin("");
+        feeControlInfo.setSumPremium("1100.0");
+        feeControlInfo.setTaxRate("");
+        feeControlInfo.setTotalFeeAmount("");
+        feeControlInfo.setTotalFeeDisrate("");
+        feeControlInfo.setTotalFeeDisrateOrigin("");
+        feeControlInfo.setZsState("");
+        feeControlInfo.setDisRateOrigion("4.0");
+        feeControlInfo.setDisAmount("44.0");
+        risk.setFeeControlInfo(feeControlInfo);
+
+        // 设置责任/条款项列表
+        List<BoHaiCrawlerUnderwritingRequest2.ItemKind> itemKindList = new ArrayList<>();
+        BoHaiCrawlerUnderwritingRequest2.ItemKind itemKind = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
+        itemKind.setItemKindNo("0");
+        itemKind.setKindCode("BZ");
+        itemKind.setKindName("机动车交通事故责任强制险条款");
+        itemKind.setOperateType("");
+        itemKind.setStartDate("2025-11-03");
+        itemKind.setStartHour("0");
+        itemKind.setEndDate("2026-11-02");
+        itemKind.setEndHour("24");
+        itemKind.setAmount("200000.0");
+        itemKind.setUnitAmount("0.00");
+        itemKind.setQuantity("");
+        itemKind.setModeCode("");
+        itemKind.setModeName("");
+        itemKind.setShortRateFlag("3");
+        itemKind.setShortRate("100.0");
+        itemKind.setCalculateFlag("Y");
+        itemKind.setRate("1.0");
+        itemKind.setNotDeductibleFlag("0");
+        itemKind.setDeductibleRatio("0");
+        itemKind.setDiscount("1.0");
+        itemKind.setAdjustRate("1.0");
+        itemKind.setValue("0");
+        itemKind.setBenchMarkPremium("1100.0");
+        itemKind.setPremium("1100.0");
+        itemKind.setBasePremium("1100.0");
+        itemKind.setBaseRiskPremium("0.0");
+        itemKind.setProposedPremium("0.0");
+        itemKind.setMainSubFlag("");
+        itemKind.setProportion("");
+        itemKind.setNoTaxAmount("1037.74");
+        itemKind.setTaxAmount("62.26");
+        itemKindList.add(itemKind);
+        risk.setItemKindList(itemKindList);
+
+        // 设置主附加险列表为空
+        risk.setMainSubList(new ArrayList<>());
+
+        // 设置车船税信息
+        BoHaiCrawlerUnderwritingRequest2.CarShipTaxInfo carShipTaxInfo = new BoHaiCrawlerUnderwritingRequest2.CarShipTaxInfo();
+        carShipTaxInfo.setTaxDocumentDate("");
+        carShipTaxInfo.setTaxPaidAreaCode("");
+        carShipTaxInfo.setTaxPayerIdentifier("140104198011062716");
+        carShipTaxInfo.setTaxPayerName("封殿雷");
+        carShipTaxInfo.setTaxPayerIdentifyNumberType("01");
+        carShipTaxInfo.setTaxPayerIdentifyNumber("140104198011062716");
+        carShipTaxInfo.setTaxPayerOrgCode("");
+        carShipTaxInfo.setLicenseCategory("K33");
+        carShipTaxInfo.setCertificateDate("2016-09-06");
+        carShipTaxInfo.setTaxComCode("");
+        carShipTaxInfo.setTaxComName("");
+        carShipTaxInfo.setTaxItemCode("A");
+        carShipTaxInfo.setTaxItemName("载客汽车");
+        carShipTaxInfo.setTaxItemDetailCode("A1");
+        carShipTaxInfo.setTaxItemDetailName("小型客车");
+        carShipTaxInfo.setTaxRelifFlag("1");
+        carShipTaxInfo.setReliefReason("");
+        carShipTaxInfo.setBaseTaxation("");
+        carShipTaxInfo.setTaxRelief("0.0");
+        carShipTaxInfo.setReliefRate("0.0");
+        carShipTaxInfo.setReliefDescription("");
+        carShipTaxInfo.setPaidFreeCertificate("");
+        carShipTaxInfo.setExemptionReason("");
+        carShipTaxInfo.setCalculateMode("");
+        carShipTaxInfo.setTaxUnit("");
+        carShipTaxInfo.setTaxDue("180.0");
+        carShipTaxInfo.setPayLastYear("");
+        carShipTaxInfo.setHisPolicyEndDate("");
+        carShipTaxInfo.setPayBalanceFee("");
+        carShipTaxInfo.setLateFeeStartDate("");
+        carShipTaxInfo.setLateFee("0.0");
+        carShipTaxInfo.setCalLateFeeFlag("");
+        carShipTaxInfo.setTaxActual("180.0");
+        carShipTaxInfo.setTaxActual2("");
+        carShipTaxInfo.setPreviousPay2("");
+        carShipTaxInfo.setPreviousPay("0.0");
+        carShipTaxInfo.setCalPayBalanceFeeFlag("");
+        carShipTaxInfo.setSumPayTax("180.0");
+        carShipTaxInfo.setTaxType("1");
+        carShipTaxInfo.setTaxNumType("1");
+        carShipTaxInfo.setTaxNum("");
+        carShipTaxInfo.setPayTaxDate("202510");
+        carShipTaxInfo.setCarOwnerNature("");
+        carShipTaxInfo.setCompleteKerbMass("");
+        carShipTaxInfo.setCarOwnerName("");
+        carShipTaxInfo.setIdentifyType("");
+        carShipTaxInfo.setIdentifyNumber("");
+        carShipTaxInfo.setAddressName("");
+        carShipTaxInfo.setPostAddress("");
+        carShipTaxInfo.setPostCode("");
+        carShipTaxInfo.setPhoneNumber("");
+        carShipTaxInfo.setCarAddressCode("");
+        carShipTaxInfo.setCompanyName("");
+        carShipTaxInfo.setUnitCertiNo("");
+        carShipTaxInfo.setRegisteredAddress("");
+        carShipTaxInfo.setTransactionNo("");
+        carShipTaxInfo.setPreLicenseNo("");
+        carShipTaxInfo.setTransactionDate("");
+        carShipTaxInfo.setExtendDate1("");
+        carShipTaxInfo.setComputerNo("");
+        carShipTaxInfo.setCountryCode("");
+        carShipTaxInfo.setCarAddressStreetCode("");
+        carShipTaxInfo.setUseType("");
+        carShipTaxInfo.setCreditCode("");
+        carShipTaxInfo.setPayStartDate("2025-01-01");
+        carShipTaxInfo.setPayEndDate("2025-12-31");
+        carShipTaxInfo.setLeviedDate("");
+        carShipTaxInfo.setTaxRegistryNumber("");
+        carShipTaxInfo.setCalculateFlag("1");
+        carShipTaxInfo.setFinalFlag("");
+        carShipTaxInfo.setCalFeeFlag("");
+        carShipTaxInfo.setTaxFlag("");
+        carShipTaxInfo.setTaxAmountFlag("1");
+        carShipTaxInfo.setCalcTaxFlag("1");
+        carShipTaxInfo.setTaxLocationCode("");
+        carShipTaxInfo.setCommission("");
+        carShipTaxInfo.setUnladenMass(1015);
+        carShipTaxInfo.setCarShipTaxStartDate("2025-01-01");
+        carShipTaxInfo.setCarShipTaxEndDate("2025-12-31");
+        carShipTaxInfo.setIdentificationNo("");
+        carShipTaxInfo.setCertificateNo("");
+        carShipTaxInfo.setCertificateType("");
+        carShipTaxInfo.setEnergyTypesTJ("");
+        carShipTaxInfo.setFuelType("");
+        carShipTaxInfo.setCarOwnerIdentifyType("");
+        carShipTaxInfo.setCarOwnerIdentifyCode("");
+        risk.setCarShipTaxInfo(carShipTaxInfo);
+
+        // 设置赔偿限额列表
+        List<BoHaiCrawlerUnderwritingRequest2.Limit> limitList = new ArrayList<>();
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit1 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit1.setLimitFee("180000");
+        limit1.setLimitType("90");
+        limitList.add(limit1);
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit2 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit2.setLimitFee("18000");
+        limit2.setLimitType("91");
+        limitList.add(limit2);
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit3 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit3.setLimitFee("2000");
+        limit3.setLimitType("92");
+        limitList.add(limit3);
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit4 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit4.setLimitFee("18000");
+        limit4.setLimitType("93");
+        limitList.add(limit4);
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit5 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit5.setLimitFee("1800");
+        limit5.setLimitType("94");
+        limitList.add(limit5);
+
+        BoHaiCrawlerUnderwritingRequest2.Limit limit6 = new BoHaiCrawlerUnderwritingRequest2.Limit();
+        limit6.setLimitFee("100");
+        limit6.setLimitType("95");
+        limitList.add(limit6);
+        risk.setLimitList(limitList);
+        // 将创建的risk对象添加到riskList中
+        riskList.add(risk);
+        return riskList;
+    }
+
+    /**
+     * 创建特别约定列表(用于核保)
+     *
+     * @return List<Engage>
+     */
+    private List<BoHaiCrawlerUnderwritingRequest2.Engage> createEngageList() {
+        List<BoHaiCrawlerUnderwritingRequest2.Engage> engageList = new ArrayList<>();
+        // 创建特别约定对象
+        BoHaiCrawlerUnderwritingRequest2.Engage engage = new BoHaiCrawlerUnderwritingRequest2.Engage();
+        engage.setSerialNo("1");
+        engage.setEngageCode("Y0000");
+        engage.setEngageTitle("理赔查询特约");
+        engage.setEngageDetail("尊敬的客户:投保次日起,您可通过本公司网页、客服电话、营业网点核实保单及理赔等信息。若对查询结果有异议,请联系本公司。联系方式为:公司网页(www.bpic.com.cn);客服电话、营业网点见保险人栏。渤海财险全国统一保险消费者投诉维权电话:956017-6。");
+        engage.setRiskCode("0330");
+        engageList.add(engage);
+        return engageList;
+    }
+
+    /**
+     * 创建反洗钱与风险提示信息(用于核保)
+     *
+     * @return FxqInfo
+     */
+    private BoHaiCrawlerUnderwritingRequest2.FxqInfo createFxqInfo() {
+        BoHaiCrawlerUnderwritingRequest2.FxqInfo fxqInfo = new BoHaiCrawlerUnderwritingRequest2.FxqInfo();
+
+        // 创建反洗钱业务记录列表
+        List<BoHaiCrawlerUnderwritingRequest2.FxqBusiness> fxqBusinessList = new ArrayList<>();
+        BoHaiCrawlerUnderwritingRequest2.FxqBusiness fxqBusiness = new BoHaiCrawlerUnderwritingRequest2.FxqBusiness();
+        fxqBusiness.setCertiType("TP");
+        fxqBusiness.setFxqContext("");
+        fxqBusiness.setFlag("1");
+        fxqBusiness.setLogNo("");
+        fxqBusiness.setOperatorCode("114050281");
+        fxqBusiness.setOperatorName("郝壮明");
+        fxqBusiness.setSubmitTime("2025-10-11");
+        fxqBusinessList.add(fxqBusiness);
+
+        // 创建反洗钱客户风险记录列表
+        List<BoHaiCrawlerUnderwritingRequest2.AntiCustomerRisk> antiCustomerRiskList = new ArrayList<>();
+        BoHaiCrawlerUnderwritingRequest2.AntiCustomerRisk antiCustomerRisk = new BoHaiCrawlerUnderwritingRequest2.AntiCustomerRisk();
+        antiCustomerRisk.setBusinessChannelCode("");
+        antiCustomerRisk.setCoveredAreaCode("");
+        antiCustomerRisk.setCustomerAge("C001");
+        antiCustomerRisk.setCustomerAmount("R002");
+        antiCustomerRisk.setCustomerComposition("");
+        antiCustomerRisk.setCustomerCountry("CHN");
+        antiCustomerRisk.setCustomerDang("D002");
+        antiCustomerRisk.setCustomerDegree("");
+        antiCustomerRisk.setCustomerIndustryCode("");
+        antiCustomerRisk.setCustomerInformation("RI0015");
+        antiCustomerRisk.setCustomerLevel("I001");
+        antiCustomerRisk.setCustomerRisk("F002");
+        antiCustomerRisk.setCustomerTime("");
+        antiCustomerRisk.setCustomerType("");
+        antiCustomerRisk.setCustomerUnitPropertiesCode("003");
+        antiCustomerRisk.setCustomerUnusual("");
+        antiCustomerRisk.setNationalityCode("");
+        antiCustomerRisk.setPremium("");
+        antiCustomerRisk.setProductIfication("");
+        antiCustomerRisk.setRiskCode("0330");
+        antiCustomerRisk.setTransactionHistoryCode("");
+        antiCustomerRisk.setTransactionNatureCode("");
+        antiCustomerRiskList.add(antiCustomerRisk);
+
+        // 设置反洗钱信息
+        fxqInfo.setFxqBusinessList(fxqBusinessList);
+        fxqInfo.setAntiCustomerRiskList(antiCustomerRiskList);
+        return fxqInfo;
+    }
+
+    /**
+     * 创建付款计划列表(用于核保)
+     *
+     * @return List<PayPlan>
+     */
+    private List<BoHaiCrawlerUnderwritingRequest2.PayPlan> createPayPlanList() {
+        List<BoHaiCrawlerUnderwritingRequest2.PayPlan> payPlanList = new ArrayList<>();
+        // 创建第一个付款计划对象(交强险)
+        BoHaiCrawlerUnderwritingRequest2.PayPlan payPlan1 = new BoHaiCrawlerUnderwritingRequest2.PayPlan();
+        payPlan1.setCurrency("");
+        payPlan1.setNoTaxAmount("1037.74");
+        payPlan1.setPayEndDate("");
+        payPlan1.setPayStartDate("");
+        payPlan1.setPlanFee("");
+        payPlan1.setRiskCode("0330");
+        payPlan1.setTaxRateAmount("62.26");
+        payPlan1.setProposalNo("");
+        payPlanList.add(payPlan1);
+        return payPlanList;
+    }
+
+    /**
+     * 创建业务数据对象(用于核保)
+     *
+     * @return BusinessData
+     */
+    private BoHaiCrawlerUnderwritingRequest2.BusinessData createBusinessData() {
+        BoHaiCrawlerUnderwritingRequest2.BusinessData businessData = new BoHaiCrawlerUnderwritingRequest2.BusinessData();
+        // 设置业务主信息
+        BoHaiCrawlerUnderwritingRequest2.BusinessMainInfo businessMainInfo = createBusinessMainInfo();
+        businessData.setBusinessMainInfo(businessMainInfo);
+
+        //车辆信息
+        BoHaiCrawlerUnderwritingRequest2.CarInfo carInfo = createCarInfo();
+        businessData.setCarInfo(carInfo);
+
+        // 设置投保人列表
+        List<BoHaiCrawlerUnderwritingRequest2.Insured> insuredList = createInsuredList();
         businessData.setInsuredList(insuredList);
 
         // 设置险种列表
-        List<BoHaiCrawlerUnderwritingRequest2.Risk> riskList = new java.util.ArrayList<>();
-        // 交强险
-        BoHaiCrawlerUnderwritingRequest2.Risk jqRisk = new BoHaiCrawlerUnderwritingRequest2.Risk();
-        List<BoHaiCrawlerUnderwritingRequest2.ItemKind> jqItemKinds = new java.util.ArrayList<>();
-
-        // 交强险险种明细
-        BoHaiCrawlerUnderwritingRequest2.ItemKind jqItem = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
-        jqItem.setItemKindNo("0");
-        jqItem.setKindCode("BZ");
-        jqItem.setKindName("机动车交通事故责任强制保险");
-        jqItem.setOperateType("");
-        jqItem.setStartDate("2025-10-11");
-        jqItem.setStartHour("0");
-        jqItem.setEndDate("2026-10-10");
-        jqItem.setEndHour("24");
-        jqItem.setAmount("");
-        jqItem.setUnitAmount("");
-        jqItem.setQuantity("");
-        jqItem.setModeCode("");
-        jqItem.setModeName("");
-        jqItem.setShortRateFlag("2");
-        jqItem.setShortRate("");
-        jqItem.setCalculateFlag("Y");
-        jqItem.setRate("");
-        jqItem.setNotDeductibleFlag("0");
-        jqItem.setDeductibleRatio("");
-        jqItem.setDiscount("");
-        jqItem.setAdjustRate("");
-        jqItem.setValue("");
-        jqItemKinds.add(jqItem);
-        jqRisk.setItemKindList(jqItemKinds);
-
-        // 交强险险种主信息
-        BoHaiCrawlerUnderwritingRequest2.RiskMainInfo jqMain = new BoHaiCrawlerUnderwritingRequest2.RiskMainInfo();
-        jqMain.setIsDrivingFee("1");
-        jqMain.setAgriflag("012001");
-        jqMain.setClassCode("");
-        jqMain.setRiskCode("0330");
-        jqMain.setContractNo("");
-        jqMain.setDiscount("");
-        jqMain.setCurrency("CNY");
-        jqMain.setLastPolicyNo("");
-        jqMain.setRenewalFlag("0");
-        jqMain.setStartDate("2025-10-11");
-        jqMain.setStartHour("0");
-        jqMain.setEndDate("2026-10-10");
-        jqMain.setEndHour("24");
-        jqMain.setImmediatelyActiveFlag("");
-        jqMain.setActiveStartTime("");
-        jqMain.setActiveEndTime("");
-        jqMain.setQuerySequenceNo("");
-        jqMain.setConfirmSequenceNo("");
-        jqMain.setSpecialContractFlag("");
-        jqMain.setSpecialContractSummary("");
-        jqMain.setNoneFluctuateFlag("N1");
-        jqMain.setNcdCoefficient("");
-        jqMain.setChannelCoefficient("1.00");
-        jqMain.setUnderwritingCoefficient("");
-        jqMain.setAdjustCoefficient("");
-        jqMain.setTrafficViolationCoefficient("");
-        jqMain.setChannelCoefficientVariation("");
-        jqMain.setUnderwritingCoefficientVariation("");
-        jqMain.setIfNeedQuote("");
-        jqMain.setHopeRate("");
-        jqMain.setProposalNo("");
-        jqMain.setCustomerCoefficient("364001");
-        jqMain.setFleetCoefficient("365000");
-        jqMain.setSignDate("2025-10-11");
-        jqMain.setOperateDate("2025-10-11");
-        jqMain.setInputDate("2025-10-11");
-        jqMain.setPricingAdjustValue("1");
-        //jqMain.setNoneFluctuateFeeRate("N1");
-        jqRisk.setRiskMainInfo(jqMain);
-
-        // 交强险车船税信息
-        BoHaiCrawlerUnderwritingRequest2.CarShipTaxInfo taxInfo = new BoHaiCrawlerUnderwritingRequest2.CarShipTaxInfo();
-        taxInfo.setTaxDocumentDate("");
-        taxInfo.setTaxPayerIdentifier("140104198011062716");
-        taxInfo.setTaxPayerName("封殿雷");
-        taxInfo.setTaxPayerIdentifyNumberType("01");
-        taxInfo.setTaxPayerIdentifyNumber("140104198011062716");
-        //taxInfo.setUnladenMassCS(1087);
-        taxInfo.setLicenseCategory("K33");
-        taxInfo.setCertificateDate("2013-10-14");
-        taxInfo.setTaxItemCode("A");
-        taxInfo.setTaxItemName("载客汽车");
-        taxInfo.setTaxRelifFlag("1");
-        taxInfo.setCalculateMode("1");
-        taxInfo.setCalLateFeeFlag("0");
-        taxInfo.setCalPayBalanceFeeFlag("0");
-        taxInfo.setTaxType("1");
-        taxInfo.setTaxNumType("1");
-        taxInfo.setPayTaxDate("202510");
-        taxInfo.setCarOwnerNature("1");
-        taxInfo.setCarAddressCode("120000");
-        taxInfo.setUseType("100");
-        taxInfo.setCalFeeFlag("00");
-        jqRisk.setCarShipTaxInfo(taxInfo);
-        riskList.add(jqRisk);
-
-        // 商业险(车辆损失险)
-        BoHaiCrawlerUnderwritingRequest2.Risk syRisk = new BoHaiCrawlerUnderwritingRequest2.Risk();
-        List<BoHaiCrawlerUnderwritingRequest2.ItemKind> syItemKinds = new java.util.ArrayList<>();
-
-        // 车辆损失险
-        BoHaiCrawlerUnderwritingRequest2.ItemKind syItem1 = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
-        syItem1.setItemKindNo("1");
-        syItem1.setKindCode("A");
-        syItem1.setKindName("车辆损失险");
-        syItem1.setStartDate("2025-10-11");
-        syItem1.setStartHour("0");
-        syItem1.setEndDate("2026-10-10");
-        syItem1.setEndHour("24");
-        syItem1.setAmount("15380.00");
-        syItem1.setShortRateFlag("3");
-        syItem1.setCalculateFlag("Y");
-        syItem1.setNotDeductibleFlag("0");
-        syItemKinds.add(syItem1);
-
-        // 第三者责任险
-        BoHaiCrawlerUnderwritingRequest2.ItemKind syItem2 = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
-        syItem2.setItemKindNo("2");
-        syItem2.setKindCode("B");
-        syItem2.setKindName("第三者责任险");
-        syItem2.setStartDate("2025-10-11");
-        syItem2.setStartHour("0");
-        syItem2.setEndDate("2026-10-10");
-        syItem2.setEndHour("24");
-        syItem2.setAmount("2000000.00");
-        syItem2.setShortRateFlag("3");
-        syItem2.setCalculateFlag("Y");
-        syItem2.setNotDeductibleFlag("0");
-        syItemKinds.add(syItem2);
-
-        // 车上人员责任险(司机)
-        BoHaiCrawlerUnderwritingRequest2.ItemKind syItem3 = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
-        syItem3.setItemKindNo("3");
-        syItem3.setKindCode("D1");
-        syItem3.setKindName("车上人员责任险(司机)");
-        syItem3.setStartDate("2025-10-11");
-        syItem3.setStartHour("0");
-        syItem3.setEndDate("2026-10-10");
-        syItem3.setEndHour("24");
-        syItem3.setAmount("10000.00");
-        syItem3.setShortRateFlag("3");
-        syItem3.setCalculateFlag("Y");
-        syItem3.setNotDeductibleFlag("0");
-        syItemKinds.add(syItem3);
-
-        // 车上人员责任险(乘客)
-        BoHaiCrawlerUnderwritingRequest2.ItemKind syItem4 = new BoHaiCrawlerUnderwritingRequest2.ItemKind();
-        syItem4.setItemKindNo("4");
-        syItem4.setKindCode("D2");
-        syItem4.setKindName("车上人员责任险(乘客)");
-        syItem4.setStartDate("2025-10-11");
-        syItem4.setStartHour("0");
-        syItem4.setEndDate("2026-10-10");
-        syItem4.setEndHour("24");
-        syItem4.setAmount("10000.00");
-        syItem4.setShortRateFlag("3");
-        syItem4.setCalculateFlag("Y");
-        syItem4.setNotDeductibleFlag("0");
-        syItemKinds.add(syItem4);
-
-        syRisk.setItemKindList(syItemKinds);
-
-        // 商业险险种主信息
-        BoHaiCrawlerUnderwritingRequest2.RiskMainInfo syMain = new BoHaiCrawlerUnderwritingRequest2.RiskMainInfo();
-        syMain.setIsDrivingFee("1");
-        syMain.setAgriflag("012001");
-        syMain.setRiskCode("0380");
-        syMain.setCurrency("CNY");
-        syMain.setRenewalFlag("0");
-        syMain.setStartDate("2025-10-11");
-        syMain.setStartHour("0");
-        syMain.setEndDate("2026-10-10");
-        syMain.setEndHour("24");
-        syMain.setNcdCoefficient("1");
-        syMain.setChannelCoefficient("1.00");
-        syMain.setCustomerProperty("001");
-        syMain.setRiskCoefficient("362003");
-        syMain.setBusinessCoefficient("363000");
-        syMain.setVehicleCoefficient("000");
-        syMain.setCustomerCoefficient("364001");
-        syMain.setFleetCoefficient("365000");
-        syMain.setClauseType("F91");
-        syMain.setSignDate("2025-10-11");
-        syMain.setOperateDate("2025-10-11");
-        syMain.setInputDate("2025-10-11");
-        syRisk.setRiskMainInfo(syMain);
-        riskList.add(syRisk);
-
-        businessData.setRiskList(riskList);
+        List<BoHaiCrawlerUnderwritingRequest2.Risk> riskList = createRiskList();
+        businessData.setRiskList(riskList);
 
         // 设置特别约定列表
-        List<BoHaiCrawlerUnderwritingRequest2.Engage> engageList = new java.util.ArrayList<>();
+        List<BoHaiCrawlerUnderwritingRequest2.Engage> engageList = createEngageList();
         businessData.setEngageList(engageList);
 
-        // 设置风控信息
-        BoHaiCrawlerUnderwritingRequest2.FxqInfo fxqInfo = new BoHaiCrawlerUnderwritingRequest2.FxqInfo();
-        fxqInfo.setRiskControlFlag("");
-        fxqInfo.setRiskControlId("");
-        fxqInfo.setRiskControlName("");
-        fxqInfo.setRiskControlLevel("");
-        fxqInfo.setRiskControlResult("");
-        fxqInfo.setRiskControlTime("");
+        // 设置反洗钱与风险提示信息
+        BoHaiCrawlerUnderwritingRequest2.FxqInfo fxqInfo = createFxqInfo();
         businessData.setFxqInfo(fxqInfo);
 
-        // 设置缴费计划列表
-        List<BoHaiCrawlerUnderwritingRequest2.PayPlan> payPlanList = new java.util.ArrayList<>();
+        // 设置付款计划列表
+        List<BoHaiCrawlerUnderwritingRequest2.PayPlan> payPlanList = createPayPlanList();
         businessData.setPayPlanList(payPlanList);
-
-        BoHaiCrawlerUnderwritingRequest2 boHaiCrawlerUnderwritingRequest2 = new BoHaiCrawlerUnderwritingRequest2();
-
-        BoHaiUnderwritingResponse boHaiUnderwritingResponse = boHaiCrawlerRequestComponent.underwriting(null, "","");
-
-        UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
-        if ("R_Z00001".equals(boHaiUnderwritingResponse.getResponseCode())) {
-            String jqStatus = boHaiUnderwritingResponse.getData().getTrafficResultCode();
-            String syStatus = boHaiUnderwritingResponse.getData().getBusinessResultCode();
-
-            if ("A4".equals(jqStatus) || "A4".equals(syStatus)) {
-                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
-                underwritingResultsVo.setUnderwritingResult("人工处理");
-            } else if ("A6".equals(jqStatus) || "A6".equals(syStatus)) {
-                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
-                StringBuilder sb = new StringBuilder();
-                if (null != boHaiUnderwritingResponse.getData().getTrafficResultMsg()) {
-                    sb.append(String.format("交强险提示信息:s%", boHaiUnderwritingResponse.getData().getTrafficResultMsg()));
-                }
-                if (null != boHaiUnderwritingResponse.getData().getBusinessResultMsg()) {
-                    sb.append(String.format("商业险提示信息:s%", boHaiUnderwritingResponse.getData().getBusinessResultMsg()));
-                }
-                underwritingResultsVo.setUnderwritingResult(sb.toString());
-            } else if ("A0".equals(jqStatus) || "A0".equals(syStatus)) {
-                underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
-                underwritingResultsVo.setJqApplyNo(boHaiUnderwritingResponse.getData().getTrafficPolicy().getApplicationNo());
-                underwritingResultsVo.setSyApplyNo(boHaiUnderwritingResponse.getData().getBusinessPolicy().getApplicationNo());
-            }
-        }
-        return underwritingResultsVo;
-    }
-
-    @Override
-    public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
-        /*AttributionInformationVo attributionInformationVo = paymentLinkVo.getOrder().getAttributionInformationVo();
-        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
-        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-        PaymentRequest paymentRequest = new PaymentRequest(attributionInformationVo.getConfigInfo(), boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getBusUniqueId());
-        BoHaiPaymentResponse boHaiPaymentResponse = boHaiCrawlerRequestComponent.payment(paymentRequest, headers);
-
-        PaymentLinkResultsVo paymentLinkResultsVo = new PaymentLinkResultsVo();
-        paymentLinkResultsVo.setPaymentLink(boHaiPaymentResponse.getData().getPayUrl());
-        return paymentLinkResultsVo;*/
-        return null;
-    }
-
-    @Override
-    public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
-        // 渤海影像上传实现
-        /*AttributionInformationVo attributionInformationVo = insuranceUploadImageVo.getOrder().getAttributionInformationVo();
-        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(insuranceUploadImageVo.getOrder().getOrdersNo());
-        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-        ImageUploadRequest imageUploadRequest = new ImageUploadRequest(attributionInformationVo.getConfigInfo(),
-                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getBusUniqueId(), insuranceUploadImageVo.getImageVoList());
-        boHaiCrawlerRequestComponent.imageUpload(imageUploadRequest, headers);*/
-    }
-
-    @Override
-    public DownloadPolicyResultVo downloadPolicy(DownloadPolicyVo downloadPolicyVo) {
-        /*AttributionInformationVo attributionInformationVo = downloadPolicyVo.getOrder().getAttributionInformationVo();
-        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(downloadPolicyVo.getOrder().getOrdersNo());
-        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-        ElectronicPolicyRequest electronicPolicyRequest = new ElectronicPolicyRequest(attributionInformationVo.getConfigInfo(),
-                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getCiPolicyNo(), boHaiCrawlerOrder.getBiPolicyNo());
-        ElectronicPolicyResponse electronicPolicyResponse = boHaiCrawlerRequestComponent.electronicPolicy(electronicPolicyRequest, headers);
-
-        DownloadPolicyResultVo downloadPolicyResultVo = new DownloadPolicyResultVo();
-        if (StringUtils.hasLength(electronicPolicyResponse.getData().getTrafficEPolicyUrl())) {
-            downloadPolicyResultVo.setJqUrl(electronicPolicyResponse.getData().getTrafficEPolicyUrl());
-        }
-        if (StringUtils.hasLength(electronicPolicyResponse.getData().getBusinessEPolicyUrl())) {
-            downloadPolicyResultVo.setSyUrl(electronicPolicyResponse.getData().getBusinessEPolicyUrl());
-        }
-        return downloadPolicyResultVo;*/
-        return null;
+        return businessData;
     }
 
     /**
-     * 查询订单状态
-     *
-     * @param orderStatusVo
-     * @return
-     */
-    @Override
-    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
-        AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
-        BoHaiCrawlerOrder boHaiCrawlerOrder = boHaiCrawlerOrderService.getById(orderStatusVo.getOrder().getOrdersNo());
-        HttpHeaders headers = boHaiCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-        /*StatusDocumentsRequest statusDocumentsRequest = new StatusDocumentsRequest(attributionInformationVo.getConfigInfo(),
-                boHaiCrawlerOrder.getOrderNo(), boHaiCrawlerOrder.getCiApplyNo());
-        StatusDocumentsResponse response = boHaiCrawlerRequestComponent.statusDocuments(statusDocumentsRequest, headers);*/
-
-        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
-        // 处理订单状态逻辑
-        return orderStatusResultVo;
-    }
-
-    /**
-     * 车辆确认
+     * 创建请求头信息(用于核保)
      *
-     * @param quoteVo
-     * @param boHaiCrawlerCarResponse
-     * @param parameters
-     * @param orderNo
-     * @param headers
-     * @return Map<String, Object>
+     * @return Head
      */
-    private Map<String, Object> getVehicleConfirmationResponse(QuoteVo quoteVo, BoHaiCrawlerCarResponse boHaiCrawlerCarResponse, BoHaiCrawlerConfigureParameters parameters, HttpHeaders headers) {
-        // 车主信息
-        CustomerInfoVo ownerInfo = quoteVo.getOwnersInfo();
-        PersonAreaVo ownerInfoArea = new PersonAreaVo(ownerInfo);
-        // 被保人信息
-        CustomerInfoVo insuredPersonInfo = quoteVo.getInsuredPersonInfo();
-        PersonAreaVo insuredPersonArea = new PersonAreaVo(insuredPersonInfo);
-        // 投保人信息
-        CustomerInfoVo policyHolderInfo = quoteVo.getPolicyHolderInfo();
-        PersonAreaVo policyHolderArea = new PersonAreaVo(policyHolderInfo);
-
-        /*BoHaiCrawlerVehicleConfirmationReqeust vehicleConfirmationReqeust = new BoHaiCrawlerVehicleConfirmationReqeust(parameters, quoteVo, boHaiCrawlerCarResponse, ownerInfoArea, insuredPersonArea, policyHolderArea);*/
-        BoHaiCrawlerVehicleConfirmationReqeust1 boHaiCrawlerVehicleConfirmationReqeust1 = new BoHaiCrawlerVehicleConfirmationReqeust1();
-        // 车辆确认请求头
-        BoHaiCrawlerVehicleConfirmationReqeust1.HeadDTO headDTO = new BoHaiCrawlerVehicleConfirmationReqeust1.HeadDTO();
-        headDTO.setTransCode("CarModelsQuery");
-        headDTO.setTransType("Req");
-        //token先写死
-        headDTO.setToken(TOKEN);
-        boHaiCrawlerVehicleConfirmationReqeust1.setHead(headDTO);
-
-        BoHaiCrawlerVehicleConfirmationReqeust1.BodyDTO bodyDTO = new BoHaiCrawlerVehicleConfirmationReqeust1.BodyDTO();
-        bodyDTO.setBasicRateCode("");
-        // 登录机构编码,先写死
-        bodyDTO.setComCode("14070201");
-        bodyDTO.setEffectiveDate("2025-09-30");
-        bodyDTO.setExpireDate("2026-09-29");
-        bodyDTO.setEndHour("24");
-        bodyDTO.setStartHour("0");
-        bodyDTO.setRiskCode("0380");
-        bodyDTO.setBusinessNature("2");
-        bodyDTO.setEngineNo(boHaiCrawlerCarResponse.getJyCarModelFill().getEngineNumber());
-        bodyDTO.setVin(boHaiCrawlerCarResponse.getJyCarModelFill().getVinCode());
-        bodyDTO.setLicensePlateNo(boHaiCrawlerCarResponse.getJyCarModelFill().getPlateNumber());
-        //车牌类型
-        bodyDTO.setLicensePlateType("02");
-        bodyDTO.setFirstRegisterDate(boHaiCrawlerCarResponse.getJyCarModelFill().getRegisterDate());
-        bodyDTO.setModelCode(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getIndustryCarTypeCode());
-        //平台车型代码
-        bodyDTO.setPlatFormModelCode(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getIndustryCarTypeCode());
-        bodyDTO.setNoticeType("");
-        bodyDTO.setVehicleModel(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getModelCode());
-        bodyDTO.setVehicleStyleDesc("K33");
-        bodyDTO.setCarName("");
-        bodyDTO.setVehicleBrand("");
-        bodyDTO.setMadeFactory("");
-
-        //车辆动力参数
-        //排量
-        bodyDTO.setExhaustScale(1.373);
-        bodyDTO.setDisplacement("");
-        bodyDTO.setPower("103");
-        bodyDTO.setModelEnergyType("0");
-        bodyDTO.setPureRange("");
-
-        //车辆类型分类
-        bodyDTO.setMainCarKindCode("A");
-        bodyDTO.setMotorTypeCode("A0");
-        bodyDTO.setMotorMainTypeCode("A");
-        bodyDTO.setMotorUsageTypeCode("8A");
-
-        //车辆载重/载客信息
-        //核定载客量
-        bodyDTO.setRatedPassengerCapacity("5");
-        bodyDTO.setLimitLoadPerson("5");
-        bodyDTO.setTonnage("0.0000");
-        bodyDTO.setLimitLoad("0.0000");
-        bodyDTO.setWholeWeight("");
-
-        //价格与价值信息
-        log.info("购买价值:{}", boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getPurchasePrice());
-        bodyDTO.setReplacementValue(boHaiCrawlerCarResponse.getPrpDCarModels().get(0).getPurchasePrice());
-
-        //车辆状态标志
-        bodyDTO.setNewVehicleFlag("");
-        bodyDTO.setEcdemicVehicleFlag("");
-        bodyDTO.setIsI3RiskFlag("0");
-
-        //其他信息
-        bodyDTO.setLfDate("");
-        bodyDTO.setCertificateDate("");
-        bodyDTO.setCarOwnerNature("1");
-        // 车主证件类型 01:表示身份证
-        bodyDTO.setCarOwnerIdentifyType("01");
-        bodyDTO.setSalesChannelRefCode("");
-        bodyDTO.setPrecisePriceComCode(true);
-        boHaiCrawlerVehicleConfirmationReqeust1.setBody(bodyDTO);
-
-        //调用车辆确认接口
-        BoHaiCrawlerVehicleConfirmationResponse2 boHaiCrawlerVehicleConfirmationResponse = boHaiCrawlerRequestComponent.vehicleConfirmation(boHaiCrawlerVehicleConfirmationReqeust1, headers);
-        log.info("boHaiCrawlerVehicleConfirmationResponse参数的值:{}", JSON.toJSONString(boHaiCrawlerVehicleConfirmationResponse));
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("currentValue", boHaiCrawlerVehicleConfirmationResponse.getVehiclePriceList().get(0).getActualValue());
-        return map;
+    private BoHaiCrawlerUnderwritingRequest2.Head createHead() {
+        BoHaiCrawlerUnderwritingRequest2.Head head = new BoHaiCrawlerUnderwritingRequest2.Head();
+        head.setTransCode("Save");
+        head.setTransType("Req");
+        head.setToken("114050281-1a2148bdef013e76e47ba4944a4df66b");
+        return head;
     }
 }