package com.tongran.agent.server.utils; import com.tongran.agent.server.exception.code.ErrorCode; import com.tongran.agent.server.exception.code.GlobalErrorCode; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; /** * @author BAO */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @Schema(description = "接口交互统一数据返回标准") public class R implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "返回代码") private Integer code; @Schema(description = "消息描述") private String msg; @Schema(description = "结果对象") private T data; public static R success(String msg, T t) { R r = new R<>(); r.setData(t); r.setMsg(msg); r.setCode(GlobalErrorCode.SUCCESS.getCode()); return r; } public static R success(T t) { return R.success(GlobalErrorCode.SUCCESS.getMsg(), t); } public static R success() { return R.success(null); } public static R error(String msg, Integer code) { R r = new R<>(); r.setMsg(msg); r.setCode(code); return r; } public static R error(Integer code, String msg) { R r = new R<>(); r.setMsg(msg); r.setCode(code); return r; } public static R error(ErrorCode err) { return R.error(err.getMsg(), err.getCode()); } public static R error() { return R.error(GlobalErrorCode.ERROR.getMsg(), GlobalErrorCode.ERROR.getCode()); } public static R error(String msg) { return R.error(msg, GlobalErrorCode.ERROR.getCode()); } }