|
@@ -0,0 +1,450 @@
|
|
|
|
|
+package com.jzg.quotation.zhongan.crawler.entity.request;
|
|
|
|
|
+
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
|
|
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
|
|
|
|
|
+import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
|
|
|
|
|
+import com.jzg.commons.entity.quote.vo.QuoteVo;
|
|
|
|
|
+import com.jzg.quotation.zhongan.crawler.constant.ZhongAnRequestConstant;
|
|
|
|
|
+import com.jzg.quotation.zhongan.crawler.entity.ZhongAnCrawlerConfigureParameters;
|
|
|
|
|
+import com.jzg.quotation.zhongan.crawler.entity.response.ZhongAnCrawlerCarQueryResponse;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
|
|
+
|
|
|
|
|
+import java.io.Serial;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+@NoArgsConstructor
|
|
|
|
|
+@Data
|
|
|
|
|
+public class ZhongAnCrawlerCacheCarQueryRequest {
|
|
|
|
|
+
|
|
|
|
|
+ @Serial
|
|
|
|
|
+ private static final long serialVersionUID = -1L;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("flowId")
|
|
|
|
|
+ private String flowId;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("page")
|
|
|
|
|
+ private String page;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("flag")
|
|
|
|
|
+ private String flag;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("i")
|
|
|
|
|
+ private String i;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public ZhongAnCrawlerCacheCarQueryRequest(QuoteVo quoteVo, ZhongAnCrawlerCarQueryResponse.ValueDTO.DataDTO.ResultDTO.VehicleDTO vehicleDTO, ZhongAnCrawlerConfigureParameters parameters){
|
|
|
|
|
+ this.setFlowId(parameters.getFlowId());
|
|
|
|
|
+ this.setPage(ZhongAnRequestConstant.CAR_QUERY_PAGE);
|
|
|
|
|
+ this.setFlag(parameters.getFlag());
|
|
|
|
|
+ this.setI(ZhongAnRequestConstant.I_PARAM);
|
|
|
|
|
+ CustomerInfoVo ownersInfo = quoteVo.getOwnersInfo();
|
|
|
|
|
+ CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
|
|
|
|
|
+ //组装缓存车辆信息
|
|
|
|
|
+ this.insurePlaceCode = ownersInfo.getCityCode();
|
|
|
|
|
+ this.insurePlace = ownersInfo.getCity();
|
|
|
|
|
+ this.thirdOrgCode = "";
|
|
|
|
|
+ this.vehicleLicencePlateNo = carInfoVo.getLicenseNo();
|
|
|
|
|
+ this.vehicleFrameNo = carInfoVo.getVinNo();
|
|
|
|
|
+ this.vehicleEngineNo = carInfoVo.getEngineNo();
|
|
|
|
|
+ this.vehicleRegisterDate = carInfoVo.getRegisterDate();
|
|
|
|
|
+ this.vehicleClass = "carSwitch";
|
|
|
|
|
+ this.vehicleTypeSubclass = " ";
|
|
|
|
|
+ this.vehicleOwnerName = ownersInfo.getName();
|
|
|
|
|
+ this.identifyType = "I";
|
|
|
|
|
+ this.identifyNo = ownersInfo.getIdentifyNumber();
|
|
|
|
|
+ this.saleCompanyName = "";
|
|
|
|
|
+ this.sale4SFlag = "";
|
|
|
|
|
+ this.saleCompanyAreaCode = "";
|
|
|
|
|
+ this.phone = "";
|
|
|
|
|
+ this.applicantName = "";
|
|
|
|
|
+ this.applicantPhone = "";
|
|
|
|
|
+ this.applicantCertificateNo = "";
|
|
|
|
|
+ this.modelName = vehicleDTO.getBrandName();
|
|
|
|
|
+ this.brandCode = vehicleDTO.getBrandCode();
|
|
|
|
|
+ this.vehicleName = vehicleDTO.getVehicleName();
|
|
|
|
|
+ this.vehicleBrand = vehicleDTO.getBrandName();
|
|
|
|
|
+
|
|
|
|
|
+ this.vehicleModelName = vehicleDTO.getBrandName();
|
|
|
|
|
+ this.vehicleModelCode = vehicleDTO.getVehicleCode();
|
|
|
|
|
+ this.modelsJy = vehicleDTO.getVehicleCode();
|
|
|
|
|
+ this.vehicleCap = "";
|
|
|
|
|
+ this.curbWeight = vehicleDTO.getFullWeight();
|
|
|
|
|
+ this.exhaustMeasure = vehicleDTO.getDisplacement();
|
|
|
|
|
+ this.power = vehicleDTO.getPower();
|
|
|
|
|
+ this.creator = vehicleDTO.getCompanyName();
|
|
|
|
|
+ this.vehicleAcquisitionPrice = vehicleDTO.getPurchasePrice();
|
|
|
|
|
+ this.vehiclePassengerCap = vehicleDTO.getSeat();
|
|
|
|
|
+ this.gearBoxType = vehicleDTO.getGearBoxType();
|
|
|
|
|
+ this.configName = vehicleDTO.getConfigName();
|
|
|
|
|
+ this.taxType = "0";
|
|
|
|
|
+ this.syxClassid = "KB";
|
|
|
|
|
+ this.vehicleType = "2";
|
|
|
|
|
+ this.modelEnergyType = "0";
|
|
|
|
|
+ this.fuelType = "D1";
|
|
|
|
|
+ this.desVehicleOwnerName = "";
|
|
|
|
|
+ this.applicantType = "PERSONAL";
|
|
|
|
|
+ this.applicantUseAttribute = "03";
|
|
|
|
|
+ this.useAttribute = "NONBUSINESS";
|
|
|
|
|
+ this.subOwnershipAttribute = "";
|
|
|
|
|
+ this.ownershipAttribute = "PER";
|
|
|
|
|
+ this.vehicleLicenceType = "";
|
|
|
|
|
+ this.callVehicleModelLibraryFlag = 1;
|
|
|
|
|
+
|
|
|
|
|
+ this.vehicleModelDesc = vehicleName + " " + gearBoxType + " " + configName + " " + vehiclePassengerCap + "座" + "(" + vehicleAcquisitionPrice + "元)";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 参保地编码
|
|
|
|
|
+ * 例如:140700 对应晋中市
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("insurePlaceCode")
|
|
|
|
|
+ private String insurePlaceCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 参保地名称
|
|
|
|
|
+ * 例如:晋中市
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("insurePlace")
|
|
|
|
|
+ private String insurePlace;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 第三方机构代码
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("thirdOrgCode")
|
|
|
|
|
+ private String thirdOrgCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 机动车车牌号
|
|
|
|
|
+ * 例如:晋AP169K
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleLicencePlateNo")
|
|
|
|
|
+ private String vehicleLicencePlateNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆车架号
|
|
|
|
|
+ * 车辆唯一标识,例如:LSGZG5355GS023672
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleFrameNo")
|
|
|
|
|
+ private String vehicleFrameNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 发动机号
|
|
|
|
|
+ * 例如:152243036
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleEngineNo")
|
|
|
|
|
+ private String vehicleEngineNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆注册日期
|
|
|
|
|
+ * 格式:yyyy-MM-dd,例如:2016-09-05
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleRegisterDate")
|
|
|
|
|
+ private String vehicleRegisterDate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆类别
|
|
|
|
|
+ * 例如:carSwitch表示轿车类
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleClass")
|
|
|
|
|
+ private String vehicleClass;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆类型子类
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleTypeSubclass")
|
|
|
|
|
+ private String vehicleTypeSubclass;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强险车辆类型
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("paVehicleType")
|
|
|
|
|
+ private String paVehicleType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆所有人姓名
|
|
|
|
|
+ * 例如:王卫星
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleOwnerName")
|
|
|
|
|
+ private String vehicleOwnerName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 证件类型
|
|
|
|
|
+ * 例如:I表示身份证
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("identifyType")
|
|
|
|
|
+ private String identifyType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 证件号码
|
|
|
|
|
+ * 例如:身份证号131127198510103870
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("identifyNo")
|
|
|
|
|
+ private String identifyNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 销售公司名称
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("saleCompanyName")
|
|
|
|
|
+ private String saleCompanyName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 是否4S店销售标识
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("sale4SFlag")
|
|
|
|
|
+ private String sale4SFlag;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 销售公司区域代码
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("saleCompanyAreaCode")
|
|
|
|
|
+ private String saleCompanyAreaCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 联系电话
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("phone")
|
|
|
|
|
+ private String phone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 申请人姓名
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("applicantName")
|
|
|
|
|
+ private String applicantName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 申请人电话
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("applicantPhone")
|
|
|
|
|
+ private String applicantPhone;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 申请人证件号
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("applicantCertificateNo")
|
|
|
|
|
+ private String applicantCertificateNo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车型名称
|
|
|
|
|
+ * 例如:上汽通用雪佛兰
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("modelName")
|
|
|
|
|
+ private String modelName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 品牌代码
|
|
|
|
|
+ * 例如:XFA1
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("brandCode")
|
|
|
|
|
+ private String brandCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆名称
|
|
|
|
|
+ * 例如:雪佛兰SGM7156EAA2轿车
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleName")
|
|
|
|
|
+ private String vehicleName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆品牌
|
|
|
|
|
+ * 例如:上汽通用雪佛兰
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleBrand")
|
|
|
|
|
+ private String vehicleBrand;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆型号详细描述
|
|
|
|
|
+ * 包含配置、年份等信息
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleModelDesc")
|
|
|
|
|
+ private String vehicleModelDesc;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆型号名称
|
|
|
|
|
+ * 例如:上汽通用雪佛兰
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleModelName")
|
|
|
|
|
+ private String vehicleModelName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆型号代码
|
|
|
|
|
+ * 例如:XFABFD0032
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleModelCode")
|
|
|
|
|
+ private String vehicleModelCode;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车型交易代码
|
|
|
|
|
+ * 例如:XFABFD0032
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("modelsJy")
|
|
|
|
|
+ private String modelsJy;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆排量
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleCap")
|
|
|
|
|
+ private String vehicleCap;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆整备质量
|
|
|
|
|
+ * 单位:kg,例如:1430
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("curbWeight")
|
|
|
|
|
+ private String curbWeight;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 排气量
|
|
|
|
|
+ * 单位:L,例如:1.49
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("exhaustMeasure")
|
|
|
|
|
+ private Double exhaustMeasure;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 发动机功率
|
|
|
|
|
+ * 单位:马力,例如:125
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("power")
|
|
|
|
|
+ private String power;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆制造商
|
|
|
|
|
+ * 例如:上汽通用汽车有限公司
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("creator")
|
|
|
|
|
+ private String creator;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆购置价格
|
|
|
|
|
+ * 单位:元,例如:204900
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleAcquisitionPrice")
|
|
|
|
|
+ private String vehicleAcquisitionPrice;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆核定载客人数
|
|
|
|
|
+ * 例如:5座
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehiclePassengerCap")
|
|
|
|
|
+ private String vehiclePassengerCap;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 变速箱类型
|
|
|
|
|
+ * 例如:双离合变速器
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("gearBoxType")
|
|
|
|
|
+ private String gearBoxType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 配置名称
|
|
|
|
|
+ * 例如:2016款 锐耀版
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("configName")
|
|
|
|
|
+ private String configName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 税收类型
|
|
|
|
|
+ * 例如:0表示默认类型
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("taxType")
|
|
|
|
|
+ private String taxType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业险类别ID
|
|
|
|
|
+ * 例如:KA
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("syxClassid")
|
|
|
|
|
+ private String syxClassid;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆类型
|
|
|
|
|
+ * 例如:2表示小型客车
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleType")
|
|
|
|
|
+ private String vehicleType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 能源类型
|
|
|
|
|
+ * 例如:0表示传统燃油
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("modelEnergyType")
|
|
|
|
|
+ private String modelEnergyType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 燃油类型
|
|
|
|
|
+ * 例如:D1表示汽油
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("fuelType")
|
|
|
|
|
+ private String fuelType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 指定车辆所有人姓名
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("desVehicleOwnerName")
|
|
|
|
|
+ private String desVehicleOwnerName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 申请人类型
|
|
|
|
|
+ * 例如:PERSONAL表示个人
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("applicantType")
|
|
|
|
|
+ private String applicantType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 申请人使用属性
|
|
|
|
|
+ * 例如:03表示非营运
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("applicantUseAttribute")
|
|
|
|
|
+ private String applicantUseAttribute;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 使用性质
|
|
|
|
|
+ * 例如:NONBUSINESS表示非营业
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("useAttribute")
|
|
|
|
|
+ private String useAttribute;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 子所有权属性
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("subOwnershipAttribute")
|
|
|
|
|
+ private String subOwnershipAttribute;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 所有权属性
|
|
|
|
|
+ * 例如:PER表示个人所有
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("ownershipAttribute")
|
|
|
|
|
+ private String ownershipAttribute;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车辆牌照类型
|
|
|
|
|
+ * 为空表示未填写
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("vehicleLicenceType")
|
|
|
|
|
+ private String vehicleLicenceType;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 调用车辆模型库标识
|
|
|
|
|
+ * 例如:0表示未调用
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("callVehicleModelLibraryFlag")
|
|
|
|
|
+ private Integer callVehicleModelLibraryFlag;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|