mirror of
				https://github.com/continew-org/continew-starter.git
				synced 2025-10-31 22:57:19 +08:00 
			
		
		
		
	chore(core): 移除多余的校验工具类
This commit is contained in:
		| @@ -1,204 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. |  | ||||||
|  * <p> |  | ||||||
|  * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * <p> |  | ||||||
|  * http://www.gnu.org/licenses/lgpl.html |  | ||||||
|  * <p> |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| package top.continew.starter.core.util.validate; |  | ||||||
|  |  | ||||||
| import cn.hutool.core.text.CharSequenceUtil; |  | ||||||
| import top.continew.starter.core.constant.StringConstants; |  | ||||||
| import top.continew.starter.core.exception.BusinessException; |  | ||||||
|  |  | ||||||
| import java.util.function.BooleanSupplier; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * 业务参数校验工具类(抛出 500 ServiceException) |  | ||||||
|  * |  | ||||||
|  * @author Charles7c |  | ||||||
|  * @see BusinessException |  | ||||||
|  * @since 1.0.0 |  | ||||||
|  */ |  | ||||||
| public class CheckUtils extends Validator { |  | ||||||
|  |  | ||||||
|     private static final Class<BusinessException> EXCEPTION_TYPE = BusinessException.class; |  | ||||||
|  |  | ||||||
|     private CheckUtils() { |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不存在,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj        被检测的对象 |  | ||||||
|      * @param entityName 实体名 |  | ||||||
|      * @param fieldName  字段名 |  | ||||||
|      * @param fieldValue 字段值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotExists(Object obj, String entityName, String fieldName, Object fieldValue) { |  | ||||||
|         String message = "%s 为 [%s] 的 %s 记录已不存在".formatted(fieldName, fieldValue, CharSequenceUtil |  | ||||||
|             .replace(entityName, "DO", StringConstants.EMPTY)); |  | ||||||
|         throwIfNull(obj, message, EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNull(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNull(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotNull(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNotNull(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果存在,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj        被检测的对象 |  | ||||||
|      * @param entityName 实体名 |  | ||||||
|      * @param fieldName  字段名 |  | ||||||
|      * @param fieldValue 字段值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfExists(Object obj, String entityName, String fieldName, Object fieldValue) { |  | ||||||
|         String message = "%s 为 [%s] 的 %s 记录已存在".formatted(fieldName, fieldValue, entityName); |  | ||||||
|         throwIfNotNull(obj, message, EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEmpty(Object obj, String template, Object... params) { |  | ||||||
|         throwIfEmpty(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEmpty(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNotEmpty(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str      被检测的字符串 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfBlank(CharSequence str, String template, Object... params) { |  | ||||||
|         throwIfBlank(str, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str      被检测的字符串 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotBlank(CharSequence str, String template, Object... params) { |  | ||||||
|         throwIfNotBlank(str, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1     要比较的对象1 |  | ||||||
|      * @param obj2     要比较的对象2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEqual(Object obj1, Object obj2, String template, Object... params) { |  | ||||||
|         throwIfEqual(obj1, obj2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1     要比较的对象1 |  | ||||||
|      * @param obj2     要比较的对象2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEqual(Object obj1, Object obj2, String template, Object... params) { |  | ||||||
|         throwIfNotEqual(obj1, obj2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1     要比较的字符串1 |  | ||||||
|      * @param str2     要比较的字符串2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEqualIgnoreCase(CharSequence str1, CharSequence str2, String template, Object... params) { |  | ||||||
|         throwIfEqualIgnoreCase(str1, str2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1     要比较的字符串1 |  | ||||||
|      * @param str2     要比较的字符串2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEqualIgnoreCase(CharSequence str1, |  | ||||||
|                                                  CharSequence str2, |  | ||||||
|                                                  String template, |  | ||||||
|                                                  Object... params) { |  | ||||||
|         throwIfNotEqualIgnoreCase(str1, str2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param condition 条件 |  | ||||||
|      * @param template  异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params    参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIf(boolean condition, String template, Object... params) { |  | ||||||
|         throwIf(condition, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param conditionSupplier 条件 |  | ||||||
|      * @param template          异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params            参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIf(BooleanSupplier conditionSupplier, String template, Object... params) { |  | ||||||
|         throwIf(conditionSupplier, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -1,176 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. |  | ||||||
|  * <p> |  | ||||||
|  * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * <p> |  | ||||||
|  * http://www.gnu.org/licenses/lgpl.html |  | ||||||
|  * <p> |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| package top.continew.starter.core.util.validate; |  | ||||||
|  |  | ||||||
| import cn.hutool.core.text.CharSequenceUtil; |  | ||||||
| import top.continew.starter.core.exception.BadRequestException; |  | ||||||
|  |  | ||||||
| import java.util.function.BooleanSupplier; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * 基本参数校验工具类(抛出 400 BadRequestException) |  | ||||||
|  * |  | ||||||
|  * @author Charles7c |  | ||||||
|  * @see BadRequestException |  | ||||||
|  * @since 1.0.0 |  | ||||||
|  */ |  | ||||||
| public class ValidationUtils extends Validator { |  | ||||||
|  |  | ||||||
|     private static final Class<BadRequestException> EXCEPTION_TYPE = BadRequestException.class; |  | ||||||
|  |  | ||||||
|     private ValidationUtils() { |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNull(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNull(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotNull(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNotNull(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEmpty(Object obj, String template, Object... params) { |  | ||||||
|         throwIfEmpty(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj      被检测的对象 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEmpty(Object obj, String template, Object... params) { |  | ||||||
|         throwIfNotEmpty(obj, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str      被检测的字符串 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfBlank(CharSequence str, String template, Object... params) { |  | ||||||
|         throwIfBlank(str, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str      被检测的字符串 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotBlank(CharSequence str, String template, Object... params) { |  | ||||||
|         throwIfNotBlank(str, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1     要比较的对象1 |  | ||||||
|      * @param obj2     要比较的对象2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEqual(Object obj1, Object obj2, String template, Object... params) { |  | ||||||
|         throwIfEqual(obj1, obj2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1     要比较的对象1 |  | ||||||
|      * @param obj2     要比较的对象2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEqual(Object obj1, Object obj2, String template, Object... params) { |  | ||||||
|         throwIfNotEqual(obj1, obj2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1     要比较的字符串1 |  | ||||||
|      * @param str2     要比较的字符串2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfEqualIgnoreCase(CharSequence str1, CharSequence str2, String template, Object... params) { |  | ||||||
|         throwIfEqualIgnoreCase(str1, str2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1     要比较的字符串1 |  | ||||||
|      * @param str2     要比较的字符串2 |  | ||||||
|      * @param template 异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params   参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIfNotEqualIgnoreCase(CharSequence str1, |  | ||||||
|                                                  CharSequence str2, |  | ||||||
|                                                  String template, |  | ||||||
|                                                  Object... params) { |  | ||||||
|         throwIfNotEqualIgnoreCase(str1, str2, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param condition 条件 |  | ||||||
|      * @param template  异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params    参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIf(boolean condition, String template, Object... params) { |  | ||||||
|         throwIf(condition, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param conditionSupplier 条件 |  | ||||||
|      * @param template          异常信息模板,被替换的部分用 {} 表示,如果模板为 null,返回 "null" |  | ||||||
|      * @param params            参数值 |  | ||||||
|      */ |  | ||||||
|     public static void throwIf(BooleanSupplier conditionSupplier, String template, Object... params) { |  | ||||||
|         throwIf(conditionSupplier, CharSequenceUtil.format(template, params), EXCEPTION_TYPE); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -1,218 +0,0 @@ | |||||||
| /* |  | ||||||
|  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. |  | ||||||
|  * <p> |  | ||||||
|  * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; |  | ||||||
|  * you may not use this file except in compliance with the License. |  | ||||||
|  * You may obtain a copy of the License at |  | ||||||
|  * <p> |  | ||||||
|  * http://www.gnu.org/licenses/lgpl.html |  | ||||||
|  * <p> |  | ||||||
|  * Unless required by applicable law or agreed to in writing, software |  | ||||||
|  * distributed under the License is distributed on an "AS IS" BASIS, |  | ||||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |  | ||||||
|  * See the License for the specific language governing permissions and |  | ||||||
|  * limitations under the License. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| package top.continew.starter.core.util.validate; |  | ||||||
|  |  | ||||||
| import cn.hutool.core.text.CharSequenceUtil; |  | ||||||
| import cn.hutool.core.util.ObjectUtil; |  | ||||||
| import cn.hutool.core.util.ReflectUtil; |  | ||||||
| import cn.hutool.extra.spring.SpringUtil; |  | ||||||
| import jakarta.validation.ConstraintViolation; |  | ||||||
| import jakarta.validation.ConstraintViolationException; |  | ||||||
| import org.slf4j.Logger; |  | ||||||
| import org.slf4j.LoggerFactory; |  | ||||||
|  |  | ||||||
| import java.util.Set; |  | ||||||
| import java.util.function.BooleanSupplier; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * 校验器 |  | ||||||
|  * |  | ||||||
|  * @author Charles7c |  | ||||||
|  * @since 1.0.0 |  | ||||||
|  */ |  | ||||||
| public class Validator { |  | ||||||
|     private static final Logger log = LoggerFactory.getLogger(Validator.class); |  | ||||||
|     private static final jakarta.validation.Validator VALIDATOR = SpringUtil |  | ||||||
|         .getBean(jakarta.validation.Validator.class); |  | ||||||
|  |  | ||||||
|     protected Validator() { |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj           被检测的对象 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNull(Object obj, String message, Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(null == obj, message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj           被检测的对象 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNotNull(Object obj, String message, Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(null != obj, message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj           被检测的对象 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfEmpty(Object obj, String message, Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(ObjectUtil.isEmpty(obj), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj           被检测的对象 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNotEmpty(Object obj, String message, Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(ObjectUtil.isNotEmpty(obj), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str           被检测的字符串 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfBlank(CharSequence str, |  | ||||||
|                                        String message, |  | ||||||
|                                        Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(CharSequenceUtil.isBlank(str), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不为空,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param str           被检测的字符串 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNotBlank(CharSequence str, |  | ||||||
|                                           String message, |  | ||||||
|                                           Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(CharSequenceUtil.isNotBlank(str), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1          要比较的对象1 |  | ||||||
|      * @param obj2          要比较的对象2 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfEqual(Object obj1, |  | ||||||
|                                        Object obj2, |  | ||||||
|                                        String message, |  | ||||||
|                                        Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(ObjectUtil.equal(obj1, obj2), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param obj1          要比较的对象1 |  | ||||||
|      * @param obj2          要比较的对象2 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNotEqual(Object obj1, |  | ||||||
|                                           Object obj2, |  | ||||||
|                                           String message, |  | ||||||
|                                           Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(ObjectUtil.notEqual(obj1, obj2), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1          要比较的字符串1 |  | ||||||
|      * @param str2          要比较的字符串2 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfEqualIgnoreCase(CharSequence str1, |  | ||||||
|                                                  CharSequence str2, |  | ||||||
|                                                  String message, |  | ||||||
|                                                  Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(CharSequenceUtil.equalsIgnoreCase(str1, str2), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果不相同,抛出异常(不区分大小写) |  | ||||||
|      * |  | ||||||
|      * @param str1          要比较的字符串1 |  | ||||||
|      * @param str2          要比较的字符串2 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIfNotEqualIgnoreCase(CharSequence str1, |  | ||||||
|                                                     CharSequence str2, |  | ||||||
|                                                     String message, |  | ||||||
|                                                     Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         throwIf(!CharSequenceUtil.equalsIgnoreCase(str1, str2), message, exceptionType); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param condition     条件 |  | ||||||
|      * @param message       错误信息 |  | ||||||
|      * @param exceptionType 异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIf(boolean condition, String message, Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         if (condition) { |  | ||||||
|             log.error(message); |  | ||||||
|             throw ReflectUtil.newInstance(exceptionType, message); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 如果条件成立,抛出异常 |  | ||||||
|      * |  | ||||||
|      * @param conditionSupplier 条件 |  | ||||||
|      * @param message           错误信息 |  | ||||||
|      * @param exceptionType     异常类型 |  | ||||||
|      */ |  | ||||||
|     protected static void throwIf(BooleanSupplier conditionSupplier, |  | ||||||
|                                   String message, |  | ||||||
|                                   Class<? extends RuntimeException> exceptionType) { |  | ||||||
|         if (null != conditionSupplier && conditionSupplier.getAsBoolean()) { |  | ||||||
|             log.error(message); |  | ||||||
|             throw ReflectUtil.newInstance(exceptionType, message); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * JSR 303 校验 |  | ||||||
|      * |  | ||||||
|      * @param obj    被校验对象 |  | ||||||
|      * @param groups 分组 |  | ||||||
|      * @since 2.3.0 |  | ||||||
|      */ |  | ||||||
|     public static void validate(Object obj, Class<?>... groups) { |  | ||||||
|         Set<ConstraintViolation<Object>> violations = VALIDATOR.validate(obj, groups); |  | ||||||
|         if (!violations.isEmpty()) { |  | ||||||
|             throw new ConstraintViolationException(violations); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -33,7 +33,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; | |||||||
| import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder; | import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder; | ||||||
| import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder; | import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder; | ||||||
| import top.continew.starter.core.constant.PropertiesConstants; | import top.continew.starter.core.constant.PropertiesConstants; | ||||||
| import top.continew.starter.core.util.validate.CheckUtils; | import top.continew.starter.core.validation.CheckUtils; | ||||||
|  |  | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user