package com.muyu.common.utils; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; /** * 响应信息主体 * * @author muyu */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class Result implements Serializable { /** * 成功 */ public static final int SUCCESS = 200; /** * 失败 */ public static final int FAIL = 500; /** * 警告 */ public static final int WARN = 800; private static final long serialVersionUID = 1L; private int code; private String msg; private T data; public static Result success () { return restResult(null, SUCCESS, null); } public static Result success (T data) { return restResult(data, SUCCESS, null); } public static Result success (T data, String msg) { return restResult(data, SUCCESS, msg); } public static Result error () { return restResult(null, FAIL, null); } public static Result error (String msg) { return restResult(null, FAIL, msg); } public static Result error (T data) { return restResult(data, FAIL, null); } public static Result error (T data, String msg) { return restResult(data, FAIL, msg); } public static Result error (int code, String msg) { return restResult(null, code, msg); } public static Result warn () { return restResult(null, WARN, null); } public static Result warn (String msg) { return restResult(null, WARN, msg); } public static Result warn (T data) { return restResult(data, WARN, null); } public static Result warn (T data, String msg) { return restResult(data, WARN, msg); } public static Result warn (int code, String msg) { return restResult(null, code, msg); } private static Result restResult (T data, int code, String msg) { return Result.builder() .code(code) .data(data) .msg(msg) .build(); } public static Boolean isError (Result ret) { return !isSuccess(ret); } public static Boolean isSuccess (Result ret) { return Result.SUCCESS == ret.getCode(); } }