|
@@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
import org.springframework.http.HttpHeaders;
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -91,17 +92,432 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
|
|
|
//String orderNo = generateOrderNo(parameters, headers);
|
|
//String orderNo = generateOrderNo(parameters, headers);
|
|
|
|
|
|
|
|
// 2.1 车辆查询
|
|
// 2.1 车辆查询
|
|
|
- BoHaiCrawlerCarRequest boHaiCrawlerCarRequest = new BoHaiCrawlerCarRequest(quoteVo.getCarInfoVo(), parameters.getLoginCompany(), parameters.getCDptCde(), userCode);
|
|
|
|
|
- BoHaiCrawlerCarResponse boHaiCrawlerCarResponse = boHaiCrawlerRequestComponent.car(boHaiCrawlerCarRequest, headers);
|
|
|
|
|
|
|
+ BoHaiCrawlerCarResponse boHaiCrawlerCarResponse = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ BoHaiCrawlerCarRequest boHaiCrawlerCarRequest = new BoHaiCrawlerCarRequest(quoteVo.getCarInfoVo(), parameters.getLoginCompany(), parameters.getCDptCde(), userCode);
|
|
|
|
|
+ boHaiCrawlerCarResponse = boHaiCrawlerRequestComponent.car(boHaiCrawlerCarRequest, headers);
|
|
|
|
|
+ log.info("boHaiCrawlerCarResponse参数的值:{}", JSON.toJSONString(boHaiCrawlerCarResponse));
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
//2.2 车辆确认
|
|
//2.2 车辆确认
|
|
|
- Map<String, Object> vehicleConfirmationResult = getVehicleConfirmationResponse(quoteVo, boHaiCrawlerCarResponse, parameters, headers);
|
|
|
|
|
- //获取车辆当前价值
|
|
|
|
|
- String currentValue = (String) vehicleConfirmationResult.get("currentValue");
|
|
|
|
|
|
|
+ String currentValue = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ Map<String, Object> vehicleConfirmationResult = getVehicleConfirmationResponse(quoteVo, boHaiCrawlerCarResponse, parameters, headers);
|
|
|
|
|
+ //获取车辆当前价值
|
|
|
|
|
+ currentValue = (String) vehicleConfirmationResult.get("currentValue");
|
|
|
|
|
+ log.info("车辆当前价值:{}", currentValue);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 3.0 报价接口
|
|
// 3.0 报价接口
|
|
|
- BoHaiCrawlerQuotationRequest boHaiCrawlerQuotationRequest = new BoHaiCrawlerQuotationRequest(parameters, quoteVo, currentValue, "", quoteVo.getAccidentalDrivings(), "");
|
|
|
|
|
- BoHaiCrawlerQuotationResponse boHaiCrawlerQuotationResponse = boHaiCrawlerRequestComponent.quotation(boHaiCrawlerQuotationRequest, headers);
|
|
|
|
|
|
|
+ /*BoHaiCrawlerQuotationRequest boHaiCrawlerQuotationRequest = new BoHaiCrawlerQuotationRequest(parameters, quoteVo, currentValue, "", quoteVo.getAccidentalDrivings(), "");*/
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2 boHaiCrawlerQuotationRequest2 = new BoHaiCrawlerQuotationRequest2();
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Head head = new BoHaiCrawlerQuotationRequest2.Head();
|
|
|
|
|
+ head.setTransType("Req");
|
|
|
|
|
+ head.setTransCode("PremiumProposal");
|
|
|
|
|
+ head.setToken("114050281-4668f68536a7e145b87f94fd14449d77");
|
|
|
|
|
+ boHaiCrawlerQuotationRequest2.setHead(head);
|
|
|
|
|
+
|
|
|
|
|
+ // 使用 setter 方式设置 businessData、insuredList、riskList、以及登录信息
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.BusinessData businessData = new BoHaiCrawlerQuotationRequest2.BusinessData();
|
|
|
|
|
+
|
|
|
|
|
+ // 业务主信息
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.BusinessMainInfo mainInfo = new BoHaiCrawlerQuotationRequest2.BusinessMainInfo();
|
|
|
|
|
+ mainInfo.setOrderNo("O140703302025063172");
|
|
|
|
|
+ mainInfo.setFixPriceType("Y2");
|
|
|
|
|
+ mainInfo.setRiskControlFlag("");
|
|
|
|
|
+ mainInfo.setUuid("");
|
|
|
|
|
+ mainInfo.setTrial(1);
|
|
|
|
|
+ mainInfo.setArgueSolution("1");
|
|
|
|
|
+ mainInfo.setArbitBoardName("");
|
|
|
|
|
+ mainInfo.setBusinessType("OTemp");
|
|
|
|
|
+ mainInfo.setComCode("14070201");
|
|
|
|
|
+ mainInfo.setBusinessCategories1("1");
|
|
|
|
|
+ mainInfo.setBusinessCategories2("2");
|
|
|
|
|
+ mainInfo.setBusinessCategories3("A06");
|
|
|
|
|
+ mainInfo.setHandlerCode("114050281");
|
|
|
|
|
+ mainInfo.setAgentCode("M140301000249");
|
|
|
|
|
+ mainInfo.setAgentName("太原天勤保险代理有限公司");
|
|
|
|
|
+ mainInfo.setAgreementNo("C142024004345_2");
|
|
|
|
|
+ mainInfo.setCityCode("140700");
|
|
|
|
|
+ mainInfo.setCountyCode("140781");
|
|
|
|
|
+ mainInfo.setOperateDate("2025-10-09");
|
|
|
|
|
+ mainInfo.setGoalInsuredFlag("2");
|
|
|
|
|
+ mainInfo.setUnderUnit("");
|
|
|
|
|
+ mainInfo.setIdentifyType("006");
|
|
|
|
|
+ mainInfo.setIdentifyDetail("00001");
|
|
|
|
|
+ mainInfo.setIdentifyCode("");
|
|
|
|
|
+ mainInfo.setIdentifyVip("");
|
|
|
|
|
+ mainInfo.setComputerIp("");
|
|
|
|
|
+ mainInfo.setMainCarKindBC("0");
|
|
|
|
|
+ mainInfo.setResourceTypeCode("004");
|
|
|
|
|
+ mainInfo.setExpectDiscount("");
|
|
|
|
|
+ mainInfo.setReportNo("");
|
|
|
|
|
+ mainInfo.setExpectedCommission("");
|
|
|
|
|
+ mainInfo.setBusinessAttribute("2");
|
|
|
|
|
+ mainInfo.setChannelType("");
|
|
|
|
|
+ mainInfo.setSalerIdentifyNumber("");
|
|
|
|
|
+ mainInfo.setSdId("");
|
|
|
|
|
+ mainInfo.setTbMode("");
|
|
|
|
|
+ mainInfo.setBussUnitCodeCI("");
|
|
|
|
|
+ mainInfo.setBussUnitCode("");
|
|
|
|
|
+ mainInfo.setPriceMode("");
|
|
|
|
|
+ mainInfo.setHighRiskAssessId("");
|
|
|
|
|
+ mainInfo.setReCustomerType("");
|
|
|
|
|
+ mainInfo.setLastYearAdjustValue("");
|
|
|
|
|
+ businessData.setBusinessMainInfo(mainInfo);
|
|
|
|
|
+
|
|
|
|
|
+ // 车辆信息
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.CarInfo carInfo = new BoHaiCrawlerQuotationRequest2.CarInfo();
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.ItemCarInfo item = new BoHaiCrawlerQuotationRequest2.ItemCarInfo();
|
|
|
|
|
+ item.setCertificateNo("");
|
|
|
|
|
+ item.setCertificateType("");
|
|
|
|
|
+ item.setOtherEnergyTypeDesc("");
|
|
|
|
|
+ item.setPureRange("");
|
|
|
|
|
+ item.setPmFuelType("A");
|
|
|
|
|
+ item.setCarCheckStatus("");
|
|
|
|
|
+ //实际价值
|
|
|
|
|
+ item.setActualValue("15380.00");
|
|
|
|
|
+ item.setOtherNature7BI("0");
|
|
|
|
|
+ //协商价值
|
|
|
|
|
+ item.setNegotiatedValue("15380.00");
|
|
|
|
|
+ item.setNewVehicleFlag("0");
|
|
|
|
|
+ item.setLicenseNo("晋K38V85");
|
|
|
|
|
+ item.setFrameNo("LJDLAA197D0029125");
|
|
|
|
|
+ item.setEngineNo("D5685636");
|
|
|
|
|
+ item.setVinNo("LJDLAA197D0029125");
|
|
|
|
|
+ item.setNoLicenseFlag("");
|
|
|
|
|
+ item.setLicenseColorCode("01");
|
|
|
|
|
+ item.setUseNatureCode("8A");
|
|
|
|
|
+ item.setMainCarKindCode("A");
|
|
|
|
|
+ item.setCarKindCode("A0");
|
|
|
|
|
+ item.setBrandName("起亚YQZ7143A轿车");
|
|
|
|
|
+ item.setSeatCount("5");
|
|
|
|
|
+ item.setTonCount("0.0000");
|
|
|
|
|
+ item.setPurchasePrice("76900");
|
|
|
|
|
+ item.setBasePurchasePrice("76900");
|
|
|
|
|
+ item.setExhaustScale(1.396);
|
|
|
|
|
+ item.setEnrollDate("2013-10-14");
|
|
|
|
|
+ item.setUseYearsBI("12");
|
|
|
|
|
+ item.setUseYearsCI(11);
|
|
|
|
|
+ item.setUseYearsDI("");
|
|
|
|
|
+ item.setChgOwnerFlag("1");
|
|
|
|
|
+ item.setChgTypeFlag("0");
|
|
|
|
|
+ item.setChgOwnerDate("2024-11-05");
|
|
|
|
|
+ item.setCountryNature("C");
|
|
|
|
|
+ item.setModelCode("KED1014DFY");
|
|
|
|
|
+ item.setRunMiles(20000);
|
|
|
|
|
+ item.setRunAreaCode("02");
|
|
|
|
|
+ item.setTrafficViolationRecords("0");
|
|
|
|
|
+ item.setColorCode("99");
|
|
|
|
|
+ item.setMadeFactory("东风悦达起亚汽车有限公司");
|
|
|
|
|
+ item.setMakeDate("");
|
|
|
|
|
+ item.setVehicleBrand("起亚");
|
|
|
|
|
+ item.setCompleteKerbMass(1087);
|
|
|
|
|
+ item.setLicenseKindCode("02");
|
|
|
|
|
+ item.setLicenseCategory("K33");
|
|
|
|
|
+ item.setRenewalFlagBI("0");
|
|
|
|
|
+ item.setDamagedFactorGrade("");
|
|
|
|
|
+ item.setSpecialVehicleFlag("0");
|
|
|
|
|
+ item.setLoanVehicleFlag("0");
|
|
|
|
|
+ item.setProportion("");
|
|
|
|
|
+ item.setEnergySavingOrNewEnergy("0");
|
|
|
|
|
+ item.setLastProducerCode("0");
|
|
|
|
|
+ item.setDebtFlag("");
|
|
|
|
|
+ item.setRestricFlag("00");
|
|
|
|
|
+ item.setSearchSequenceNo("");
|
|
|
|
|
+ item.setIsTaxi("0");
|
|
|
|
|
+ item.setFuelType1("0");
|
|
|
|
|
+ item.setSpecifiedQueryArea("");
|
|
|
|
|
+ item.setIndustryCarTypeCode("BYDLKFUC0007");
|
|
|
|
|
+ item.setIndustryCarTypeName("起亚YQZ7143A GLS");
|
|
|
|
|
+ item.setCarABSFlag(null);
|
|
|
|
|
+ item.setFuelType2("");
|
|
|
|
|
+ item.setMiniCar("");
|
|
|
|
|
+ item.setCarAddressCode("");
|
|
|
|
|
+ item.setIssueDate("2013-10-14");
|
|
|
|
|
+ item.setNewDeviceFlag("0");
|
|
|
|
|
+ item.setInvoiceNo("");
|
|
|
|
|
+ item.setOwnerAddress("");
|
|
|
|
|
+ item.setTractorType("");
|
|
|
|
|
+ item.setNoClaimAdjustReason("");
|
|
|
|
|
+ item.setNoDamageYearsBI("");
|
|
|
|
|
+ item.setNoDamageYearsCI("");
|
|
|
|
|
+ item.setNoLoyaltyAdjustReason("");
|
|
|
|
|
+ item.setPowerType("汽油");
|
|
|
|
|
+ item.setPowerTypeCode("D1");
|
|
|
|
|
+ item.setSeries("K2");
|
|
|
|
|
+ item.setSeriesCode(null);
|
|
|
|
|
+ item.setPriorityServicerType("0");
|
|
|
|
|
+ item.setPriorityServicerCode("");
|
|
|
|
|
+ item.setNoticeType("YQZ7143A");
|
|
|
|
|
+ item.setPureRiskPremium("0.0");
|
|
|
|
|
+ item.setEcdemicVehicleFlag("0");
|
|
|
|
|
+ item.setNewCarFlag("0");
|
|
|
|
|
+ item.setPrnExhaustScale("");
|
|
|
|
|
+ item.setPrnCompleteKerbMassNew("");
|
|
|
|
|
+ item.setIsNetworkCar(0);
|
|
|
|
|
+ item.setPower("78.7");
|
|
|
|
|
+ item.setCarUsage("起亚牌YQZ7143A");
|
|
|
|
|
+ item.setCarChecker("");
|
|
|
|
|
+ item.setCarCheckTime("2025-10-09 17:14");
|
|
|
|
|
+ item.setVerifyReason("");
|
|
|
|
|
+ item.setCarCheckDelayDays("");
|
|
|
|
|
+ item.setVerifyReasonOtherReason("");
|
|
|
|
|
+ item.setVerifyStatus("");
|
|
|
|
|
+ item.setCarCheckReason("");
|
|
|
|
|
+ item.setCarCheckOtherReason("");
|
|
|
|
|
+ item.setRiskType("1");
|
|
|
|
|
+ item.setVehicleStyleUniqueId("14970");
|
|
|
|
|
+ item.setIsNewCar("0");
|
|
|
|
|
+ item.setJyPreCarNo("c44a2adbb1a145b58ff7e1aef164ebd6");
|
|
|
|
|
+ carInfo.setItemCarInfo(item);
|
|
|
|
|
+ carInfo.setChargingInfoList(java.util.Collections.emptyList());
|
|
|
|
|
+ carInfo.setDeviceList(java.util.Collections.emptyList());
|
|
|
|
|
+ businessData.setCarInfo(carInfo);
|
|
|
|
|
+
|
|
|
|
|
+ // 被保险人列表
|
|
|
|
|
+ java.util.List<BoHaiCrawlerQuotationRequest2.Insured> insuredList = new java.util.ArrayList<>();
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Insured insured1 = new BoHaiCrawlerQuotationRequest2.Insured();
|
|
|
|
|
+ insured1.setSerialNo("1");
|
|
|
|
|
+ insured1.setInsuredCode("");
|
|
|
|
|
+ insured1.setIdentifyNumber("");
|
|
|
|
|
+ insured1.setIdentifyType("01");
|
|
|
|
|
+ insured1.setInsuredName("");
|
|
|
|
|
+ insured1.setInsuredFlag("2");
|
|
|
|
|
+ insured1.setInsuredType("1");
|
|
|
|
|
+ insured1.setGender("");
|
|
|
|
|
+ insured1.setInsuredNature("3");
|
|
|
|
|
+ insured1.setPhoneNumber("");
|
|
|
|
|
+ insured1.setMobile("");
|
|
|
|
|
+ insured1.setInsuredAddress("");
|
|
|
|
|
+ insured1.setPostCode("");
|
|
|
|
|
+ insured1.setPostAddress("");
|
|
|
|
|
+ insured1.setOrgCode("");
|
|
|
|
|
+ insured1.setAge("");
|
|
|
|
|
+ insured1.setBirthDay("");
|
|
|
|
|
+ insured1.setIsIndividualBusi("");
|
|
|
|
|
+ insured1.setAppliCitizenshipBC("01");
|
|
|
|
|
+ insured1.setAppliCountryBC("008zg");
|
|
|
|
|
+ insured1.setEmail("");
|
|
|
|
|
+ insured1.setBusinessLicenseType("");
|
|
|
|
|
+ insured1.setNation("");
|
|
|
|
|
+ insured1.setIdentifyAddress("");
|
|
|
|
|
+ insured1.setIdentifyStartDate("");
|
|
|
|
|
+ insured1.setIdentifyEndDate("");
|
|
|
|
|
+ insured1.setCarInsuredRelation("");
|
|
|
|
|
+
|
|
|
|
|
+ insured1.setBusinessSort("15");
|
|
|
|
|
+ insured1.setLinkerName("");
|
|
|
|
|
+ insured1.setSpecialDInsuredName("");
|
|
|
|
|
+ insured1.setSpecialDInsuredIDType("");
|
|
|
|
|
+ insured1.setSpecialDInsuredID("");
|
|
|
|
|
+ insured1.setNoSpecialDInsuredP("");
|
|
|
|
|
+ insured1.setIsGreenIndustryFlag("");
|
|
|
|
|
+ insured1.setGreenIndustryFCode("");
|
|
|
|
|
+ insured1.setGreenIndustrySCode("");
|
|
|
|
|
+ insured1.setGreenIndustryTCode("");
|
|
|
|
|
+ insuredList.add(insured1);
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Insured insured2 = new BoHaiCrawlerQuotationRequest2.Insured();
|
|
|
|
|
+ insured2.setSerialNo("2");
|
|
|
|
|
+ insured2.setInsuredCode("");
|
|
|
|
|
+ insured2.setIdentifyNumber("142626196108011016");
|
|
|
|
|
+ insured2.setIdentifyType("01");
|
|
|
|
|
+ insured2.setInsuredName("段志文");
|
|
|
|
|
+ insured2.setInsuredFlag("1");
|
|
|
|
|
+ insured2.setInsuredType("1");
|
|
|
|
|
+ insured2.setGender("1");
|
|
|
|
|
+ insured2.setInsuredNature("3");
|
|
|
|
|
+ insured2.setPhoneNumber("");
|
|
|
|
|
+ insured2.setMobile("");
|
|
|
|
|
+ insured2.setInsuredAddress("");
|
|
|
|
|
+ insured2.setPostCode("");
|
|
|
|
|
+ insured2.setPostAddress("");
|
|
|
|
|
+ insured2.setOrgCode("");
|
|
|
|
|
+ insured2.setAge(64);
|
|
|
|
|
+ insured2.setBirthDay("1961-08-01");
|
|
|
|
|
+ insured2.setIsIndividualBusi("");
|
|
|
|
|
+ insured2.setAppliCitizenshipBC("01");
|
|
|
|
|
+ insured2.setAppliCountryBC("008zg");
|
|
|
|
|
+ insured2.setEmail("");
|
|
|
|
|
+ insured2.setBusinessLicenseType("");
|
|
|
|
|
+ insured2.setNation("");
|
|
|
|
|
+ insured2.setIdentifyAddress("");
|
|
|
|
|
+ insured2.setIdentifyStartDate("");
|
|
|
|
|
+ insured2.setIdentifyEndDate("");
|
|
|
|
|
+ insured2.setCarInsuredRelation("1");
|
|
|
|
|
+ insured2.setBusinessSort("15");
|
|
|
|
|
+ insured2.setLinkerName("");
|
|
|
|
|
+ insured2.setIsSpecialDInsured("0");
|
|
|
|
|
+ insured2.setSpecialDInsuredName("");
|
|
|
|
|
+ insured2.setSpecialDInsuredIDType("");
|
|
|
|
|
+ insured2.setSpecialDInsuredID("");
|
|
|
|
|
+ insured2.setNoSpecialDInsuredP("1");
|
|
|
|
|
+ insured2.setBenefitFlag("0");
|
|
|
|
|
+ insured2.setIsGreenIndustryFlag("");
|
|
|
|
|
+ insured2.setGreenIndustryFCode("");
|
|
|
|
|
+ insured2.setGreenIndustrySCode("");
|
|
|
|
|
+ insured2.setGreenIndustryTCode("");
|
|
|
|
|
+ insuredList.add(insured2);
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Insured insured3 = new BoHaiCrawlerQuotationRequest2.Insured();
|
|
|
|
|
+ insured3.setSerialNo("3");
|
|
|
|
|
+ insured3.setInsuredCode("");
|
|
|
|
|
+ insured3.setIdentifyNumber("142626196108011016");
|
|
|
|
|
+ insured3.setIdentifyType("01");
|
|
|
|
|
+ insured3.setInsuredName("段志文");
|
|
|
|
|
+ insured3.setInsuredFlag("3");
|
|
|
|
|
+ insured3.setInsuredType("1");
|
|
|
|
|
+ insured3.setGender("1");
|
|
|
|
|
+ insured3.setInsuredNature("1");
|
|
|
|
|
+ insured3.setPhoneNumber("");
|
|
|
|
|
+ insured3.setMobile("");
|
|
|
|
|
+ insured3.setInsuredAddress("");
|
|
|
|
|
+ insured3.setPostCode("");
|
|
|
|
|
+ insured3.setPostAddress("");
|
|
|
|
|
+ insured3.setOrgCode("");
|
|
|
|
|
+ insured3.setAge("");
|
|
|
|
|
+ insured3.setBirthDay("1961-08-01");
|
|
|
|
|
+ insured3.setIsIndividualBusi("");
|
|
|
|
|
+ insured3.setAppliCitizenshipBC("01");
|
|
|
|
|
+ insured3.setAppliCountryBC("008zg");
|
|
|
|
|
+ insured3.setEmail("");
|
|
|
|
|
+ insured3.setBusinessLicenseType("");
|
|
|
|
|
+ insured3.setNation("");
|
|
|
|
|
+ insured3.setIdentifyAddress("");
|
|
|
|
|
+ insured3.setIdentifyStartDate("");
|
|
|
|
|
+ insured3.setIdentifyEndDate("");
|
|
|
|
|
+ insured3.setCarInsuredRelation("");
|
|
|
|
|
+ insured3.setBusinessSort("15");
|
|
|
|
|
+ insured3.setLinkerName("");
|
|
|
|
|
+ insured3.setSpecialDInsuredName("");
|
|
|
|
|
+ insured3.setSpecialDInsuredIDType("");
|
|
|
|
|
+ insured3.setSpecialDInsuredID("");
|
|
|
|
|
+ insured3.setNoSpecialDInsuredP("");
|
|
|
|
|
+ insuredList.add(insured3);
|
|
|
|
|
+ businessData.setInsuredList(insuredList);
|
|
|
|
|
+
|
|
|
|
|
+ // 风险列表
|
|
|
|
|
+ List<BoHaiCrawlerQuotationRequest2.Risk> riskList = new java.util.ArrayList<>();
|
|
|
|
|
+ // 交强险
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Risk jqRisk = new BoHaiCrawlerQuotationRequest2.Risk();
|
|
|
|
|
+ List<BoHaiCrawlerQuotationRequest2.ItemKind> jqItemKinds = new java.util.ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ //交强险列表
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.ItemKind jqItem = new BoHaiCrawlerQuotationRequest2.ItemKind();
|
|
|
|
|
+ jqItem.setItemKindNo("0");
|
|
|
|
|
+ jqItem.setKindCode("BZ");
|
|
|
|
|
+ jqItem.setKindName("机动车交通事故责任强制保险");
|
|
|
|
|
+ jqItem.setOperateType("");
|
|
|
|
|
+ jqItem.setShortRateFlag("2");
|
|
|
|
|
+ jqItem.setCalculateFlag("Y");
|
|
|
|
|
+ jqItem.setNotDeductibleFlag("0");
|
|
|
|
|
+ jqItemKinds.add(jqItem);
|
|
|
|
|
+ jqRisk.setItemKindList(jqItemKinds);
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.RiskMainInfo jqMain = new BoHaiCrawlerQuotationRequest2.RiskMainInfo();
|
|
|
|
|
+ jqMain.setIsDrivingFee("1");
|
|
|
|
|
+ jqMain.setAgriflag("012001");
|
|
|
|
|
+ jqMain.setRiskCode("0330");
|
|
|
|
|
+ jqMain.setCurrency("CNY");
|
|
|
|
|
+ jqMain.setRenewalFlag("0");
|
|
|
|
|
+ jqMain.setStartDate("2025-10-10");
|
|
|
|
|
+ jqMain.setStartHour("0");
|
|
|
|
|
+ jqMain.setEndDate("2026-10-09");
|
|
|
|
|
+ jqMain.setEndHour("24");
|
|
|
|
|
+ jqMain.setNoneFluctuateFlag("N1");
|
|
|
|
|
+ jqMain.setChannelCoefficient("1.00");
|
|
|
|
|
+ jqMain.setCustomerCoefficient("364001");
|
|
|
|
|
+ jqMain.setFleetCoefficient("365000");
|
|
|
|
|
+ jqMain.setSignDate("2025-10-09");
|
|
|
|
|
+ jqMain.setOperateDate("2025-10-09");
|
|
|
|
|
+ jqMain.setInputDate("2025-10-09");
|
|
|
|
|
+ jqMain.setPricingAdjustValue("1");
|
|
|
|
|
+ jqMain.setNoneFluctuateFeeRate("N1");
|
|
|
|
|
+ jqRisk.setRiskMainInfo(jqMain);
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.CarShipTaxInfo taxInfo = new BoHaiCrawlerQuotationRequest2.CarShipTaxInfo();
|
|
|
|
|
+ taxInfo.setTaxPayerIdentifier("142626196108011016");
|
|
|
|
|
+ taxInfo.setTaxPayerName("段志文");
|
|
|
|
|
+ taxInfo.setTaxPayerIdentifyNumberType("01");
|
|
|
|
|
+ taxInfo.setTaxPayerIdentifyNumber("142626196108011016");
|
|
|
|
|
+ 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);
|
|
|
|
|
+
|
|
|
|
|
+ // 商业险(车辆损失险)
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.Risk syRisk = new BoHaiCrawlerQuotationRequest2.Risk();
|
|
|
|
|
+ List<BoHaiCrawlerQuotationRequest2.ItemKind> syItemKinds = new java.util.ArrayList<>();
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.ItemKind syItem = new BoHaiCrawlerQuotationRequest2.ItemKind();
|
|
|
|
|
+ syItem.setItemKindNo("1");
|
|
|
|
|
+ syItem.setKindCode("A");
|
|
|
|
|
+ syItem.setKindName("车辆损失险");
|
|
|
|
|
+ syItem.setStartDate("2025-12-01");
|
|
|
|
|
+ syItem.setStartHour("0");
|
|
|
|
|
+ syItem.setEndDate("2026-11-30");
|
|
|
|
|
+ syItem.setEndHour("24");
|
|
|
|
|
+ syItem.setAmount("15380.00");
|
|
|
|
|
+ syItem.setShortRateFlag("3");
|
|
|
|
|
+ syItem.setCalculateFlag("Y");
|
|
|
|
|
+ syItem.setNotDeductibleFlag("0");
|
|
|
|
|
+ syItemKinds.add(syItem);
|
|
|
|
|
+ syRisk.setItemKindList(syItemKinds);
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationRequest2.RiskMainInfo syMain = new BoHaiCrawlerQuotationRequest2.RiskMainInfo();
|
|
|
|
|
+ syMain.setIsDrivingFee("1");
|
|
|
|
|
+ syMain.setAgriflag("012001");
|
|
|
|
|
+ syMain.setRiskCode("0380");
|
|
|
|
|
+ syMain.setCurrency("CNY");
|
|
|
|
|
+ syMain.setRenewalFlag("0");
|
|
|
|
|
+ syMain.setStartDate("2025-12-01");
|
|
|
|
|
+ syMain.setStartHour("0");
|
|
|
|
|
+ syMain.setEndDate("2026-11-30");
|
|
|
|
|
+ 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-09");
|
|
|
|
|
+ syMain.setOperateDate("2025-10-09");
|
|
|
|
|
+ syMain.setInputDate("2025-10-09");
|
|
|
|
|
+ syRisk.setRiskMainInfo(syMain);
|
|
|
|
|
+ riskList.add(syRisk);
|
|
|
|
|
+ businessData.setRiskList(riskList);
|
|
|
|
|
+
|
|
|
|
|
+ // 赋值到请求对象
|
|
|
|
|
+ boHaiCrawlerQuotationRequest2.setBusinessData(businessData);
|
|
|
|
|
+ boHaiCrawlerQuotationRequest2.setLoginCom("14070201");
|
|
|
|
|
+ boHaiCrawlerQuotationRequest2.setUserCode("114050281");
|
|
|
|
|
+ boHaiCrawlerQuotationRequest2.setFirstUserCode("114050281");
|
|
|
|
|
+
|
|
|
|
|
+ BoHaiCrawlerQuotationResponse boHaiCrawlerQuotationResponse = boHaiCrawlerRequestComponent.quotation(boHaiCrawlerQuotationRequest2, headers);
|
|
|
|
|
+ log.info("boHaiCrawlerQuotationResponse参数的值:{}", JSON.toJSONString(boHaiCrawlerQuotationResponse));
|
|
|
|
|
|
|
|
// 4.0 处理报价失败
|
|
// 4.0 处理报价失败
|
|
|
if (!ResponseCode.R_Z00001.equals(boHaiCrawlerQuotationResponse.getResponseCode())) {
|
|
if (!ResponseCode.R_Z00001.equals(boHaiCrawlerQuotationResponse.getResponseCode())) {
|
|
@@ -200,7 +616,8 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- *查询订单状态
|
|
|
|
|
|
|
+ * 查询订单状态
|
|
|
|
|
+ *
|
|
|
* @param orderStatusVo
|
|
* @param orderStatusVo
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
@@ -229,7 +646,7 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
|
|
|
* @param headers
|
|
* @param headers
|
|
|
* @return Map<String, Object>
|
|
* @return Map<String, Object>
|
|
|
*/
|
|
*/
|
|
|
- private Map<String, Object> getVehicleConfirmationResponse(QuoteVo quoteVo, BoHaiCrawlerCarResponse boHaiCrawlerCarResponse, BoHaiCrawlerConfigureParameters parameters,HttpHeaders headers) {
|
|
|
|
|
|
|
+ private Map<String, Object> getVehicleConfirmationResponse(QuoteVo quoteVo, BoHaiCrawlerCarResponse boHaiCrawlerCarResponse, BoHaiCrawlerConfigureParameters parameters, HttpHeaders headers) {
|
|
|
// 车主信息
|
|
// 车主信息
|
|
|
CustomerInfoVo ownerInfo = quoteVo.getOwnersInfo();
|
|
CustomerInfoVo ownerInfo = quoteVo.getOwnersInfo();
|
|
|
PersonAreaVo ownerInfoArea = new PersonAreaVo(ownerInfo);
|
|
PersonAreaVo ownerInfoArea = new PersonAreaVo(ownerInfo);
|
|
@@ -240,13 +657,90 @@ public class BoHaiCrawlerRequestImpl implements BoHaiCrawlerRequest {
|
|
|
CustomerInfoVo policyHolderInfo = quoteVo.getPolicyHolderInfo();
|
|
CustomerInfoVo policyHolderInfo = quoteVo.getPolicyHolderInfo();
|
|
|
PersonAreaVo policyHolderArea = new PersonAreaVo(policyHolderInfo);
|
|
PersonAreaVo policyHolderArea = new PersonAreaVo(policyHolderInfo);
|
|
|
|
|
|
|
|
- BoHaiCrawlerVehicleConfirmationReqeust vehicleConfirmationReqeust = new BoHaiCrawlerVehicleConfirmationReqeust(parameters, quoteVo, boHaiCrawlerCarResponse, ownerInfoArea, insuredPersonArea, policyHolderArea);
|
|
|
|
|
-
|
|
|
|
|
- BoHaiCrawlerVehicleConfirmationResponse boHaiCrawlerVehicleConfirmationResponse = boHaiCrawlerRequestComponent.vehicleConfirmation(vehicleConfirmationReqeust,headers);
|
|
|
|
|
|
|
+ /*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("114050281-de6614d0af8b92ed9fd72f3ea80b324d");
|
|
|
|
|
+ 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<String, Object> map = new HashMap<>();
|
|
|
- map.put("vehicleModelsDTO", boHaiCrawlerCarResponse.getList().get(0));
|
|
|
|
|
- map.put("vehicleConfirmationResponse", boHaiCrawlerVehicleConfirmationResponse);
|
|
|
|
|
|
|
+ map.put("currentValue", boHaiCrawlerVehicleConfirmationResponse.getVehiclePriceList().get(0).getActualValue());
|
|
|
return map;
|
|
return map;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|