From be13d9711f7498e6e4f93d8bed063a7b0ee9e5d5 Mon Sep 17 00:00:00 2001 From: redkale Date: Thu, 2 Jan 2025 18:25:58 +0800 Subject: [PATCH] =?UTF-8?q?RetResult=E5=A2=9E=E5=8A=A0cast=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/service/RetResult.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/org/redkale/service/RetResult.java b/src/main/java/org/redkale/service/RetResult.java index 979cdee14..d67bfec21 100644 --- a/src/main/java/org/redkale/service/RetResult.java +++ b/src/main/java/org/redkale/service/RetResult.java @@ -97,6 +97,22 @@ public class RetResult implements Serializable { return this; } + public RetResult cast(Type newType) { + return cast(this, newType); + } + + public static RetResult cast(RetResult rs, Type newType) { + Object d = rs.result; + if (d != null) { + String text = d instanceof CharSequence + ? d.toString() + : JsonConvert.root().convertTo(d); + V n = JsonConvert.root().convertFrom(newType, text); + return new RetResult(rs.retcode, rs.retinfo, n).convert(rs.convert); + } + return rs; + } + public CompletableFuture> toFuture() { return CompletableFuture.completedFuture(this); }