package com.example.resource.clue.convert.vo; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; /** * 响应信息主体 * * @author Lion Li */ @Data @NoArgsConstructor public class R implements Serializable { private static final long serialVersionUID = 1L; /** * 成功 */ public static final int SUCCESS = 200; /** * 失败 */ public static final int FAIL = 500; private int code; private String msg; private T data; public static R ok() { return restResult(null, SUCCESS, "操作成功"); } public static R ok(T data) { return restResult(data, SUCCESS, "操作成功"); } public static R ok(String msg) { return restResult(null, SUCCESS, msg); } public static R ok(String msg, T data) { return restResult(data, SUCCESS, msg); } public static R fail() { return restResult(null, FAIL, "操作失败"); } public static R fail(String msg) { return restResult(null, FAIL, msg); } public static R fail(T data) { return restResult(data, FAIL, "操作失败"); } public static R fail(String msg, T data) { return restResult(data, FAIL, msg); } public static R fail(int code, String msg) { return restResult(null, code, msg); } private static R restResult(T data, int code, String msg) { R r = new R<>(); r.setCode(code); r.setData(data); r.setMsg(msg); return r; } public Boolean isError() { return !isSuccess(); } public Boolean isSuccess() { return R.SUCCESS == getCode(); } }