From a0183d12658d8c60651f34268b67fae29d8d47cc Mon Sep 17 00:00:00 2001 From: HandsomeNo2 <2935158192@qq.com> Date: Wed, 28 Jun 2023 23:53:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/common/utils/AssertUtil.java | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) 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) {