package cn.bunny.domain.result; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class Result { // 状态码 private Integer code; // 返回消息 private String message; // 返回数据 private T data; /** * * 自定义返回体 * * @param data 返回体 * @return Result */ protected static Result build(T data) { Result result = new Result<>(); result.setData(data); return result; } /** * * 自定义返回体,使用ResultCodeEnum构建 * * @param body 返回体 * @param codeEnum 返回状态码 * @return Result */ public static Result build(T body, ResultCodeEnum codeEnum) { Result result = build(body); result.setCode(codeEnum.getCode()); result.setMessage(codeEnum.getMessage()); return result; } /** * * 自定义返回体 * * @param body 返回体 * @param code 返回状态码 * @param message 返回消息 * @return Result */ public static Result build(T body, Integer code, String message) { Result result = build(body); result.setCode(code); result.setMessage(message); result.setData(null); return result; } /** * * 操作成功 * * @return Result */ public static Result success() { return success(null, ResultCodeEnum.SUCCESS); } /** * * 操作成功 * * @param data baseCategory1List */ public static Result success(T data) { return build(data, ResultCodeEnum.SUCCESS); } /** * * 操作成功-状态码 * * @param codeEnum 状态码 */ public static Result success(ResultCodeEnum codeEnum) { return success(null, codeEnum); } /** * * 操作成功-自定义返回数据和状态码 * * @param data 返回体 * @param codeEnum 状态码 */ public static Result success(T data, ResultCodeEnum codeEnum) { return build(data, codeEnum); } /** * * 操作失败-自定义返回数据和状态码 * * @param data 返回体 * @param message 错误信息 */ public static Result success(T data, String message) { return build(data, 200, message); } /** * * 操作失败-自定义返回数据和状态码 * * @param data 返回体 * @param code 状态码 * @param message 错误信息 */ public static Result success(T data, Integer code, String message) { return build(data, code, message); } /** * * 操作失败 */ public static Result error() { return Result.build(null); } /** * * 操作失败-自定义返回数据 * * @param data 返回体 */ public static Result error(T data) { return build(data, ResultCodeEnum.FAIL); } /** * * 操作失败-状态码 * * @param codeEnum 状态码 */ public static Result error(ResultCodeEnum codeEnum) { return build(null, codeEnum); } /** * * 操作失败-自定义返回数据和状态码 * * @param data 返回体 * @param codeEnum 状态码 */ public static Result error(T data, ResultCodeEnum codeEnum) { return build(data, codeEnum); } /** * * 操作失败-自定义返回数据和状态码 * * @param data 返回体 * @param code 状态码 * @param message 错误信息 */ public static Result error(T data, Integer code, String message) { return build(data, code, message); } /** * * 操作失败-自定义返回数据和状态码 * * @param data 返回体 * @param message 错误信息 */ public static Result error(T data, String message) { return build(null, 500, message); } }