package com.mes.vo; import lombok.Data; /** * 统一API响应结果 * * @author huang * @date 2025/10/29 */ @Data public class Result { /** * 响应码 */ private Integer code; /** * 响应消息 */ private String message; /** * 响应数据 */ private T data; /** * 时间戳 */ private Long timestamp; /** * 私有构造函数 */ private Result() { this.timestamp = System.currentTimeMillis(); } /** * 成功响应 */ public static Result success() { Result result = new Result<>(); result.setCode(200); result.setMessage("操作成功"); return result; } /** * 成功响应(带数据) */ public static Result success(T data) { Result result = new Result<>(); result.setCode(200); result.setMessage("操作成功"); result.setData(data); return result; } /** * 成功响应(自定义消息) */ public static Result success(String message, T data) { Result result = new Result<>(); result.setCode(200); result.setMessage(message); result.setData(data); return result; } /** * 失败响应 */ public static Result error() { Result result = new Result<>(); result.setCode(500); result.setMessage("操作失败"); return result; } /** * 失败响应(自定义消息) */ public static Result error(String message) { Result result = new Result<>(); result.setCode(500); result.setMessage(message); return result; } /** * 失败响应(自定义码和消息) */ public static Result error(Integer code, String message) { Result result = new Result<>(); result.setCode(code); result.setMessage(message); return result; } /** * 判断是否成功 */ public boolean isSuccess() { // 使用Integer.valueOf避免自动拆箱问题 return this.code != null && Integer.valueOf(200).equals(this.code); } }