package com.baidu.dsp.common.constraint.validation; import java.math.BigDecimal; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import com.baidu.dsp.common.constraint.DoubleMin; /** * @author liaoqiqi */ public class MinValidatorForDouble implements ConstraintValidator<DoubleMin, Double> { private double minValue; public void initialize(DoubleMin minValue) { this.minValue = minValue.value(); } public boolean isValid(Double value, ConstraintValidatorContext constraintValidatorContext) { // null values are valid if (value == null) { return true; } BigDecimal premium = BigDecimal.valueOf(value); BigDecimal netToCompany = BigDecimal.valueOf(minValue); BigDecimal commission = premium.subtract(netToCompany); return commission.compareTo(BigDecimal.ZERO) >= 0; } }