yl-backend/src/main/java/com/guwan/backend/common/SearchResult.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);
}
}