Răsfoiți Sursa

feat(utils): 添加 R.java 文件以处理响应结果

- 新增 R.java 文件,用于封装响应结果- 提供静态方法创建成功和失败的响应对象
- 使用泛型支持不同类型的响应数据
- 定义成功和失败的枚举类型,统一响应码和消息
hechunping 2 luni în urmă
părinte
comite
30cc4b7f64
1 a modificat fișierele cu 91 adăugiri și 0 ștergeri
  1. 91 0
      src/main/java/com/xynet/marketing/utils/R.java

+ 91 - 0
src/main/java/com/xynet/marketing/utils/R.java

@@ -0,0 +1,91 @@
+package com.xynet.marketing.utils;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.Getter;
+import lombok.experimental.Accessors;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Objects;
+
+@Data
+@Slf4j
+@Accessors(chain = true)
+public class R<T> {
+
+    private int code;
+
+    private T data;
+
+    private String msg;
+
+    public static R ok() {
+        return new R();
+    }
+
+    public static <T> R<T> ok(T data) {
+        return new R<T>(data);
+    }
+
+    public static R fail() {
+        return new R(Enum.FAIL.code, Enum.FAIL.msg);
+    }
+
+    public static R fail(String msg) {
+        return new R(Enum.FAIL.code, msg);
+    }
+
+
+    public static <T> R<T> fail(String msg, T data) {
+        return new R(Enum.FAIL.code, msg, data);
+    }
+
+    public static R fail(int code, String msg) {
+        return new R(code, msg);
+    }
+
+    public static <T> R<T> fail(int code, String msg, T data) {
+        return new R(code, msg, data);
+    }
+
+    public R() {
+        this.code = Enum.SUCCESS.code;
+        this.msg = Enum.SUCCESS.msg;
+    }
+
+    public R(T data) {
+        this();
+        this.data = data;
+    }
+
+    public R(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public R(int code, String msg, T data) {
+        this.code = code;
+        this.data = data;
+        this.msg = msg;
+    }
+
+    public Boolean isSuccess() {
+        return Objects.equals(Enum.SUCCESS.getCode(), this.code);
+    }
+
+    @Getter
+    @AllArgsConstructor
+    public enum Enum {
+
+        SUCCESS(200, "成功"),
+
+        FAIL(500, "失败"),
+
+        ;
+
+        private int code;
+
+        private String msg;
+    }
+
+}