From da177586149f4bd47e6deea0e81a3219d49a510c Mon Sep 17 00:00:00 2001 From: redkale Date: Thu, 27 Jun 2024 12:32:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0RetException?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sqlsource.md | 4 +- .../org/redkale/service/RetException.java | 43 +++++++++++++++++++ .../java/org/redkale/service/RetResult.java | 10 +++++ 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/redkale/service/RetException.java diff --git a/docs/sqlsource.md b/docs/sqlsource.md index b251947b4..e9563e538 100644 --- a/docs/sqlsource.md +++ b/docs/sqlsource.md @@ -18,7 +18,7 @@ ```sql SELECT * FROM user WHERE 1=2 OR user_name = 'hello' ``` -  有些场景要求参数是必需的,就需要使用$${}来保证不会进行。 +  有些场景要求参数是必需的,就需要使用$${}来校验参数是否必需。 ```sql DELETE FROM user WHERE user_name = $${bean.userName} ``` @@ -79,6 +79,6 @@ public interface ForumInfoMapper extends BaseMapper { @Sql("UPDATE forum_section s " + " SET s.forum_sectionid = '' " + " WHERE s.forum_section_color = $${bean.forumSectionColor}") - public int updateForumResult(ForumBean bean); + public int updateForumResult(@Param("bean") ForumBean bean0); } ``` \ No newline at end of file diff --git a/src/main/java/org/redkale/service/RetException.java b/src/main/java/org/redkale/service/RetException.java new file mode 100644 index 000000000..3f401a19b --- /dev/null +++ b/src/main/java/org/redkale/service/RetException.java @@ -0,0 +1,43 @@ +/* + * + */ +package org.redkale.service; + +import org.redkale.util.RedkaleException; + +/** + * 错误码自定义异常类 + * + *

详情见: https://redkale.org + * + * @author zhangjx + * @since 2.8.0 + */ +public class RetException extends RedkaleException { + + private int code; + + public RetException(int code) { + super(RetCodes.retInfo(code)); + this.code = code; + } + + public RetException(int code, String message) { + super(message); + this.code = code; + } + + public RetException(int code, Throwable cause) { + super(RetCodes.retInfo(code), cause); + this.code = code; + } + + public RetException(int code, String message, Throwable cause) { + super(message, cause); + this.code = code; + } + + public int getCode() { + return code; + } +} diff --git a/src/main/java/org/redkale/service/RetResult.java b/src/main/java/org/redkale/service/RetResult.java index c7e9475f5..979cdee14 100644 --- a/src/main/java/org/redkale/service/RetResult.java +++ b/src/main/java/org/redkale/service/RetResult.java @@ -126,11 +126,21 @@ public class RetResult implements Serializable { return new RetResult(retcode, retinfo); } + // @since 2.8.0 + public static RetResult fail(RetException ex) { + return new RetResult(ex.getCode(), ex.getMessage()); + } + // @since 2.7.0 public static CompletableFuture> failFuture(int retcode, String retinfo) { return CompletableFuture.completedFuture(new RetResult(retcode, retinfo)); } + // @since 2.8.0 + public static CompletableFuture> failFuture(RetException ex) { + return CompletableFuture.completedFuture(new RetResult(ex.getCode(), ex.getMessage())); + } + // @since 2.7.0 public T join() { if (isSuccess()) {