diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/AssertUtil.java b/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/AssertUtil.java index 77e5102..9424a6a 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/AssertUtil.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/AssertUtil.java @@ -3,16 +3,63 @@ package com.abin.mallchat.common.common.utils; import cn.hutool.core.util.ObjectUtil; import com.abin.mallchat.common.common.exception.BusinessErrorEnum; import com.abin.mallchat.common.common.exception.BusinessException; +import com.abin.mallchat.common.common.exception.CommonErrorEnum; import com.abin.mallchat.common.common.exception.ErrorEnum; +import org.hibernate.validator.HibernateValidator; +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import javax.validation.Validator; import java.text.MessageFormat; -import java.util.Objects; +import java.util.*; /** * 校验工具类 */ public class AssertUtil { + /** + * 校验到失败就结束 + */ + private static Validator failFastValidator = Validation.byProvider(HibernateValidator.class) + .configure() + .failFast(true) + .buildValidatorFactory().getValidator(); + + /** + * 全部校验 + */ + private static Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); + + /** + * 注解验证参数(校验到失败就结束) + * @param obj + */ + public static void fastFailValidate(T obj) { + Set> constraintViolations = failFastValidator.validate(obj); + if (constraintViolations.size() > 0) { + throwException(CommonErrorEnum.PARAM_VALID,constraintViolations.iterator().next().getMessage()); + } + } + + /** + * 注解验证参数(全部校验,返回异常信息集合) + * @param obj + */ + public static List allCheckValidate(T obj) { + Set> constraintViolations = validator.validate(obj); + if (constraintViolations.size() > 0) { + List errorMessages = new LinkedList(); + Iterator> iterator = constraintViolations.iterator(); + while (iterator.hasNext()) { + ConstraintViolation violation = iterator.next(); + errorMessages.add(violation.getMessage()); + } + return errorMessages; + } + return new LinkedList(); + } + //如果不是true,则抛异常 public static void isTrue(boolean expression, String msg) { if (!expression) {