package com.fdkankan.fusion.common; import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Calendar; @Data @NoArgsConstructor @AllArgsConstructor public class ResultData implements Serializable { /** * 状态码 */ private int code; /** * 响应信息 */ private String message; /** * 后端返回结果 */ private T data; /** * 后端返回结果 */ private Boolean success; /** * 响应时间戳 */ private long timestamp = Calendar.getInstance().getTimeInMillis(); public static ResultData ok() { return ok(null); } public static ResultData ok(Object data) { return ok(ResultCode.SUCCESS.msg, data); } public static ResultData ok(String msg, Object data) { return base(ResultCode.SUCCESS.code, msg, data, true); } public static ResultData ok(int page, int pageSize, int total, Object data) { return ok(new PageInfo(page, pageSize, total, data)); } public static ResultData error( String msg) { return error(ResultCode.ERROR.code, msg, null); } public static ResultData error(int code, String msg) { return error(code, msg, null); } public static ResultData error(int code, String msg, Object data) { return base(code, msg, data, false); } public static ResultData error(ResultCode errorCode, Object data) { return base(errorCode.code, errorCode.msg, data, false); } public static ResultData error(ResultCode errorCode) { return error(errorCode.code, errorCode.msg); } public static String errorString(ResultCode errorCode) { return JSONObject.toJSONString(error(errorCode.code, errorCode.msg)); } private static ResultData base(int code, String msg, Object data, Boolean success) { ResultData rd = new ResultData(); rd.setCode(code); rd.setMessage(msg); rd.setData(data); rd.setSuccess(success); return rd; } }