From c3ee5dd9cda004b034fd586b87eda13d99ef054d Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 24 Jan 2025 10:28:02 +0800 Subject: [PATCH] refactor(mall): 修复 API 订单列表接口 --- src/main/java/cc/mrbird/febs/common/utils/ValidateEntityUtils.java | 33 +++++++++++++++++++++++++++++---- 1 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/utils/ValidateEntityUtils.java b/src/main/java/cc/mrbird/febs/common/utils/ValidateEntityUtils.java index c766630..83a8b90 100644 --- a/src/main/java/cc/mrbird/febs/common/utils/ValidateEntityUtils.java +++ b/src/main/java/cc/mrbird/febs/common/utils/ValidateEntityUtils.java @@ -17,6 +17,7 @@ /** * 确保指定列的有效性,并返回相应的实体对象 + * selectOne方法 * 此方法用于验证数据库中某列的值是否存在,并返回包含该值的实体对象 * 如果指定的值不存在或为null,将抛出异常 * @@ -54,7 +55,8 @@ if (columnExtractors != null && columnExtractors.length > 0) { wrapper.select(columnExtractors); } - wrapper.eq(columnExtractor, valueToCheck); + wrapper.eq(columnExtractor, valueToCheck) + .last("limit 1"); // 执行查询并获取结果实体 entity = queryWrapperExtractor.apply(wrapper); @@ -85,8 +87,9 @@ /** * 确保指定列的有效性,并返回相应的实体对象列表 - * 此方法用于验证数据库中某列的值是否存在,并返回包含该值的实体对象列表 - * 如果指定的值不存在或为null,将抛出异常 + * selectList方法 + * 此方法用于验证数据库中某列的值是否存在,并返回包含该值的实体对象列表 + * 如果指定的值不存在或为null,将抛出异常 * * @param valueToCheck 需要验证的值 * @param columnExtractor 列值提取器,用于指定需要验证的列 @@ -135,7 +138,8 @@ } /** - * 确保指定列的值在数据库中是存在的, + * 确保指定列的值在数据库中是存在的 + * selectOne方法 * 该方法通过查询数据库来验证给定的列值是否存在如果不存在,则抛出异常 * * @param valueToCheck 需要验证的列值 @@ -183,6 +187,7 @@ /** * 确保指定值在数据库中是唯一的 + * selectCount方法 * 该方法通过查询数据库来验证给定的列值是否已经存在,如果存在,则抛出异常,以确保数据的唯一性 * * @param valueToCheck 需要检查的值 @@ -252,4 +257,24 @@ } + /** + * 确保两个参数不相等,如果相等则抛出异常 + * + * @param value1 第一个参数 + * @param value2 第二个参数 + * @param errMsg 当两个参数相等时抛出的异常消息格式字符串 + * @throws FebsException 如果两个参数相等 + */ + public static <T> void ensureNotEqual( + T value1, + T value2, + String errMsg) { + // 使用 Objects.equals 处理 null 值,避免显式 null 检查 + if (Objects.equals(value1, value2)) { + // 延迟字符串格式化,只在需要抛出异常时进行 + throw new FebsException(StrUtil.format(errMsg, value1, value2)); + } + } + + } -- Gitblit v1.9.1