| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424 |
- package com.ydtech.modules.protocol.entity.po;
- import com.baomidou.mybatisplus.annotation.IdType;
- import com.baomidou.mybatisplus.annotation.TableField;
- import com.baomidou.mybatisplus.annotation.TableId;
- import com.baomidou.mybatisplus.annotation.TableName;
- import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.springframework.beans.BeanUtils;
- import java.io.Serializable;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- /**
- * 协议承保规则
- *
- * @TableName ptl_agreement_undwrt_rules
- */
- @TableName(value = "ptl_agreement_undwrt_rules", autoResultMap = true)
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
- public class PtlAgreementUndwrtRules implements Serializable {
- private static final long serialVersionUID = -2096076927159362790L;
- /**
- * 主键/自增
- */
- @TableId(value = "id", type = IdType.AUTO)
- private String id;
- /**
- * 协议id
- */
- @TableField(value = "agreement_id")
- private String agreementId;
- /**
- * 规则类型(0满足拒保 1满足承包)
- */
- @TableField(value = "rules_type")
- private Integer rulesType;
- /**
- * 业务类型
- */
- @TableField(value = "product_type")
- private String productType;
- /**
- * 规则描述
- */
- @TableField(value = "rule_description")
- private String ruleDescription;
- /**
- * 是否有效(0 否 1 是 )
- */
- @TableField(value = "valid_ind")
- private String validInd;
- /**
- * 过户车(0 否 1 是 )
- */
- @TableField(value = "transfer")
- private Integer transfer;
- /**
- * 新旧车(0 否 1 是 )
- */
- @TableField(value = "old_and_new")
- private Integer oldAndNew;
- /**
- * 新能源车(0 否 1 是 )
- */
- @TableField(value = "new_energy")
- private Integer newEnergy;
- /**
- * 续保车(0 否 1 是 )
- */
- @TableField(value = "renewal")
- private Integer renewal;
- /**
- * 车辆大类
- */
- @TableField(value = "vehicle_category")
- private String vehicleCategory;
- /**
- * 使用性质
- */
- @TableField(value = "nature_of_use")
- private String natureOfUse;
- /**
- * 客车座位数(最小)
- */
- @TableField(value = "min_seats")
- private Integer minSeats;
- /**
- * 客车座位数(最大)
- */
- @TableField(value = "max_seats")
- private Integer maxSeats;
- /**
- * 货车吨位数(最小)
- */
- @TableField(value = "min_truck_tonnage")
- private Double minTruckTonnage;
- /**
- * 货车吨位数(最大)
- */
- @TableField(value = "max_truck_tonnage")
- private Double maxTruckTonnage;
- /**
- * 新车购置价(最小)
- */
- @TableField(value = "min_purchase_price")
- private Integer minPurchasePrice;
- /**
- * 新车购置价(最大)
- */
- @TableField(value = "max_purchase_price")
- private Integer maxPurchasePrice;
- /**
- * 核定载质量(最小)
- */
- @TableField(value = "min_approved_load_capacity")
- private Double minApprovedLoadCapacity;
- /**
- * 核定载质量(最大)
- */
- @TableField(value = "max_approved_load_capacity")
- private Double maxApprovedLoadCapacity;
- /**
- * 交强险保费(最小)
- */
- @TableField(value = "min_compulsory_insurance_premium")
- private Integer minCompulsoryInsurancePremium;
- /**
- * 交强险保费(最大)
- */
- @TableField(value = "max_compulsory_insurance_premium")
- private Integer maxCompulsoryInsurancePremium;
- /**
- * 车船税金额(最小)
- */
- @TableField(value = "min_tax_amount")
- private Integer minTaxAmount;
- /**
- * 车船税金额(最大)
- */
- @TableField(value = "max_tax_amount")
- private Integer maxTaxAmount;
- /**
- * 三者险保额(最小)
- */
- @TableField(value = "min_the_three_premium")
- private Integer minTheThreePremium;
- /**
- * 三者险保额(最大)
- */
- @TableField(value = "max_the_three_premium")
- private Integer maxTheThreePremium;
- /**
- * 随车产品保费(最小)
- */
- @TableField(value = "min_onboard_products_premium")
- private Integer minOnboardProductsPremium;
- /**
- * 随车产品保费(最大)
- */
- @TableField(value = "max_onboard_products_premium")
- private Integer maxOnboardProductsPremium;
- /**
- * 商业险折扣(最小)
- */
- @TableField(value = "min_commercial_insurance_discount")
- private Double minCommercialInsuranceDiscount;
- /**
- * 商业险折扣(最大)
- */
- @TableField(value = "max_commercial_insurance_discount")
- private Double maxCommercialInsuranceDiscount;
- /**
- * 交强险折扣(最小)
- */
- @TableField(value = "min_compulsory_insurance_discount")
- private Double minCompulsoryInsuranceDiscount;
- /**
- * 交强险折扣(最大)
- */
- @TableField(value = "max_compulsory_insurance_discount")
- private Double maxCompulsoryInsuranceDiscount;
- /**
- * 保司评分(最小)
- */
- @TableField(value = "min_score")
- private Double minScore;
- /**
- * 保司评分(最大)
- */
- @TableField(value = "max_score")
- private Double maxScore;
- /**
- * 预期赔付率(最小)
- */
- @TableField(value = "min_loss_ration")
- private Double minLossRation;
- /**
- * 预期赔付率(最大)
- */
- @TableField(value = "max_loss_ration")
- private Double maxLossRation;
- /**
- * 车牌号
- */
- @TableField(value = "license_number")
- private String licenseNumber;
- /**
- * 车牌因子是否含暂未上牌
- */
- @TableField(value = "contain_noLicense")
- private String containNoLicense;
- /**
- * 司机险保额(最小)
- */
- @TableField(value = "min_driver_amount")
- private Integer minDriverAmount;
- /**
- * 司机险保额(最大)
- */
- @TableField(value = "max_driver_amount")
- private Integer maxDriverAmount;
- /**
- * 乘客险保额(最小)
- */
- @TableField(value = "min_passenger_amount")
- private Integer minPassengerAmount;
- /**
- * 乘客险保额(最大)
- */
- @TableField(value = "max_passenger_amount")
- private Integer maxPassengerAmount;
- /**
- * 司机乘客关联关系
- */
- @TableField(value = "driver_passenger_relation")
- private String driverPassengerRelation;
- /**
- * 被保人年龄(最小)
- */
- @TableField(value = "min_insure_age")
- private Integer minInsureAge;
- /**
- * 被保人年龄(最大)
- */
- @TableField(value = "max_insure_age")
- private Integer maxInsureAge;
- /**
- * 车主年龄(最小)
- */
- @TableField(value = "min_car_owner_age")
- private Integer minCarOwnerAge;
- /**
- * 车主年龄(最大)
- */
- @TableField(value = "max_car_owner_age")
- private Integer maxCarOwnerAge;
- /**
- * 医保外用任意险别
- */
- @TableField(value = "any_medical_amount")
- private Integer anyMedicalAmount;
- /**
- * 医保外用三者
- */
- @TableField(value = "third_medical_amount")
- private Integer thirdMedicalAmount;
- /**
- * 医保外用司机
- */
- @TableField(value = "driver_medical_amount")
- private Integer driverMedicalAmount;
- /**
- * 医保外用乘客
- */
- @TableField(value = "passenger_medical_amount")
- private Integer passengerMedicalAmount;
- /**
- * @param agreementId 协议id
- * @param ptlAgreementUndwrtRulesSaveDtoList 协议费用 Dto list
- * @return List<PtlAgreementProductCosts>
- */
- public static List<PtlAgreementUndwrtRules> toPtlAgreementUndwrtRulesSaveDtoList(String agreementId, List<PtlAgreementUndwrtRulesSaveDto> ptlAgreementUndwrtRulesSaveDtoList) {
- return ptlAgreementUndwrtRulesSaveDtoList.stream().map(ptlAgreementUndwrtRulesSaveDto -> new PtlAgreementUndwrtRules(agreementId, ptlAgreementUndwrtRulesSaveDto)).collect(Collectors.toList());
- }
- public PtlAgreementUndwrtRules(String agreementId, PtlAgreementUndwrtRulesSaveDto ptlAgreementUndwrtRulesSaveDto) {
- this.agreementId = agreementId;
- BeanUtils.copyProperties(ptlAgreementUndwrtRulesSaveDto, this);
- }
- public static int getObjectHashCode(Object o, int result) {
- return 31 * result + (o != null ? o.hashCode() : 0);
- }
- public int getHashCode() {
- int result = 0;
- result = getObjectHashCode(this.agreementId, result);
- result = getObjectHashCode(this.productType, result);
- result = getObjectHashCode(this.transfer, result);
- result = getObjectHashCode(this.oldAndNew, result);
- result = getObjectHashCode(this.newEnergy, result);
- result = getObjectHashCode(this.renewal, result);
- result = getObjectHashCode(this.vehicleCategory, result);
- result = getObjectHashCode(this.natureOfUse, result);
- result = getObjectHashCode(this.minSeats, result);
- result = getObjectHashCode(this.maxSeats, result);
- result = getObjectHashCode(this.minTruckTonnage, result);
- result = getObjectHashCode(this.maxTruckTonnage, result);
- result = getObjectHashCode(this.minPurchasePrice, result);
- result = getObjectHashCode(this.maxPurchasePrice, result);
- result = getObjectHashCode(this.minApprovedLoadCapacity, result);
- result = getObjectHashCode(this.maxApprovedLoadCapacity, result);
- result = getObjectHashCode(this.minCompulsoryInsurancePremium, result);
- result = getObjectHashCode(this.maxCompulsoryInsurancePremium, result);
- result = getObjectHashCode(this.minTaxAmount, result);
- result = getObjectHashCode(this.maxTaxAmount, result);
- result = getObjectHashCode(this.minTheThreePremium, result);
- result = getObjectHashCode(this.maxTheThreePremium, result);
- result = getObjectHashCode(this.minOnboardProductsPremium, result);
- result = getObjectHashCode(this.maxOnboardProductsPremium, result);
- result = getObjectHashCode(this.minCommercialInsuranceDiscount, result);
- result = getObjectHashCode(this.maxCommercialInsuranceDiscount, result);
- result = getObjectHashCode(this.minCompulsoryInsuranceDiscount, result);
- result = getObjectHashCode(this.maxCompulsoryInsuranceDiscount, result);
- result = getObjectHashCode(this.minScore, result);
- result = getObjectHashCode(this.maxScore, result);
- result = getObjectHashCode(this.minLossRation, result);
- result = getObjectHashCode(this.maxLossRation, result);
- result = getObjectHashCode(this.licenseNumber, result);
- result = getObjectHashCode(this.ruleDescription, result);
- result = getObjectHashCode(this.containNoLicense, result);
- result = getObjectHashCode(this.minDriverAmount, result);
- result = getObjectHashCode(this.maxDriverAmount, result);
- result = getObjectHashCode(this.minPassengerAmount, result);
- result = getObjectHashCode(this.maxPassengerAmount, result);
- result = getObjectHashCode(this.driverPassengerRelation, result);
- result = getObjectHashCode(this.minInsureAge,result);
- result = getObjectHashCode(this.maxInsureAge,result);
- result = getObjectHashCode(this.minCarOwnerAge,result);
- result = getObjectHashCode(this.maxCarOwnerAge,result);
- result = getObjectHashCode(this.anyMedicalAmount,result);
- result = getObjectHashCode(this.thirdMedicalAmount,result);
- result = getObjectHashCode(this.driverMedicalAmount,result);
- result = getObjectHashCode(this.passengerMedicalAmount,result);
- return result;
- }
- public static Map<Integer, PtlAgreementUndwrtRules> getIntegerMap(List<PtlAgreementUndwrtRules> ptlAgreementUndwrtRulesList) {
- Map<Integer, PtlAgreementUndwrtRules> map = new HashMap<>();
- ptlAgreementUndwrtRulesList.forEach(x -> {
- int hashCode = x.getHashCode();
- map.put(hashCode, x);
- });
- return map;
- }
- }
|