package com.youlai.boot.common.result; import lombok.Data; import java.io.Serializable; /** * 统一响应结构体 * * @author Ray * @since 2022/1/30 **/ @Data public class Result implements Serializable { private String code; private T data; private String msg; public static Result success() { return success(null); } public static Result success(T data) { Result result = new Result<>(); result.setCode(ResultCode.SUCCESS.getCode()); result.setMsg(ResultCode.SUCCESS.getMsg()); result.setData(data); return result; } public static Result failed() { return result(ResultCode.SYSTEM_ERROR.getCode(), ResultCode.SYSTEM_ERROR.getMsg(), null); } public static Result failed(String msg) { return result(ResultCode.SYSTEM_ERROR.getCode(), msg, null); } public static Result judge(boolean status) { if (status) { return success(); } else { return failed(); } } public static Result failed(IResultCode resultCode) { return result(resultCode.getCode(), resultCode.getMsg(), null); } public static Result failed(IResultCode resultCode, String msg) { return result(resultCode.getCode(), msg, null); } private static Result result(IResultCode resultCode, T data) { return result(resultCode.getCode(), resultCode.getMsg(), data); } private static Result result(String code, String msg, T data) { Result result = new Result<>(); result.setCode(code); result.setData(data); result.setMsg(msg); return result; } public static boolean isSuccess(Result result) { return result != null && ResultCode.SUCCESS.getCode().equals(result.getCode()); } }