|
|
@@ -11,6 +11,7 @@ import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
|
import com.ydtech.modules.ins.model.vo.RiskInfoVo;
|
|
|
import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
|
|
|
import com.ydtech.modules.order.entity.api.zj.constants.DateTimeConstants;
|
|
|
+import com.ydtech.modules.order.entity.api.zj.constants.enums.CarKindDetailIdEnum;
|
|
|
import com.ydtech.modules.order.entity.api.zj.constants.enums.MotorVehicleInsuranceEnum;
|
|
|
import com.ydtech.modules.order.entity.api.zj.constants.enums.RiskCodeEnum;
|
|
|
import com.ydtech.modules.order.entity.api.zj.response.ModelQueryResponse;
|
|
|
@@ -444,11 +445,226 @@ public class CalculatePremiumRequest implements Serializable {
|
|
|
@JsonProperty("vinNo")
|
|
|
private String vinNo;
|
|
|
|
|
|
+ /**
|
|
|
+ * 车辆品牌型号
|
|
|
+ */
|
|
|
+ @JsonProperty("brandName")
|
|
|
+ private String brandName;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 被保险人与车辆所有关系
|
|
|
+ * 1-所有 2-使用 3-管理
|
|
|
+ */
|
|
|
+ @JsonProperty("carInsuredRelation")
|
|
|
+ private String carInsuredRelation;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 车辆种类代码
|
|
|
+ */
|
|
|
+ @JsonProperty("carKindCode")
|
|
|
+ private String carKindCode;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 车种明细
|
|
|
+ */
|
|
|
+ @JsonProperty("carKindDetailId")
|
|
|
+ private String carKindDetailId;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 特殊车辆标志
|
|
|
+ */
|
|
|
+ @JsonProperty("carLoanFlag")
|
|
|
+ private String carLoanFlag;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 发票日期
|
|
|
+// */
|
|
|
+// @JsonProperty("certificateDate")
|
|
|
+// private String certificateDate;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 整备质量/kg
|
|
|
+// */
|
|
|
+// @JsonProperty("completekerbmass")
|
|
|
+// private String completekerbmass;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 排量单位/毫升
|
|
|
+ */
|
|
|
+ @JsonProperty("exhaustCapacity")
|
|
|
+ private String exhaustCapacity;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 车辆类别
|
|
|
+// */
|
|
|
+// @JsonProperty("importFlag")
|
|
|
+// private String importFlag;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 转移登记日期
|
|
|
+ */
|
|
|
+ @JsonProperty("makeDate")
|
|
|
+ private String makeDate;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 跨省首年投保未出险的证明年数
|
|
|
+// */
|
|
|
+// @JsonProperty("noDamageYears")
|
|
|
+// private String noDamageYears;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 行驶证车辆类型代码
|
|
|
+ */
|
|
|
+ @JsonProperty("oriCarKindName")
|
|
|
+ private String oriCarKindName;
|
|
|
+ /**
|
|
|
+ * 车辆品牌
|
|
|
+ */
|
|
|
+
|
|
|
+ @JsonProperty("oriModelName")
|
|
|
+ private String oriModelName;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 行业车型编码
|
|
|
+ */
|
|
|
+ @JsonProperty("platVehicleCode")
|
|
|
+ private String platVehicleCode;
|
|
|
+// /**
|
|
|
+// * 吨位数/吨
|
|
|
+// * 车辆类型为货车时,必传
|
|
|
+// */
|
|
|
+//
|
|
|
+// @JsonProperty("tonCount")
|
|
|
+// private String tonCount;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 0-非网约车 1-预约出租租赁 2-预约出租客运
|
|
|
+// * 营业出租租赁时必填,其他情况不填
|
|
|
+// */
|
|
|
+// @JsonProperty("zlFlag")
|
|
|
+// private String zlFlag;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 新能源车标志
|
|
|
+// * 新能源车必传1-是;0-否
|
|
|
+// */
|
|
|
+// @JsonProperty("newEnergyFlag")
|
|
|
+// private String newEnergyFlag;
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 纯电续航里程(公里)
|
|
|
+// * 新能源车必传
|
|
|
+// */
|
|
|
+// @JsonProperty("pureRange")
|
|
|
+// private String pureRange;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 精友能源种类
|
|
|
+ */
|
|
|
+ @JsonProperty("modelEnergyType")
|
|
|
+ private String modelEnergyType;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 能源种类
|
|
|
+// * 新能源车必传 (1 纯电动)
|
|
|
+// */
|
|
|
+// @JsonProperty("fuelType")
|
|
|
+// private String fuelType;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 是否4S店销,售广东(非深圳)新车必录
|
|
|
+// */
|
|
|
+
|
|
|
+// @JsonProperty("sale4SFlag")
|
|
|
+// private String sale4SFlag;
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 新车销售公司所在地市代码,广东(非深圳)新车必录
|
|
|
+// */
|
|
|
+// @JsonProperty("saleAreaCode")
|
|
|
+// private String saleAreaCode;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 新车销售公司名称,广东(非深圳)新车必录
|
|
|
+// */
|
|
|
+// @JsonProperty("saleCompany")
|
|
|
+// private String saleCompany;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 打印使用性质类型(货车必传)
|
|
|
+// * 0003 货车
|
|
|
+// * 0004 危货
|
|
|
+// */
|
|
|
+// @JsonProperty("printUseNatureCode")
|
|
|
+// private String printUseNatureCode;
|
|
|
+// /**
|
|
|
+// * 车队协议号
|
|
|
+// */
|
|
|
+//
|
|
|
+// @JsonProperty("contractNo")
|
|
|
+// private String contractNo;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 团车车辆编码
|
|
|
+// */
|
|
|
+// @JsonProperty("contractSerialNo")
|
|
|
+// private String contractSerialNo;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否外地车标志
|
|
|
+ */
|
|
|
+ @JsonProperty("ecdemicVehicleFlag")
|
|
|
+ private String ecdemicVehicleFlag;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印车型
|
|
|
+ */
|
|
|
+ @JsonProperty("printModelName")
|
|
|
+ private String printModelName;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 功率(千瓦)
|
|
|
+ */
|
|
|
+ @JsonProperty("power")
|
|
|
+ private String power;
|
|
|
+ /**
|
|
|
+ * 原始新车购置价
|
|
|
+ */
|
|
|
+
|
|
|
+ @JsonProperty("oriPurchasePrice")
|
|
|
+ private String oriPurchasePrice;
|
|
|
+ /**
|
|
|
+ * 原始车辆型号
|
|
|
+ */
|
|
|
+
|
|
|
+ @JsonProperty("oriBrandName")
|
|
|
+ private String oriBrandName;
|
|
|
+ /**
|
|
|
+ * 车型唯一ID
|
|
|
+ */
|
|
|
+
|
|
|
+ @JsonProperty("vehicleStyleUniqueId")
|
|
|
+ private String vehicleStyleUniqueId;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否调用精友预填
|
|
|
+ */
|
|
|
+ @JsonProperty("isInvokeJingYou")
|
|
|
+ private String isInvokeJingYou;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 交强险过户日期
|
|
|
+// */
|
|
|
+// @JsonProperty("makeDateJQ")
|
|
|
+// private String makeDateJQ;
|
|
|
+
|
|
|
+
|
|
|
public VehicleInfoDTO(CarInfoVo carInfo, ModelQueryResponse.VehicleModelInfosDTO vehicleModelInfosDTO, String actualValue) {
|
|
|
this.actualValue = actualValue;
|
|
|
this.agreeActualValue = actualValue;
|
|
|
if (carInfo.isTransferFlag()) {
|
|
|
this.chgOwnerFlag = "1";
|
|
|
+ this.makeDate = carInfo.getIssueDate();
|
|
|
} else {
|
|
|
this.chgOwnerFlag = "0";
|
|
|
}
|
|
|
@@ -465,7 +681,40 @@ public class CalculatePremiumRequest implements Serializable {
|
|
|
this.vehicleId = vehicleModelInfosDTO.getVehicleId();
|
|
|
|
|
|
this.vinNo = carInfo.getVinNo();
|
|
|
+ this.brandName = vehicleModelInfosDTO.getBrand();
|
|
|
+ this.carInsuredRelation = "1";
|
|
|
+ this.carKindCode = "A0";
|
|
|
+ this.carKindDetailId = getCarKindDetailId(Integer.parseInt(carInfo.getSeatCount()));
|
|
|
+ this.carLoanFlag = "0";
|
|
|
+ this.exhaustCapacity = vehicleModelInfosDTO.getExhaustCapacity();
|
|
|
+ this.oriCarKindName = "K33";
|
|
|
+ this.platVehicleCode = vehicleModelInfosDTO.getPlatVehicleCode();
|
|
|
+ this.modelEnergyType = vehicleModelInfosDTO.getPowerTypeCode();
|
|
|
+ this.ecdemicVehicleFlag = "0";
|
|
|
+ this.printModelName = vehicleModelInfosDTO.getModelName();
|
|
|
+ this.power = vehicleModelInfosDTO.getPower();
|
|
|
+ this.oriPurchasePrice = vehicleModelInfosDTO.getPurchasePrice();
|
|
|
+ this.oriBrandName = vehicleModelInfosDTO.getBrand();
|
|
|
+ this.oriModelName = vehicleModelInfosDTO.getModelName();
|
|
|
+ this.vehicleStyleUniqueId = vehicleModelInfosDTO.getVehicleId();
|
|
|
+ this.isInvokeJingYou = "1";
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+ public String getCarKindDetailId(int seatCount) {
|
|
|
+ if (seatCount < 6) {
|
|
|
+ return CarKindDetailIdEnum.KA.getCode();
|
|
|
+ } else if (seatCount < 10) {
|
|
|
+ return CarKindDetailIdEnum.KB.getCode();
|
|
|
+ } else if (seatCount < 20) {
|
|
|
+ return CarKindDetailIdEnum.KC.getCode();
|
|
|
+ } else if (seatCount < 36) {
|
|
|
+ return CarKindDetailIdEnum.KD.getCode();
|
|
|
+ } else{
|
|
|
+ return CarKindDetailIdEnum.KE.getCode();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -636,7 +885,7 @@ public class CalculatePremiumRequest implements Serializable {
|
|
|
itemKindListDTO.deductibleRate = kindInfoVo.getDeductibleRate();
|
|
|
} else if (InsurKind.A.getCode().equals(code)) {
|
|
|
itemKindListDTO.amount = actualValue;
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
itemKindListDTO.amount = String.valueOf(kindInfoVo.getAmount());
|
|
|
}
|
|
|
list.add(itemKindListDTO);
|