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