package cn.yinlihupo.common.result; import lombok.Data; import java.io.Serializable; /** * 统一响应结果封装 * * @param 数据类型 */ @Data public class Result implements Serializable { private static final long serialVersionUID = 1L; /** * 状态码 */ private Integer code; /** * 响应消息 */ private String message; /** * 响应数据 */ private T data; /** * 时间戳 */ private Long timestamp; public Result() { this.timestamp = System.currentTimeMillis(); } public Result(Integer code, String message, T data) { this.code = code; this.message = message; this.data = data; this.timestamp = System.currentTimeMillis(); } /** * 成功响应 */ public static Result success() { return new Result<>(200, "操作成功", null); } /** * 成功响应(带数据) */ public static Result success(T data) { return new Result<>(200, "操作成功", data); } /** * 成功响应(带消息和数据) */ public static Result success(String message, T data) { return new Result<>(200, message, data); } /** * 失败响应 */ public static Result error() { return new Result<>(500, "操作失败", null); } /** * 失败响应(带消息) */ public static Result error(String message) { return new Result<>(500, message, null); } /** * 失败响应(带状态码和消息) */ public static Result error(Integer code, String message) { return new Result<>(code, message, null); } }