import lombok.Data;
/**
* 操作消息提醒
*
* @author 李木有大本事
*/
@Data
public class ReturnResult<T> {
/**
* 状态码
*/
private Integer code;
/**
* 返回内容
*/
private String msg;
/**
* 数据对象
*/
private T data;
/**
* 初始化一个新创建的 ReturnResult 对象,使其表示一个空消息。
*/
public ReturnResult() {
}
/**
* 初始化一个新创建的 ReturnResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public ReturnResult(int code, String msg) {
this.code = code;
this.msg = msg;
}
/**
* 初始化一个新创建的 ReturnResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public ReturnResult(int code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
/**
* 返回成功消息
*
* @return 成功消息
*/
public static <T> ReturnResult<T> success() {
return new ReturnResult<>(200, "成功");
}
/**
* 返回成功数据
*
* @return 成功消息
*/
public static <T> ReturnResult<T> success(T data) {
return new ReturnResult<>(200, "成功", data);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static <T> ReturnResult<T> success(String msg) {
return new ReturnResult<>(200, msg);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static <T> ReturnResult<T> success(String msg, T data) {
// 自定义状态码~
return new ReturnResult<>(HttpStatus.SUCCESS, msg, data);
}
/**
* 返回错误消息
*
* @return 默认失败
*/
public static <T> ReturnResult<T> error() {
return new ReturnResult<>(500, "操作失败");
}
/**
* 返回错误信息
*
* @param e 异常 - 自定义异常
* @return 结果
*/
public static <T> ReturnResult<T> error(BaseCodeException e) {
return new ReturnResult<>(e.getCode(), e.getMsg());
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static <T> ReturnResult<T> error(String msg) {
return new ReturnResult<>(500, msg);
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static <T> ReturnResult<T> error(String msg, T data) {
return new ReturnResult<>(HttpStatus.ERROR, msg, data);
}
/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static <T> ReturnResult<T> error(int code, String msg) {
return new ReturnResult<>(code, msg, null);
}
/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static <T> ReturnResult<T> error(int code, String msg, T data) {
return new ReturnResult<>(code, msg, data);
}
/**
* 未认证
*
* @param <T> 。
* @return 未认证失败信息
*/
public static <T> ReturnResult<T> unauthorized() {
return new ReturnResult<>(HttpStatus.UNAUTHORIZED, "未登录", null);
}
}