|
|
@@ -1,6 +1,9 @@
|
|
|
package com.ydtech.modules.order.entity.api.huatai.request;
|
|
|
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
+import com.alibaba.fastjson.annotation.JSONField;
|
|
|
+import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
|
+import com.fasterxml.jackson.annotation.JsonInclude;
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
import com.ydtech.constants.enums.InsuranceRisk;
|
|
|
import com.ydtech.modules.ins.model.vo.CarInfoVo;
|
|
|
@@ -43,11 +46,12 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
private static final long serialVersionUID = -3877935401822194816L;
|
|
|
|
|
|
//Y 投保单信息
|
|
|
- @JsonProperty("businessData")
|
|
|
+ @JSONField(name="businessData")
|
|
|
private BusinessDataDto businessData;
|
|
|
|
|
|
public HuaTaiQuotedPriceRequest(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
this.businessData = new BusinessDataDto(baseQuoteInfoVo, fullCarDataDto,actualValueResponse, accidentalDrivingVo, huaTaiConfigureParameters);
|
|
|
+ this.loginCom = huaTaiConfigureParameters.getComCode();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -56,7 +60,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
super.getHead().setTransCode(HuaTaiTransCode.QUOTE_PRICE);
|
|
|
}
|
|
|
//Y 机构代码
|
|
|
- @JsonProperty("loginCom")
|
|
|
+ @JSONField(name="loginCom")
|
|
|
private String loginCom;
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@@ -66,19 +70,19 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
|
|
|
private static final long serialVersionUID = -1000678860334502885L;
|
|
|
//Y 投保主信息
|
|
|
- @JsonProperty("businessMain")
|
|
|
+ @JSONField(name="businessMain")
|
|
|
private BusinessMainDto businessMain;
|
|
|
//Y 业务信息(列表)
|
|
|
- @JsonProperty("contract")
|
|
|
+ @JSONField(name="contract")
|
|
|
private List<ContractDto> contract;
|
|
|
//Y 客户信息(列表)
|
|
|
- @JsonProperty("customer")
|
|
|
+ @JSONField(name="customer")
|
|
|
private List<CustomerDto> customer;
|
|
|
//Y 投保车辆信息
|
|
|
- @JsonProperty("insuredObject")
|
|
|
+ @JSONField(name="insuredObject")
|
|
|
private InsuredObjectDto insuredObject;
|
|
|
//Y 销售信息
|
|
|
- @JsonProperty("saleInfo")
|
|
|
+ @JSONField(name="saleInfo")
|
|
|
private SaleInfoDto saleInfo;
|
|
|
|
|
|
public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse,AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
@@ -95,7 +99,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
// 车辆信息
|
|
|
this.insuredObject = new InsuredObjectDto(carInfo, fullCarDataDto);
|
|
|
// 保险信息
|
|
|
- this.contract = new ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse);
|
|
|
+ this.contract = new ContractDto().getContract(riskList, kindList, i - 1,vesselTax,actualValueResponse,huaTaiConfigureParameters);
|
|
|
// 客户信息
|
|
|
this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
|
|
|
//销售信息
|
|
|
@@ -107,16 +111,16 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
public static class BusinessMainDto implements Serializable{
|
|
|
private static final long serialVersionUID = 2471155101522896774L;
|
|
|
//Y 操作机构代码
|
|
|
- @JsonProperty("makeCom")
|
|
|
+ @JSONField(name="makeCom")
|
|
|
private String makeCom;
|
|
|
//Y 操作员代码
|
|
|
- @JsonProperty("operatorCode")
|
|
|
+ @JSONField(name="operatorCode")
|
|
|
private String operatorCode;
|
|
|
//Y 投保日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("operateDate")
|
|
|
+ @JSONField(name="operateDate")
|
|
|
private String operateDate;
|
|
|
//CY 出单计算机IP地址(北京出单机构必传)
|
|
|
- @JsonProperty("computerIp")
|
|
|
+ @JSONField(name="computerIp")
|
|
|
private String computerIp;
|
|
|
public BusinessMainDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
@@ -130,10 +134,10 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class InsuredObjectDto implements Serializable{
|
|
|
//Y 保险采集和管理车信息
|
|
|
- @JsonProperty("policyCar")
|
|
|
+ @JSONField(name="policyCar")
|
|
|
private PolicyCarDto policyCar;
|
|
|
//Y 简化版精友信息
|
|
|
- @JsonProperty("simpleStadarCar")
|
|
|
+ @JSONField(name="simpleStadarCar")
|
|
|
private SimpleStadarCarDto simpleStadarCar;
|
|
|
|
|
|
public InsuredObjectDto(CarInfoVo carInfo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
|
|
|
@@ -143,126 +147,133 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
public static class PolicyCarDto implements Serializable{
|
|
|
+ //CY 座位数
|
|
|
+ @JSONField(name="approvedPassengersCapacity")
|
|
|
+ private int approvedPassengersCapacity;
|
|
|
//Y 排量(单位:升)
|
|
|
- @JsonProperty("displacement")
|
|
|
+ @JSONField(name="displacement")
|
|
|
private double displacement;
|
|
|
//Y 车牌号
|
|
|
- @JsonProperty("plateNo")
|
|
|
+ @JSONField(name="plateNo")
|
|
|
private String plateNo;
|
|
|
//Y 初次登记日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("registerDate")
|
|
|
+ @JSONField(name="registerDate")
|
|
|
private String registerDate;
|
|
|
//Y 行驶证发证日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("issueDate")
|
|
|
+ @JSONField(name="issueDate")
|
|
|
private String issueDate;
|
|
|
//Y 新车购置价
|
|
|
- @JsonProperty("purchasePrice")
|
|
|
+ @JSONField(name="purchasePrice")
|
|
|
private String purchasePrice;
|
|
|
//Y 港澳车标志(false-非港澳车;true-是港澳车)
|
|
|
- @JsonProperty("hKFlag")
|
|
|
+ @JSONField(name="hKFlag")
|
|
|
private boolean hKFlag;
|
|
|
//Y 发动机号
|
|
|
- @JsonProperty("engine")
|
|
|
+ @JSONField(name="engine")
|
|
|
private String engine;
|
|
|
//Y 外地车标志(false-本地车;true-外地车)
|
|
|
- @JsonProperty("ecdemicVehicleFlag")
|
|
|
+ @JSONField(name="ecdemicVehicleFlag")
|
|
|
private boolean ecdemicVehicleFlag;
|
|
|
//Y 商业险过户车标志(0-非过户车;1-过户重新投保)
|
|
|
- @JsonProperty("chgOwnerFlag")
|
|
|
+ @JSONField(name="chgOwnerFlag")
|
|
|
private String chgOwnerFlag;
|
|
|
//Y 交强险过户车标志(1-过户重新投保,非过户车传空即可)
|
|
|
- @JsonProperty("specialCarFlag")
|
|
|
+ @JSONField(name="specialCarFlag")
|
|
|
private String specialCarFlag;
|
|
|
//CY 过户日期(过户车必传)(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("transferDate")
|
|
|
+ @JSONField(name="transferDate")
|
|
|
private String transferDate;
|
|
|
//Y 车架号
|
|
|
- @JsonProperty("vIN")
|
|
|
+ @JSONField(name="vIN")
|
|
|
private String vin;
|
|
|
//Y 是否贷款购车标志(0-非贷款车;1-是贷款车)
|
|
|
- @JsonProperty("loanStatus")
|
|
|
+ @JSONField(name="loanStatus")
|
|
|
private String loanStatus;
|
|
|
//Y 厂牌型号
|
|
|
- @JsonProperty("modelName")
|
|
|
+ @JSONField(name="modelName")
|
|
|
private String modelName;
|
|
|
//CY 整备质量
|
|
|
- @JsonProperty("UnladenMass")
|
|
|
+ @JSONField(name="UnladenMass")
|
|
|
private String unladenMass;
|
|
|
- /*//CY 车辆来历凭证种类(新车,北京上海机构出单必录)
|
|
|
- @JsonProperty("CertificateType")
|
|
|
+ //Y 能源种类
|
|
|
+ @JSONField(name="FullType")
|
|
|
+ private String FullType;
|
|
|
+ //CY 车辆来历凭证种类(新车,北京上海机构出单必录)
|
|
|
+ @JSONField(name="CertificateType")
|
|
|
private String CertificateType;
|
|
|
//CY 车辆来历凭证编号(新车,北京机构出单必录)
|
|
|
- @JsonProperty("CertificateNo")
|
|
|
+ @JSONField(name="CertificateNo")
|
|
|
private String CertificateNo;
|
|
|
//CY 车辆来历凭证所载日期(新车,北京机构出单必录)(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("CertificateDate")
|
|
|
- private String CertificateDate;*/
|
|
|
+ @JSONField(name="CertificateDate")
|
|
|
+ private String CertificateDate;
|
|
|
//CY 参见车辆种类代码
|
|
|
- @JsonProperty("MotorTypeCode")
|
|
|
+ @JSONField(name="MotorTypeCode")
|
|
|
private String motorTypeCode;
|
|
|
//CY 参见使用性质代码
|
|
|
- @JsonProperty("MotorUsageTypeCode")
|
|
|
+ @JSONField(name="MotorUsageTypeCode")
|
|
|
private String motorUsageTypeCode;
|
|
|
//CY 参见号牌种类代码
|
|
|
- @JsonProperty("PlateType")
|
|
|
+ @JSONField(name="PlateType")
|
|
|
private String plateType;
|
|
|
//CY 功率(纯电摩托车必录)
|
|
|
- @JsonProperty("Power")
|
|
|
+ @JSONField(name="Power")
|
|
|
private String Power;
|
|
|
//CY 最高设计车速(摩托车必录)
|
|
|
- @JsonProperty("MaximumSpeed")
|
|
|
+ @JSONField(name="MaximumSpeed")
|
|
|
private String MaximumSpeed;
|
|
|
//CY 参见所属性质代码
|
|
|
- @JsonProperty("Property")
|
|
|
+ @JSONField(name="Property")
|
|
|
private String property;
|
|
|
- /*//CY 新车销售公司名称(广东机构新车出单必录)
|
|
|
- @JsonProperty("NewCarSalesCompanyName")
|
|
|
+ //CY 新车销售公司名称(广东机构新车出单必录)
|
|
|
+ @JSONField(name="NewCarSalesCompanyName")
|
|
|
private String NewCarSalesCompanyName;
|
|
|
//CY 销售公司所在省(广东机构出单新车必录)
|
|
|
- @JsonProperty("NewCarSalesProvince")
|
|
|
+ @JSONField(name="NewCarSalesProvince")
|
|
|
private String NewCarSalesProvince;
|
|
|
//CY 销售公司所在市(广东机构出单新车必录)
|
|
|
- @JsonProperty("NewCarSalesCity")
|
|
|
+ @JSONField(name="NewCarSalesCity")
|
|
|
private String NewCarSalesCity;
|
|
|
//CY 销售公司所在区(广东机构出单新车必录)
|
|
|
- @JsonProperty("NewCarSalesDistrict")
|
|
|
+ @JSONField(name="NewCarSalesDistrict")
|
|
|
private String NewCarSalesDistrict;
|
|
|
//CY 是否4S店销售(广东机构出单新车必录)
|
|
|
- @JsonProperty("IsFourSShop")
|
|
|
+ @JSONField(name="IsFourSShop")
|
|
|
private String IsFourSShop;
|
|
|
//CY 购车发票日期(上海机构出单必录)(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("InvoiceDate")
|
|
|
- private Date InvoiceDate;*/
|
|
|
+ @JSONField(name="InvoiceDate")
|
|
|
+ private Date InvoiceDate;
|
|
|
//CY 参见车身颜色代码
|
|
|
- @JsonProperty("ColorCode")
|
|
|
+ @JSONField(name="ColorCode")
|
|
|
private String colorCode;
|
|
|
//CY 验车状态代码(1-未验车;2-免验车;4-已验车)
|
|
|
- @JsonProperty("CarCheckStatus")
|
|
|
+ @JSONField(name="CarCheckStatus")
|
|
|
private String carCheckStatus;
|
|
|
//CY 验车人(已验车必录)
|
|
|
- @JsonProperty("CarChecker")
|
|
|
+ @JSONField(name="CarChecker")
|
|
|
private String carChecker;
|
|
|
//CY 验车时间(已验车必录)(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("CarCheckTime")
|
|
|
+ @JSONField(name="CarCheckTime")
|
|
|
private String carCheckTime;
|
|
|
//CY 验车记录(已验车必录)
|
|
|
- @JsonProperty("CarCheckRecord")
|
|
|
+ @JSONField(name="CarCheckRecord")
|
|
|
private String carCheckRecord;
|
|
|
//CY 车况(0-好;1-中;2-差)
|
|
|
- @JsonProperty("VehicleCondition")
|
|
|
+ @JSONField(name="VehicleCondition")
|
|
|
private String vehicleCondition;
|
|
|
//Y 参见交管车辆类型代码
|
|
|
- @JsonProperty("VehicleType")
|
|
|
+ @JSONField(name="VehicleType")
|
|
|
private String vehicleType;
|
|
|
//CY 行驶证车型
|
|
|
- @JsonProperty("RegistModelCode")
|
|
|
+ @JSONField(name="RegistModelCode")
|
|
|
private String registModelCode;
|
|
|
//CY 参见号牌底色代码
|
|
|
- @JsonProperty("PlateColorCode")
|
|
|
+ @JSONField(name="PlateColorCode")
|
|
|
private String plateColorCode;
|
|
|
|
|
|
public PolicyCarDto(CarInfoVo carInfoVo,HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
|
|
|
- this.displacement = fullCarDataDto.getDisplacement()/1000;
|
|
|
+ this.approvedPassengersCapacity = fullCarDataDto.getApprovedPassengersCapacity();
|
|
|
+ this.displacement = fullCarDataDto.getDisplacement();
|
|
|
this.plateNo = carInfoVo.getLicenseNo();
|
|
|
this.registerDate = carInfoVo.getRegisterDate() + " " + TimeConstants.START_TIME;
|
|
|
this.issueDate = carInfoVo.getIssueDate() + " " + TimeConstants.START_TIME;
|
|
|
@@ -282,15 +293,16 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
this.loanStatus = "0";
|
|
|
this.modelName = fullCarDataDto.getModelName();
|
|
|
this.unladenMass = fullCarDataDto.getUnladenMass();
|
|
|
- this.motorTypeCode = "";
|
|
|
- this.motorUsageTypeCode = InsuranceTypeCorrespondence.getZM_CAR_MotorUsageTypeCode().get(carInfoVo.getCarnature());
|
|
|
- this.plateType = "";
|
|
|
- this.property = "";
|
|
|
+ this.FullType = fullCarDataDto.getEnergyTypes();
|
|
|
+ this.motorTypeCode = "A0";
|
|
|
+ this.motorUsageTypeCode = "8A";
|
|
|
+ this.plateType = "02";
|
|
|
+ this.property = "04";
|
|
|
this.colorCode = null;
|
|
|
- this.carCheckStatus = null;
|
|
|
+ this.carCheckStatus = "2";
|
|
|
this.vehicleCondition = "0";
|
|
|
- this.vehicleType = "0";
|
|
|
- this.registModelCode = null;
|
|
|
+ this.vehicleType = "K33";
|
|
|
+ this.registModelCode = fullCarDataDto.getModelName();
|
|
|
this.plateColorCode = "01";
|
|
|
}
|
|
|
}
|
|
|
@@ -298,16 +310,16 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class SimpleStadarCarDto implements Serializable{
|
|
|
//Y 行业车型编码
|
|
|
- @JsonProperty("modelCode")
|
|
|
+ @JSONField(name="modelCode")
|
|
|
private String modelCode;
|
|
|
//Y 座位数
|
|
|
- @JsonProperty("approvedPassengersCapacity")
|
|
|
+ @JSONField(name="approvedPassengersCapacity")
|
|
|
private int approvedPassengersCapacity;
|
|
|
//Y 精友车型编码
|
|
|
- @JsonProperty("localModelCode")
|
|
|
+ @JSONField(name="localModelCode")
|
|
|
private String localModelCode;
|
|
|
//Y 参见能源种类代码
|
|
|
- @JsonProperty("energyTypes")
|
|
|
+ @JSONField(name="energyTypes")
|
|
|
private String energyTypes;
|
|
|
|
|
|
public SimpleStadarCarDto(CarInfoVo carInfoVo,HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto) {
|
|
|
@@ -327,19 +339,22 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class SaleInfoDto implements Serializable{
|
|
|
//Y 代理人代码
|
|
|
- @JsonProperty("agentCode")
|
|
|
+ @JSONField(name="agentCode")
|
|
|
private String agentCode;
|
|
|
//Y 代理协议编码
|
|
|
- @JsonProperty("agreementNo")
|
|
|
+ @JSONField(name="agreementNo")
|
|
|
private String agreementNo;
|
|
|
//Y 机构代码
|
|
|
- @JsonProperty("comCode")
|
|
|
+ @JSONField(name="comCode")
|
|
|
private String comCode;
|
|
|
//Y 活动ID(通过活动查询接口获得)
|
|
|
- @JsonProperty("promoteSalePlanID")
|
|
|
+ @JSONField(name="promoteSalePlanID")
|
|
|
private String promoteSalePlanID;
|
|
|
public SaleInfoDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
this.agentCode = huaTaiConfigureParameters.getAgentCode();
|
|
|
+ this.agreementNo = huaTaiConfigureParameters.getAgreementNo();
|
|
|
+ this.comCode = huaTaiConfigureParameters.getComCode();
|
|
|
+ this.promoteSalePlanID = "2200000001";//后期需维护
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -350,26 +365,27 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
public static class ContractDto implements Serializable{
|
|
|
private static final long serialVersionUID = -8141574495483504299L;
|
|
|
//Y 业务主信息
|
|
|
- @JsonProperty("contractMain")
|
|
|
+ @JSONField(name="contractMain")
|
|
|
private ContractMainDto contractMain;
|
|
|
//Y 投保险别列表
|
|
|
- @JsonProperty("coverage")
|
|
|
+ @JSONField(name="coverage")
|
|
|
private List<CoverageDto> coverage;
|
|
|
//Y 平台交互信息
|
|
|
- @JsonProperty("platFormMessage")
|
|
|
+ @JSONField(name="platFormMessage")
|
|
|
private PlatFormMessageDto platFormMessage;
|
|
|
//CY 车船税信息(交强险节点下传值)
|
|
|
- @JsonProperty("tax")
|
|
|
+ @JSONField(name="tax")
|
|
|
private TaxDto tax;
|
|
|
//CY 充电桩信息(列表)
|
|
|
- @JsonProperty("ChargingPost")
|
|
|
+ @JSONField(name="ChargingPost")
|
|
|
private List<ChargingPostDto> chargingPost;
|
|
|
|
|
|
- public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax, HuaTaiActualValueResponse actualValueResponse) {
|
|
|
+ public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, List<KindInfoVo> kindInfoVos, Integer quantity,VehicleAndVesselTax vesselTax, HuaTaiActualValueResponse actualValueResponse, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
List<ContractDto> contractDTOS = new ArrayList<>();
|
|
|
for (RiskInfoVo riskInfoVo : riskInfoVos) {
|
|
|
ContractDto contractDto = new ContractDto();
|
|
|
- contractMain = new ContractMainDto(riskInfoVo);
|
|
|
+ this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters);
|
|
|
+ contractDto.setContractMain(contractMain);
|
|
|
if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
|
|
|
contractDto.coverage = Collections.singletonList(new ContractDto.CoverageDto().fetchTraffic(contractMain));
|
|
|
contractDto.tax = new ContractDto.TaxDto(vesselTax);
|
|
|
@@ -385,25 +401,27 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class ContractMainDto implements Serializable{
|
|
|
//CY 报价单号(初次报价为空,同一单再次报价需传入之前接口返回的值)
|
|
|
- @JsonProperty("contractNo")
|
|
|
+ @JSONField(name="contractNo")
|
|
|
private String contractNo;
|
|
|
//Y 经办人代码
|
|
|
- @JsonProperty("handlerCode")
|
|
|
+ @JSONField(name="handlerCode")
|
|
|
private String handlerCode;
|
|
|
//Y 参见险种代码
|
|
|
- @JsonProperty("riskCode")
|
|
|
+ @JSONField(name="riskCode")
|
|
|
private String riskCode;
|
|
|
//Y 起保日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("validDate")
|
|
|
+ @JSONField(name="validDate")
|
|
|
private String validDate;
|
|
|
//Y 终保日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("expiryDate")
|
|
|
+ @JSONField(name="expiryDate")
|
|
|
private String expiryDate;
|
|
|
//Y 生成日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("productionDate")
|
|
|
+ @JSONField(name="productionDate")
|
|
|
private String productionDate;
|
|
|
- public ContractMainDto(RiskInfoVo riskInfoVo) {
|
|
|
- this.riskCode = InsuranceTypeCorrespondence.getRisk().get(riskInfoVo.getRiskCode());
|
|
|
+ public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
|
|
|
+ this.handlerCode = huaTaiConfigureParameters.getOperatorCode();
|
|
|
String startDate = riskInfoVo.getStartDate();
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
LocalDate localDate = LocalDate.parse(startDate, formatter);
|
|
|
@@ -420,41 +438,41 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
this.expiryDate = expiryDateTime.format(formatter);
|
|
|
}
|
|
|
|
|
|
- this.productionDate = "";
|
|
|
+ this.productionDate = df.format(new Date());
|
|
|
}
|
|
|
}
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
public static class CoverageDto implements Serializable{
|
|
|
//Y 保额(传值要求参见险别代码)
|
|
|
- @JsonProperty("amount")
|
|
|
+ @JSONField(name="amount")
|
|
|
private double amount;
|
|
|
//Y 起保日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("validDate")
|
|
|
+ @JSONField(name="validDate")
|
|
|
private String validDate;
|
|
|
//Y 终保日期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("expiryDate")
|
|
|
+ @JSONField(name="expiryDate")
|
|
|
private String expiryDate;
|
|
|
//Y 参见险别代码
|
|
|
- @JsonProperty("kindCode")
|
|
|
+ @JSONField(name="kindCode")
|
|
|
private String kindCode;
|
|
|
//Y 险别名称(传值要求参见险别代码)
|
|
|
- @JsonProperty("kindName")
|
|
|
+ @JSONField(name="kindName")
|
|
|
private String kindName;
|
|
|
//CY 单位保额(传值要求参见险别代码)
|
|
|
- @JsonProperty("unitAmount")
|
|
|
+ @JSONField(name="unitAmount")
|
|
|
private String unitAmount;
|
|
|
//CY 数量(乘客险录入值为座位数-1,其他险别无需录入)
|
|
|
- @JsonProperty("quantity")
|
|
|
+ @JSONField(name="quantity")
|
|
|
private String quantity;
|
|
|
//CY 服务次数(传值要求参见险别代码)
|
|
|
- @JsonProperty("serviceTimes")
|
|
|
+ @JSONField(name="serviceTimes")
|
|
|
private String serviceTimes;
|
|
|
//CY 免赔率(车损险可传,传值要求参见险别代码)
|
|
|
- @JsonProperty("deductibleRate")
|
|
|
+ @JSONField(name="deductibleRate")
|
|
|
private String deductibleRate;
|
|
|
//CY 可选免赔额(附加绝对免赔率特约条款必传,传值要求参见险别代码)
|
|
|
- @JsonProperty("deductible")
|
|
|
+ @JSONField(name="deductible")
|
|
|
private String deductible;
|
|
|
|
|
|
/**
|
|
|
@@ -470,8 +488,8 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
CoverageDto coverageDto = new CoverageDto();
|
|
|
String code = kindInfoVo.getKindCode();
|
|
|
int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.getJinZhangGuiType(), code);
|
|
|
- String s = InsuranceTypeCorrespondence.getZmConnectInsuranceType()[i];
|
|
|
- ContractEnum contractEnum = Enum.valueOf(ContractEnum.class, "C_" + s);
|
|
|
+ String s = InsuranceTypeCorrespondence.getHuaTaiConnectInsuranceType()[i];
|
|
|
+ ContractEnum contractEnum = Enum.valueOf(ContractEnum.class, "H_" + s);
|
|
|
coverageDto.kindCode = contractEnum.getKindCode();
|
|
|
coverageDto.kindName = contractEnum.getKindName();
|
|
|
coverageDto.amount = (int) kindInfoVo.getAmount();
|
|
|
@@ -509,8 +527,8 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
*/
|
|
|
public CoverageDto fetchTraffic(ContractMainDto contractMain) {
|
|
|
this.amount = 200000;
|
|
|
- this.kindName = ContractEnum.C_BZ.getKindName();
|
|
|
- this.kindCode = ContractEnum.C_BZ.getKindCode();
|
|
|
+ this.kindName = ContractEnum.H_BZ.getKindName();
|
|
|
+ this.kindCode = ContractEnum.H_BZ.getKindCode();
|
|
|
this.validDate = contractMain.getValidDate();
|
|
|
this.expiryDate = contractMain.getExpiryDate();
|
|
|
return this;
|
|
|
@@ -521,73 +539,73 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class PlatFormMessageDto implements Serializable {
|
|
|
//CY 平台查询码
|
|
|
- @JsonProperty("querySequenceNo")
|
|
|
+ @JSONField(name="querySequenceNo")
|
|
|
private String querySequenceNo;
|
|
|
//CY 平台查询码(获取上年保单信息)
|
|
|
- @JsonProperty("querySequenceNoForBiRe")
|
|
|
+ @JSONField(name="querySequenceNoForBiRe")
|
|
|
private String querySequenceNoForBiRe;
|
|
|
//CY 平台校验图片转码后得到的验证码
|
|
|
- @JsonProperty("checkCode")
|
|
|
+ @JSONField(name="checkCode")
|
|
|
private String checkCode;
|
|
|
//CY 平台校验图片转码后得到的验证码(获取上年保单信息)
|
|
|
- @JsonProperty("checkCodeForBiRe")
|
|
|
+ @JSONField(name="checkCodeForBiRe")
|
|
|
private String checkCodeForBiRe;
|
|
|
}
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
public static class TaxDto implements Serializable{
|
|
|
//Y 参见纳税类型代码
|
|
|
- @JsonProperty("TaxConditionCode")
|
|
|
+ @JSONField(name="TaxConditionCode")
|
|
|
private String taxConditionCode;
|
|
|
//CY 缴税起期(完税必传)
|
|
|
- @JsonProperty("TaxStartDate")
|
|
|
+ @JSONField(name="TaxStartDate")
|
|
|
private String TaxStartDate;
|
|
|
//CY 缴税止期(完税必传)
|
|
|
- @JsonProperty("TaxEndDate")
|
|
|
+ @JSONField(name="TaxEndDate")
|
|
|
private String TaxEndDate;
|
|
|
//CY 开具税务机关代码(减税、免税、完税必传)
|
|
|
- @JsonProperty("TaxDepartmentCode")
|
|
|
+ @JSONField(name="TaxDepartmentCode")
|
|
|
private String TaxDepartmentCode;
|
|
|
//CY 开具税务机关名称(减税、免税、完税必传)
|
|
|
- @JsonProperty("TaxDepartment")
|
|
|
+ @JSONField(name="TaxDepartment")
|
|
|
private String TaxDepartment;
|
|
|
//CY 减税/免税/完税凭证号(减税、免税、完税必传)
|
|
|
- @JsonProperty("DocumentNumber")
|
|
|
+ @JSONField(name="DocumentNumber")
|
|
|
private String DocumentNumber;
|
|
|
//Y 纳税人是否同车主(1-是;0-否)
|
|
|
- @JsonProperty("isSameWithOwner")
|
|
|
+ @JSONField(name="isSameWithOwner")
|
|
|
private String isSameWithOwner;
|
|
|
//CY 纳税人证件类型代码,参见证件类型代码(纳税人不同车主时必填)
|
|
|
- @JsonProperty("taxpayerIdentifyType")
|
|
|
+ @JSONField(name="taxpayerIdentifyType")
|
|
|
private String taxpayerIdentifyType;
|
|
|
//CY 纳税人证件号码(纳税人不同车主时必填)
|
|
|
- @JsonProperty("TaxPayerIdentificationCode")
|
|
|
+ @JSONField(name="TaxPayerIdentificationCode")
|
|
|
private String TaxPayerIdentificationCode;
|
|
|
//CY 纳税人名称(纳税人不同车主时必填)
|
|
|
- @JsonProperty("TaxPayerName")
|
|
|
+ @JSONField(name="TaxPayerName")
|
|
|
private String TaxPayerName;
|
|
|
//CY 参见纳税地区代码(完税必传)
|
|
|
- @JsonProperty("taxLocationCode")
|
|
|
+ @JSONField(name="taxLocationCode")
|
|
|
private String taxLocationCode;
|
|
|
//CY 完税凭证填发日期(完税必传)(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("taxDocumentDate")
|
|
|
+ @JSONField(name="taxDocumentDate")
|
|
|
private String taxDocumentDate;
|
|
|
//CY 参见减免原因代码
|
|
|
- @JsonProperty("DeductionDueCode")
|
|
|
+ @JSONField(name="DeductionDueCode")
|
|
|
private String DeductionDueCode;
|
|
|
//CY 减免方案代码(1-按金额减免;2-按比例减免)
|
|
|
- @JsonProperty("DeductionDueType")
|
|
|
+ @JSONField(name="DeductionDueType")
|
|
|
private String DeductionDueType;
|
|
|
//CY 减免金额(减免方案为1时必传)
|
|
|
- @JsonProperty("Deduction")
|
|
|
+ @JSONField(name="Deduction")
|
|
|
private double Deduction;
|
|
|
//CY 减免比例(取值区间为0-100之间,减免方案为2时必传)
|
|
|
- @JsonProperty("DeductionDueProportion")
|
|
|
+ @JSONField(name="DeductionDueProportion")
|
|
|
private double DeductionDueProportion;
|
|
|
|
|
|
public TaxDto(VehicleAndVesselTax vesselTax){
|
|
|
|
|
|
- this.taxConditionCode = "";
|
|
|
+ this.taxConditionCode = "1N";
|
|
|
this.isSameWithOwner ="1";
|
|
|
}
|
|
|
}
|
|
|
@@ -595,31 +613,31 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
@Data
|
|
|
public static class ChargingPostDto implements Serializable{
|
|
|
//Y 充电桩序号
|
|
|
- @JsonProperty("itemNo")
|
|
|
+ @JSONField(name="itemNo")
|
|
|
private String itemNo;
|
|
|
//Y 充电桩型号
|
|
|
- @JsonProperty("chargingPostType")
|
|
|
+ @JSONField(name="chargingPostType")
|
|
|
private String chargingPostType;
|
|
|
//Y 充电桩编码
|
|
|
- @JsonProperty("chargingPostCode")
|
|
|
+ @JSONField(name="chargingPostCode")
|
|
|
private String chargingPostCode;
|
|
|
//Y 充电桩地址
|
|
|
- @JsonProperty("chargingPostAddress")
|
|
|
+ @JSONField(name="chargingPostAddress")
|
|
|
private String chargingPostAddress;
|
|
|
//Y 充电桩安装地点类型
|
|
|
- @JsonProperty("chargingPostAddressType")
|
|
|
+ @JSONField(name="chargingPostAddressType")
|
|
|
private String chargingPostAddressType;
|
|
|
//Y 充电桩种类
|
|
|
- @JsonProperty("chargingPostKind")
|
|
|
+ @JSONField(name="chargingPostKind")
|
|
|
private String chargingPostKind;
|
|
|
//Y 充电桩购买日期(格式:YYYY-MM-DD)
|
|
|
- @JsonProperty("chargingPostDate")
|
|
|
+ @JSONField(name="chargingPostDate")
|
|
|
private String chargingPostDate;
|
|
|
//CY UAP对应保额(投保UAP险必传,传值要求参见险别代码)
|
|
|
- @JsonProperty("amountUAP")
|
|
|
+ @JSONField(name="amountUAP")
|
|
|
private String amountUAP;
|
|
|
//CY UBP对应保额(投保UBP险必传,传值要求参见险别代码)
|
|
|
- @JsonProperty("amountUBP")
|
|
|
+ @JSONField(name="amountUBP")
|
|
|
private String amountUBP;
|
|
|
}
|
|
|
}
|
|
|
@@ -629,40 +647,40 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
public static class CustomerDto implements Serializable{
|
|
|
private static final long serialVersionUID = -931739185225437306L;
|
|
|
//CY 证件号码(个人客户必传)
|
|
|
- @JsonProperty("identifyNumber")
|
|
|
+ @JSONField(name="identifyNumber")
|
|
|
private String identifyNumber;
|
|
|
//Y 参见客户证件类型代码
|
|
|
- @JsonProperty("identifyType")
|
|
|
+ @JSONField(name="identifyType")
|
|
|
private String identifyType;
|
|
|
//Y 客户名称
|
|
|
- @JsonProperty("name")
|
|
|
+ @JSONField(name="name")
|
|
|
private String name;
|
|
|
//Y 客户角色身份(1-投保人;2-被保险人;3-车主)
|
|
|
- @JsonProperty("role")
|
|
|
+ @JSONField(name="role")
|
|
|
private String role;
|
|
|
//Y 手机号码
|
|
|
- @JsonProperty("mobile")
|
|
|
+ @JSONField(name="mobile")
|
|
|
private String mobile;
|
|
|
//Y 证件有效起期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("identifyValidDate")
|
|
|
+ @JSONField(name="identifyValidDate")
|
|
|
private String identifyValidDate;
|
|
|
//Y 证件有效止期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("identifyValidEndDate")
|
|
|
+ @JSONField(name="identifyValidEndDate")
|
|
|
private String identifyValidEndDate;
|
|
|
//Y 客户职业(传值要求通过职业查询接口获得)
|
|
|
- @JsonProperty("occupationCode")
|
|
|
+ @JSONField(name="occupationCode")
|
|
|
private String occupationCode;
|
|
|
//Y 客户类型(1-个人,2-机构)
|
|
|
- @JsonProperty("type")
|
|
|
+ @JSONField(name="type")
|
|
|
private String type;
|
|
|
//CY 办理人姓名(机构客户必录)
|
|
|
- @JsonProperty("transactorName")
|
|
|
+ @JSONField(name="transactorName")
|
|
|
private String transactorName;
|
|
|
//CY 组织机构代码(机构客户必录)
|
|
|
- @JsonProperty("organizeCode")
|
|
|
+ @JSONField(name="organizeCode")
|
|
|
private String organizeCode;
|
|
|
//Y 车辆与被保险人所属关系(1-所有;2-使用;3-管理)
|
|
|
- @JsonProperty("carInsuredRelation")
|
|
|
+ @JSONField(name="carInsuredRelation")
|
|
|
private String carInsuredRelation;
|
|
|
|
|
|
public CustomerDto(CustomerInfoVo customerInfoVo, String role) {
|
|
|
@@ -672,7 +690,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
|
|
|
this.mobile = customerInfoVo.getMobile();
|
|
|
this.type = "1";
|
|
|
this.role = role;
|
|
|
- //this.occupationCode = "";
|
|
|
+ this.occupationCode = "20114";//后续需要根据接口维护返参到表里
|
|
|
this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
|
|
|
this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
|
|
|
if("2".equals(role)){
|