|
|
@@ -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;
|
|
|
}
|
|
|
}
|