From dd046d8bed00a7815bb6a61a9e4f4d8964f0b2a1 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期四, 13 二月 2025 14:57:27 +0800
Subject: [PATCH] 全局Result重新修改

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/Result.java |  201 ++++++++++++-------------------------------------
 1 files changed, 50 insertions(+), 151 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/Result.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/Result.java
index f840d4c..2703c59 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/Result.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/Result.java
@@ -1,216 +1,115 @@
 package com.ruoyi.common.core.domain;
 
-import java.util.HashMap;
-import java.util.Objects;
+import java.io.Serializable;
 import com.ruoyi.common.constant.HttpStatus;
-import com.ruoyi.common.utils.StringUtils;
 
 /**
- * 鎿嶄綔娑堟伅鎻愰啋
+ * 鍝嶅簲淇℃伅涓讳綋
  *
  * @author ruoyi
  */
-public class Result extends HashMap<String, Object>
+public class Result<T> implements Serializable
 {
     private static final long serialVersionUID = 1L;
 
-    /** 鐘舵�佺爜 */
-    public static final String CODE_TAG = "code";
+    /** 鎴愬姛 */
+    public static final int SUCCESS = HttpStatus.SUCCESS;
 
-    /** 杩斿洖鍐呭 */
-    public static final String MSG_TAG = "msg";
+    /** 澶辫触 */
+    public static final int FAIL = HttpStatus.ERROR;
 
-    /** 鏁版嵁瀵硅薄 */
-    public static final String DATA_TAG = "data";
+    private int code;
 
-    /**
-     * 鍒濆鍖栦竴涓柊鍒涘缓鐨� AjaxResult 瀵硅薄锛屼娇鍏惰〃绀轰竴涓┖娑堟伅銆�
-     */
-    public Result()
+    private String msg;
+
+    private T data;
+
+    public static <T> Result<T> success()
     {
+        return restResult(null, SUCCESS, "鎿嶄綔鎴愬姛");
     }
 
-    /**
-     * 鍒濆鍖栦竴涓柊鍒涘缓鐨� AjaxResult 瀵硅薄
-     *
-     * @param code 鐘舵�佺爜
-     * @param msg 杩斿洖鍐呭
-     */
-    public Result(int code, String msg)
+    public static <T> Result<T> success(T data)
     {
-        super.put(CODE_TAG, code);
-        super.put(MSG_TAG, msg);
+        return restResult(data, SUCCESS, "鎿嶄綔鎴愬姛");
     }
 
-    /**
-     * 鍒濆鍖栦竴涓柊鍒涘缓鐨� AjaxResult 瀵硅薄
-     *
-     * @param code 鐘舵�佺爜
-     * @param msg 杩斿洖鍐呭
-     * @param data 鏁版嵁瀵硅薄
-     */
-    public Result(int code, String msg, Object data)
+    public static <T> Result<T> success(T data, String msg)
     {
-        super.put(CODE_TAG, code);
-        super.put(MSG_TAG, msg);
-        if (StringUtils.isNotNull(data))
-        {
-            super.put(DATA_TAG, data);
-        }
+        return restResult(data, SUCCESS, msg);
     }
 
-    /**
-     * 杩斿洖鎴愬姛娑堟伅
-     *
-     * @return 鎴愬姛娑堟伅
-     */
-    public static Result success()
+    public static <T> Result<T> fail()
     {
-        return Result.success("鎿嶄綔鎴愬姛");
+        return restResult(null, FAIL, "鎿嶄綔澶辫触");
     }
 
-    /**
-     * 杩斿洖鎴愬姛鏁版嵁
-     *
-     * @return 鎴愬姛娑堟伅
-     */
-    public static Result success(Object data)
+    public static <T> Result<T> fail(String msg)
     {
-        return Result.success("鎿嶄綔鎴愬姛", data);
+        return restResult(null, FAIL, msg);
     }
 
-    /**
-     * 杩斿洖鎴愬姛娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @return 鎴愬姛娑堟伅
-     */
-    public static Result success(String msg)
+    public static <T> Result<T> fail(T data)
     {
-        return Result.success(msg, null);
+        return restResult(data, FAIL, "鎿嶄綔澶辫触");
     }
 
-    /**
-     * 杩斿洖鎴愬姛娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @param data 鏁版嵁瀵硅薄
-     * @return 鎴愬姛娑堟伅
-     */
-    public static Result success(String msg, Object data)
+    public static <T> Result<T> fail(T data, String msg)
     {
-        return new Result(HttpStatus.SUCCESS, msg, data);
+        return restResult(data, FAIL, msg);
     }
 
-    /**
-     * 杩斿洖璀﹀憡娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @return 璀﹀憡娑堟伅
-     */
-    public static Result warn(String msg)
+    public static <T> Result<T> fail(int code, String msg)
     {
-        return Result.warn(msg, null);
+        return restResult(null, code, msg);
     }
 
-    /**
-     * 杩斿洖璀﹀憡娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @param data 鏁版嵁瀵硅薄
-     * @return 璀﹀憡娑堟伅
-     */
-    public static Result warn(String msg, Object data)
+    private static <T> Result<T> restResult(T data, int code, String msg)
     {
-        return new Result(HttpStatus.WARN, msg, data);
+        Result<T> apiResult = new Result<>();
+        apiResult.setCode(code);
+        apiResult.setData(data);
+        apiResult.setMsg(msg);
+        return apiResult;
     }
 
-    /**
-     * 杩斿洖閿欒娑堟伅
-     *
-     * @return 閿欒娑堟伅
-     */
-    public static Result error()
+    public int getCode()
     {
-        return Result.error("鎿嶄綔澶辫触");
+        return code;
     }
 
-    /**
-     * 杩斿洖閿欒娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @return 閿欒娑堟伅
-     */
-    public static Result error(String msg)
+    public void setCode(int code)
     {
-        return Result.error(msg, null);
+        this.code = code;
     }
 
-    /**
-     * 杩斿洖閿欒娑堟伅
-     *
-     * @param msg 杩斿洖鍐呭
-     * @param data 鏁版嵁瀵硅薄
-     * @return 閿欒娑堟伅
-     */
-    public static Result error(String msg, Object data)
+    public String getMsg()
     {
-        return new Result(HttpStatus.ERROR, msg, data);
+        return msg;
     }
 
-    /**
-     * 杩斿洖閿欒娑堟伅
-     *
-     * @param code 鐘舵�佺爜
-     * @param msg 杩斿洖鍐呭
-     * @return 閿欒娑堟伅
-     */
-    public static Result error(int code, String msg)
+    public void setMsg(String msg)
     {
-        return new Result(code, msg, null);
+        this.msg = msg;
     }
 
-    /**
-     * 鏄惁涓烘垚鍔熸秷鎭�
-     *
-     * @return 缁撴灉
-     */
-    public boolean isSuccess()
+    public T getData()
     {
-        return Objects.equals(HttpStatus.SUCCESS, this.get(CODE_TAG));
+        return data;
     }
 
-    /**
-     * 鏄惁涓鸿鍛婃秷鎭�
-     *
-     * @return 缁撴灉
-     */
-    public boolean isWarn()
+    public void setData(T data)
     {
-        return Objects.equals(HttpStatus.WARN, this.get(CODE_TAG));
+        this.data = data;
     }
 
-    /**
-     * 鏄惁涓洪敊璇秷鎭�
-     *
-     * @return 缁撴灉
-     */
-    public boolean isError()
+    public static <T> Boolean isError(Result<T> ret)
     {
-        return Objects.equals(HttpStatus.ERROR, this.get(CODE_TAG));
+        return !isSuccess(ret);
     }
 
-    /**
-     * 鏂逛究閾惧紡璋冪敤
-     *
-     * @param key 閿�
-     * @param value 鍊�
-     * @return 鏁版嵁瀵硅薄
-     */
-    @Override
-    public Result put(String key, Object value)
+    public static <T> Boolean isSuccess(Result<T> ret)
     {
-        super.put(key, value);
-        return this;
+        return Result.SUCCESS == ret.getCode();
     }
 }

--
Gitblit v1.9.3