package com.nova.sankuai.infra.validation; import com.nova.sankuai.domain.enums.ProfessionInfoEnum; import com.nova.sankuai.domain.enums.customerinfo.*; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; /** *

* 判断值是否在指定集合内 *

* * @author Zhangjc * @since 2021/11/18 */ public class CheckPlatformEnumImpl implements ConstraintValidator { private String type; @Override public void initialize(CheckPlatformEnum constraintAnnotation) { type = constraintAnnotation.values(); } @Override public boolean isValid(Integer aInt, ConstraintValidatorContext constraintValidatorContext) { if (aInt == null) { return true; } String value = null; switch (type) { case "largeLoanAmount": value = LargeLoanAmountEnum.value(aInt); break; case "providentFund": value = ProvidentFundStatusEnum.value(aInt); break; case "houseStatus": value = HouseStatusEnum.value(aInt); break; case "carStatus": value = CarStatusEnum.value(aInt); break; case "insurancePolicy": value = InsuranceStatusEnum.value(aInt); break; case "enterpriseInfo": value = EnterpriseInfoEnum.value(aInt); break; case "payrollAgency": value = PayrollAgencyEnum.value(aInt); break; case "workStatus": value = WorkStatusEnum.value(aInt); break; case "creditCard": value = CreditCardStatusEnum.value(aInt); break; case "socialSecurity": value = SocialSecurityStatusEnum.value(aInt); break; case "professionInfo": value = ProfessionInfoEnum.value(aInt); break; case "sesame": value = SesameStatusEnum.value(aInt); break; case "monthlyIncome": value = MonthlyIncomeEnum.value(aInt); break; case "microLoan": value = MicroLoanEnum.value(aInt); break; case "houseAttributes": value = HouseAttributesEnum.value(aInt); break; case "housePayment": value = HousePaymentEnum.value(aInt); break; default: break; } if (value != null) { return true; } return false; } }