package com.ydtech.modules.protocol.entity.dto; import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.BeanUtils; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; @Data @ApiModel("承保规则") public class PtlAgreementUndwrtRulesSaveDto { @ApiModelProperty("产品id") private String productId; @ApiModelProperty("产品名称") private String productName; @ApiModelProperty("规则描述") private String ruleDescription; @ApiModelProperty("规则类型(0满足拒保 1满足承包)") private Integer rulesType; @ApiModelProperty("是否有效(0 否 1 是 )") private String validInd; @ApiModelProperty("过户车(0 否 1 是 )") private Integer transfer; @ApiModelProperty("新旧车(0 否 1 是 )") private Integer oldAndNew; @ApiModelProperty("新能源(0 否 1 是 )") private Integer newEnergy; @ApiModelProperty("续保车(0 否 1 是 )") private Integer renewal; @ApiModelProperty("车辆大类") private String vehicleCategory; @ApiModelProperty("使用性质") private String natureOfUse; @ApiModelProperty("客车座位数(最小)") private Integer minSeats; @ApiModelProperty("客车座位数(最大)") private Integer maxSeats; @ApiModelProperty("货车吨位数(最小)") private Double minTruckTonnage; @ApiModelProperty("货车吨位数(最大)") private Double maxTruckTonnage; @ApiModelProperty("新车购置价(最小)") private Integer minPurchasePrice; @ApiModelProperty("新车购置价(最大)") private Integer maxPurchasePrice; @ApiModelProperty("核定载质量(最小)") private Double minApprovedLoadCapacity; @ApiModelProperty("核定载质量(最大)") private Double maxApprovedLoadCapacity; @ApiModelProperty("交强险保费(最小)") private Integer minCompulsoryInsurancePremium; @ApiModelProperty("交强险保费(最大)") private Integer maxCompulsoryInsurancePremium; @ApiModelProperty("车船税金额(最小)") private Integer minTaxAmount; @ApiModelProperty("车船税金额(最大)") private Integer maxTaxAmount; @ApiModelProperty("三者险保额(最小)") private Integer minTheThreePremium; @ApiModelProperty("三者险保额(最大)") private Integer maxTheThreePremium; @ApiModelProperty("随车产品保费(最小)") private Integer minOnboardProductsPremium; @ApiModelProperty("随车产品保费(最大)") private Integer maxOnboardProductsPremium; @ApiModelProperty("商业险折扣(最小)") private Double minCommercialInsuranceDiscount; @ApiModelProperty("商业险折扣(最大)") private Double maxCommercialInsuranceDiscount; @ApiModelProperty("交强险折扣(最小)") private Double minCompulsoryInsuranceDiscount; @ApiModelProperty("交强险折扣(最大)") private Double maxCompulsoryInsuranceDiscount; @ApiModelProperty("保司评分(最小)") private Double minScore; @ApiModelProperty("保司评分(最大)") private Double maxScore; @ApiModelProperty("预期赔付率(最小)") private Double minLossRation; @ApiModelProperty("预期赔付率(最大)") private Double maxLossRation; @ApiModelProperty("车牌号") private String licenseNumber; @ApiModelProperty("是否含暂未上牌") private String containNoLicense; @ApiModelProperty("司机险保额(最小)") private Integer minDriverAmount; @ApiModelProperty("司机险保额(最大)") private Integer maxDriverAmount; @ApiModelProperty("乘客险保额(最小)") private Integer minPassengerAmount; @ApiModelProperty("乘客险保额(最大)") private Integer maxPassengerAmount; @ApiModelProperty("司机乘客关联关系") private String driverPassengerRelation; @ApiModelProperty("方案匹配优先级") private Integer priorityLevel; @ApiModelProperty("被保人年龄(最小)") private Integer minInsureAge; @ApiModelProperty("被保人年龄(最大)") private Integer maxInsureAge; @ApiModelProperty("车主年龄(最小)") private Integer minCarOwnerAge; @ApiModelProperty("车主年龄(最大)") private Integer maxCarOwnerAge; @ApiModelProperty("医保外用任意险别") private Integer anyMedicalAmount; @ApiModelProperty("医保外用三者") private Integer thirdMedicalAmount; @ApiModelProperty("医保外用司机") private Integer driverMedicalAmount; @ApiModelProperty("医保外用乘客") private Integer passengerMedicalAmount; public static List toPltAgreementRuleSaveDto(List productCosts) { return productCosts.stream().map(PtlAgreementUndwrtRulesSaveDto::new).collect(Collectors.toList()); } public PtlAgreementUndwrtRulesSaveDto(PtlAgreementUndwrtRules ptlAgreementUndwrtRules) { BeanUtils.copyProperties(ptlAgreementUndwrtRules, this); } }