|
|
@@ -18,10 +18,10 @@ import java.util.Objects;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
|
-*@author: tz
|
|
|
-*@description: 规则属性映射费用因子Vo
|
|
|
-*@create: 2024-2-28 08:35:57
|
|
|
-*/
|
|
|
+ * @author: tz
|
|
|
+ * @description: 规则属性映射费用因子Vo
|
|
|
+ * @create: 2024-2-28 08:35:57
|
|
|
+ */
|
|
|
@Data
|
|
|
public class RuleAttrMappingVo {
|
|
|
@ApiModelProperty(value = "因子属性Code")
|
|
|
@@ -35,7 +35,7 @@ public class RuleAttrMappingVo {
|
|
|
this.value = value;
|
|
|
}
|
|
|
|
|
|
- public static List<RuleAttrMappingVo> getRuleAttrMappingVoList(InsAreaCompany insAreaCompany,InsOrders insOrders) {
|
|
|
+ public static List<RuleAttrMappingVo> getRuleAttrMappingVoList(InsAreaCompany insAreaCompany, InsOrders insOrders) {
|
|
|
List<RuleAttrMappingVo> ruleAttrMappingVoList = new ArrayList<>();
|
|
|
CarInfoVo carInfo = insOrders.getCarinfo().toJavaObject(CarInfoVo.class);
|
|
|
//车牌号
|
|
|
@@ -100,60 +100,73 @@ public class RuleAttrMappingVo {
|
|
|
//险别信息
|
|
|
kindInfoVos.forEach(kindInfoVo -> {
|
|
|
//机动车损失险
|
|
|
- if(InsurKind.A.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ if (InsurKind.A.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("MotorVehicleDamageInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
//第三者责任险
|
|
|
- if(InsurKind.B.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ if (InsurKind.B.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("ThirdPartyLiabilityInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
//司机责任险
|
|
|
- if(InsurKind.D3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ if (InsurKind.D3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("DriverLiabilityInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
//乘客责任险
|
|
|
- if(InsurKind.D4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ if (InsurKind.D4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("PassengerLiabilityInsurance", String.valueOf(kindInfoVo.getUnitAmount())));
|
|
|
//车身划痕险
|
|
|
- if(InsurKind.L.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ if (InsurKind.L.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("CarScratchInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
//绝对免赔率特约险(车损)
|
|
|
- if(InsurKind.MJ1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleDamageAbsoluteDeductibleSpecialInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.MJ1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleDamageAbsoluteDeductibleSpecialInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//绝对免赔率特约险(三者)
|
|
|
- if(InsurKind.MJ2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("ThirdAbsoluteDeductibleSpecialInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.MJ2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("ThirdAbsoluteDeductibleSpecialInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//绝对免赔率特约险(司机)
|
|
|
- if(InsurKind.MJ3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("DriverAbsoluteDeductibleSpecialInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.MJ3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("DriverAbsoluteDeductibleSpecialInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//绝对免赔率特约险(乘客)
|
|
|
- if(InsurKind.MJ4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("PassengerAbsoluteDeductibleSpecialInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.MJ4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("PassengerAbsoluteDeductibleSpecialInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//附加医保-三者
|
|
|
- if(InsurKind.SY_FJ_YBW1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("ThirdPartyAdditionalMedicalInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.SY_FJ_YBW1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("ThirdPartyAdditionalMedicalInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//附加医保-座位险(乘客)
|
|
|
- if(InsurKind.SY_FJ_YBW2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("PassengerAdditionalMedicalInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.SY_FJ_YBW2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("PassengerAdditionalMedicalInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//附加医保-座位险(司机)
|
|
|
- if(InsurKind.SY_FJ_YBW3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("DriverAdditionalMedicalInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.SY_FJ_YBW3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("DriverAdditionalMedicalInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//法定节假日限额翻倍险
|
|
|
- if(InsurKind.BD.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("LegalHolidayLimitDoublingInsurance", String.valueOf(kindInfoVo.getAmount())));
|
|
|
+ if (InsurKind.BD.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("LegalHolidayLimitDoublingInsurance",
|
|
|
+ String.valueOf(kindInfoVo.getAmount())));
|
|
|
//道路救援服务特约条款
|
|
|
- if(InsurKind.TY1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("RoadsideAssistanceServiceSpecialClause", String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
+ if (InsurKind.TY1.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("RoadsideAssistanceServiceSpecialClause",
|
|
|
+ String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
//车辆安全检测特约条款
|
|
|
- if(InsurKind.TY2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleSafetyInspectionSpecialClause", String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
+ if (InsurKind.TY2.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleSafetyInspectionSpecialClause",
|
|
|
+ String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
//代为驾驶服务特约条款
|
|
|
- if(InsurKind.TY3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("SubstituteDrivingServiceSpecialClause", String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
+ if (InsurKind.TY3.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("SubstituteDrivingServiceSpecialClause",
|
|
|
+ String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
//代为送检服务特约条款
|
|
|
- if(InsurKind.TY4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("SubstituteInspectionServiceSpecialClause", String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
+ if (InsurKind.TY4.getCode().equals(kindInfoVo.getKindCode()))
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("SubstituteInspectionServiceSpecialClause",
|
|
|
+ String.valueOf(kindInfoVo.getServiceTimes())));
|
|
|
});
|
|
|
|
|
|
//交强保费
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("CompulsoryTrafficAccidentLiabilityInsurancePremium", String.valueOf(insAreaCompany.getJqpremium())));
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("CompulsoryTrafficAccidentLiabilityInsurancePremium",
|
|
|
+ String.valueOf(insAreaCompany.getJqpremium())));
|
|
|
//车船税
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("VehicleandVesselTax", String.valueOf(insAreaCompany.getTaxamount())));
|
|
|
//非车险
|
|
|
@@ -166,7 +179,7 @@ public class RuleAttrMappingVo {
|
|
|
// ruleAttrMappingVoList.add(new RuleAttrMappingVo("CommercialDiscount", String.valueOf(quoteRespVo.getSyAdjustRate())));
|
|
|
//数值型总评分
|
|
|
Pattern pattern = Pattern.compile("[0-9]*");
|
|
|
- if(insAreaCompany.getScore() != null) {
|
|
|
+ if (insAreaCompany.getScore() != null) {
|
|
|
if (pattern.matcher(insAreaCompany.getScore()).matches()) {
|
|
|
//数值型评分
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("NumericalOverallRating", String.valueOf(insAreaCompany.getScore())));
|
|
|
@@ -176,24 +189,26 @@ public class RuleAttrMappingVo {
|
|
|
}
|
|
|
}
|
|
|
//交强评分
|
|
|
- if(insAreaCompany.getJqScore() != null){
|
|
|
- if(pattern.matcher(insAreaCompany.getJqScore()).matches()) {
|
|
|
+ if (insAreaCompany.getJqScore() != null) {
|
|
|
+ if (pattern.matcher(insAreaCompany.getJqScore()).matches()) {
|
|
|
//数值型评分
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("CompulsoryInsuranceRating", String.valueOf(insAreaCompany.getJqScore())));
|
|
|
} else {
|
|
|
//字母型评分
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("CharacterBasedCompulsoryInsuranceRating", String.valueOf(insAreaCompany.getJqScore())));
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("CharacterBasedCompulsoryInsuranceRating",
|
|
|
+ String.valueOf(insAreaCompany.getJqScore())));
|
|
|
}
|
|
|
}
|
|
|
// ruleAttrMappingVoList.add(new RuleAttrMappingVo("CompulsoryInsuranceRating", String.valueOf(insAreaCompany.getJqScore())));
|
|
|
//商业评分
|
|
|
- if(insAreaCompany.getSyScore() != null){
|
|
|
- if(pattern.matcher(insAreaCompany.getSyScore()).matches()) {
|
|
|
+ if (insAreaCompany.getSyScore() != null) {
|
|
|
+ if (pattern.matcher(insAreaCompany.getSyScore()).matches()) {
|
|
|
//数值型评分
|
|
|
ruleAttrMappingVoList.add(new RuleAttrMappingVo("CommercialRating", String.valueOf(insAreaCompany.getSyScore())));
|
|
|
} else {
|
|
|
//字母型评分
|
|
|
- ruleAttrMappingVoList.add(new RuleAttrMappingVo("CharacterBasedCommercialRating", String.valueOf(insAreaCompany.getSyScore())));
|
|
|
+ ruleAttrMappingVoList.add(new RuleAttrMappingVo("CharacterBasedCommercialRating",
|
|
|
+ String.valueOf(insAreaCompany.getSyScore())));
|
|
|
}
|
|
|
}
|
|
|
//交强赔付率
|