diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/exception/system/DataOperationResultException.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/exception/system/DataOperationResultException.java index 10e47c2..082620b 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/exception/system/DataOperationResultException.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/exception/system/DataOperationResultException.java @@ -33,43 +33,49 @@ package xyz.zhouxy.plusone.commons.exception.system; */ public final class DataOperationResultException extends SysException { - private static final String DEFAULT_MSG = "数据操作的结果不符合预期"; + private final long expected; + private final long actual; /** - * 使用默认 message 构造新的 {@code DataOperationResultException}。 - * {@code cause} 未初始化,后面可能会通过调用 {@link #initCause} 进行初始化。 + * 创建一个 {@code DataOperationResultException} 对象 + * + * @param expected 预期影响的行数 + * @param actual 实际影响的行数 */ - public DataOperationResultException() { - super(DEFAULT_MSG); + public DataOperationResultException(long expected, long actual) { + super(String.format("The number of rows affected is expected to be %d, but is: %d", expected, actual)); + this.expected = expected; + this.actual = actual; } /** - * 使用指定的 {@code message} 构造新的 {@code DataOperationResultException}。 - * {@code cause} 未初始化,后面可能会通过调用 {@link #initCause} 进行初始化。 + * 创建一个 {@code DataOperationResultException} 对象 * - * @param message 异常信息 + * @param expected 预期影响的行数 + * @param actual 实际影响的行数 + * @param message 错误信息 */ - public DataOperationResultException(String message) { + public DataOperationResultException(long expected, long actual, String message) { super(message); + this.expected = expected; + this.actual = actual; } /** - * 使用指定的 {@code cause} 构造新的 {@code DataOperationResultException}。 - * {@code message} 为 (cause==null ? null : cause.toString())。 + * 预期影响的行数 * - * @param cause 包装的异常 + * @return the expected */ - public DataOperationResultException(Throwable cause) { - super(cause); + public long getExpected() { + return expected; } /** - * 使用指定的 {@code message} 和 {@code cause} 构造新的 {@code DataOperationResultException}。 + * 实际影响的行数 * - * @param message 异常信息 - * @param cause 包装的异常 + * @return the actual */ - public DataOperationResultException(String message, Throwable cause) { - super(message, cause); + public long getActual() { + return actual; } } diff --git a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java index 23b616a..cfb4121 100644 --- a/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java +++ b/plusone-commons/src/main/java/xyz/zhouxy/plusone/commons/util/AssertTools.java @@ -334,7 +334,7 @@ public class AssertTools { String errorMessageTemplate, Object... errorMessageArgs) throws DataNotExistsException { checkCondition(obj != null, - () -> new DataNotExistsException(String.format(errorMessageTemplate, errorMessageArgs))); + () -> new DataNotExistsException(String.format(errorMessageTemplate, errorMessageArgs))); return obj; } @@ -411,141 +411,154 @@ public class AssertTools { /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 */ - public static void checkAffectedRows(int expectedValue, int result) { - checkAffectedRows(expectedValue, result, - "The number of rows affected is expected to be %d, but is: %d", expectedValue, result); + public static void checkAffectedRows(int expected, int actualRowCount) { + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessage 异常信息 */ - public static void checkAffectedRows(int expectedValue, int result, @Nullable String errorMessage) { - checkCondition(expectedValue == result, () -> new DataOperationResultException(errorMessage)); + public static void checkAffectedRows(int expected, int actualRowCount, + @Nullable String errorMessage) { + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, errorMessage); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessageSupplier 异常信息 */ - public static void checkAffectedRows(int expectedValue, int result, + public static void checkAffectedRows(int expected, int actualRowCount, Supplier errorMessageSupplier) { - checkCondition(expectedValue == result, - () -> new DataOperationResultException(errorMessageSupplier.get())); + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, errorMessageSupplier.get()); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessageTemplate 异常信息模板 * @param errorMessageArgs 异常信息参数 */ - public static void checkAffectedRows(int expectedValue, int result, + public static void checkAffectedRows(int expected, int actualRowCount, String errorMessageTemplate, Object... errorMessageArgs) { - checkCondition(expectedValue == result, - () -> new DataOperationResultException(String.format(errorMessageTemplate, errorMessageArgs))); + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, + String.format(errorMessageTemplate, errorMessageArgs)); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 */ - public static void checkAffectedRows(long expectedValue, long result) { - checkAffectedRows(expectedValue, result, - "The number of rows affected is expected to be %d, but is: %d", expectedValue, result); + public static void checkAffectedRows(long expected, long actualRowCount) { + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessage 异常信息 */ - public static void checkAffectedRows(long expectedValue, long result, @Nullable String errorMessage) { - checkCondition(expectedValue == result, () -> new DataOperationResultException(errorMessage)); + public static void checkAffectedRows(long expected, long actualRowCount, + @Nullable String errorMessage) { + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, errorMessage); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessageSupplier 异常信息 */ - public static void checkAffectedRows(long expectedValue, long result, + public static void checkAffectedRows(long expected, long actualRowCount, Supplier errorMessageSupplier) { - checkCondition(expectedValue == result, - () -> new DataOperationResultException(errorMessageSupplier.get())); + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, errorMessageSupplier.get()); + } } /** * 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。 * - * @param expectedValue 预计的数量 - * @param result 实际影响的数据量 + * @param expected 预期影响的行数 + * @param actualRowCount 实际影响的行数 * @param errorMessageTemplate 异常信息模板 * @param errorMessageArgs 异常信息参数 */ - public static void checkAffectedRows(long expectedValue, long result, + public static void checkAffectedRows(long expected, long actualRowCount, String errorMessageTemplate, Object... errorMessageArgs) { - checkCondition(expectedValue == result, - () -> new DataOperationResultException(String.format(errorMessageTemplate, errorMessageArgs))); + if (expected != actualRowCount) { + throw new DataOperationResultException(expected, actualRowCount, + String.format(errorMessageTemplate, errorMessageArgs)); + } } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 */ - public static void checkAffectedOneRow(int result) { - checkAffectedRows(1, result, - () -> "The number of rows affected is expected to be 1, but is: " + result); + public static void checkAffectedOneRow(int actualRowCount) { + checkAffectedRows(1, actualRowCount); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessage 异常信息 */ - public static void checkAffectedOneRow(int result, String errorMessage) { - checkAffectedRows(1, result, errorMessage); + public static void checkAffectedOneRow(int actualRowCount, String errorMessage) { + checkAffectedRows(1, actualRowCount, errorMessage); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessageSupplier 异常信息 */ - public static void checkAffectedOneRow(int result, Supplier errorMessageSupplier) { - checkAffectedRows(1, result, errorMessageSupplier); + public static void checkAffectedOneRow(int actualRowCount, Supplier errorMessageSupplier) { + checkAffectedRows(1, actualRowCount, errorMessageSupplier); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessageTemplate 异常信息模板 * @param errorMessageArgs 异常信息参数 */ - public static void checkAffectedOneRow(int result, + public static void checkAffectedOneRow(int actualRowCount, String errorMessageTemplate, Object... errorMessageArgs) { - checkAffectedRows(1, result, errorMessageTemplate, errorMessageArgs); + checkAffectedRows(1, actualRowCount, errorMessageTemplate, errorMessageArgs); } /** @@ -554,40 +567,39 @@ public class AssertTools { * @param result 实际影响的数据量 */ public static void checkAffectedOneRow(long result) { - checkAffectedRows(1L, result, - () -> "The number of rows affected is expected to be 1, but is: " + result); + checkAffectedRows(1L, result); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessage 异常信息 */ - public static void checkAffectedOneRow(long result, String errorMessage) { - checkAffectedRows(1L, result, errorMessage); + public static void checkAffectedOneRow(long actualRowCount, String errorMessage) { + checkAffectedRows(1L, actualRowCount, errorMessage); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessageSupplier 异常信息 */ - public static void checkAffectedOneRow(long result, Supplier errorMessageSupplier) { - checkAffectedRows(1L, result, errorMessageSupplier); + public static void checkAffectedOneRow(long actualRowCount, Supplier errorMessageSupplier) { + checkAffectedRows(1L, actualRowCount, errorMessageSupplier); } /** * 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。 * - * @param result 实际影响的数据量 + * @param actualRowCount 实际影响的行数 * @param errorMessageTemplate 异常信息模板 * @param errorMessageArgs 异常信息参数 */ - public static void checkAffectedOneRow(long result, + public static void checkAffectedOneRow(long actualRowCount, String errorMessageTemplate, Object... errorMessageArgs) { - checkAffectedRows(1L, result, errorMessageTemplate, errorMessageArgs); + checkAffectedRows(1L, actualRowCount, errorMessageTemplate, errorMessageArgs); } // ================================