98 lines
2.8 KiB
Java
98 lines
2.8 KiB
Java
|
package com.guwan.backend.common;
|
||
|
|
||
|
import lombok.Data;
|
||
|
|
||
|
import java.text.SimpleDateFormat;
|
||
|
import java.util.Date;
|
||
|
|
||
|
@Data
|
||
|
public class SearchResult<T> {
|
||
|
private Integer code;
|
||
|
private String message;
|
||
|
private T data;
|
||
|
private Long total;
|
||
|
private String time;
|
||
|
|
||
|
public SearchResult() {
|
||
|
this.time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> success() {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(200);
|
||
|
result.setMessage("操作成功");
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> success(T data) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(200);
|
||
|
result.setMessage("操作成功");
|
||
|
result.setData(data);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> success(T data, Long total) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(200);
|
||
|
result.setMessage("操作成功");
|
||
|
result.setData(data);
|
||
|
result.setTotal(total);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> success(String message, T data) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(200);
|
||
|
result.setMessage(message);
|
||
|
result.setData(data);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> error(String message) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(500);
|
||
|
result.setMessage(message);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> error(Integer code, String message) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(code);
|
||
|
result.setMessage(message);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> error(Integer code, String message, T data) {
|
||
|
SearchResult<T> result = new SearchResult<>();
|
||
|
result.setCode(code);
|
||
|
result.setMessage(message);
|
||
|
result.setData(data);
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
// 常用状态码
|
||
|
public static final int SUCCESS = 200;
|
||
|
public static final int ERROR = 500;
|
||
|
public static final int UNAUTHORIZED = 401;
|
||
|
public static final int FORBIDDEN = 403;
|
||
|
public static final int NOT_FOUND = 404;
|
||
|
public static final int VALIDATE_FAILED = 400;
|
||
|
|
||
|
// 业务状态码
|
||
|
public static <T> SearchResult<T> validateFailed(String message) {
|
||
|
return error(VALIDATE_FAILED, message);
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> unauthorized(String message) {
|
||
|
return error(UNAUTHORIZED, message);
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> forbidden(String message) {
|
||
|
return error(FORBIDDEN, message);
|
||
|
}
|
||
|
|
||
|
public static <T> SearchResult<T> notFound(String message) {
|
||
|
return error(NOT_FOUND, message);
|
||
|
}
|
||
|
}
|