项目初始化
This commit is contained in:
84
src/main/java/com/mini/capi/model/ApiResult.java
Normal file
84
src/main/java/com/mini/capi/model/ApiResult.java
Normal file
@@ -0,0 +1,84 @@
|
||||
package com.mini.capi.model;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class ApiResult<T> implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 状态码
|
||||
*/
|
||||
private int code;
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 返回数据
|
||||
*/
|
||||
private T result;
|
||||
|
||||
/* ---------------- 构造方法 ---------------- */
|
||||
|
||||
public ApiResult() {
|
||||
}
|
||||
|
||||
public ApiResult(int code, String message, T data) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
this.result = data;
|
||||
}
|
||||
|
||||
/* ---------------- 静态工厂方法 ---------------- */
|
||||
|
||||
/**
|
||||
* 成功,仅返回状态码
|
||||
*/
|
||||
public static <T> ApiResult<T> success() {
|
||||
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), ResultCodeEnum.SUCCESS.getMessage(), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 成功,返回数据
|
||||
*/
|
||||
public static <T> ApiResult<T> success(T data) {
|
||||
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), ResultCodeEnum.SUCCESS.getMessage(), data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 成功,自定义提示
|
||||
*/
|
||||
public static <T> ApiResult<T> success(String message, T data) {
|
||||
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), message, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 失败,默认提示
|
||||
*/
|
||||
public static <T> ApiResult<T> error() {
|
||||
return new ApiResult<>(ResultCodeEnum.FAIL.getCode(), ResultCodeEnum.FAIL.getMessage(), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 失败,自定义状态码与提示
|
||||
*/
|
||||
public static <T> ApiResult<T> error(int code, String message) {
|
||||
return new ApiResult<>(code, message, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 失败,使用枚举
|
||||
*/
|
||||
public static <T> ApiResult<T> error(ResultCodeEnum codeEnum) {
|
||||
return new ApiResult<>(codeEnum.getCode(), codeEnum.getMessage(), null);
|
||||
}
|
||||
|
||||
}
|
||||
42
src/main/java/com/mini/capi/model/PageResult.java
Normal file
42
src/main/java/com/mini/capi/model/PageResult.java
Normal file
@@ -0,0 +1,42 @@
|
||||
package com.mini.capi.model;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PageResult<T> implements Serializable {
|
||||
|
||||
private final int total; // 总记录数
|
||||
private final int pages; // 总页数
|
||||
private final int pageNum; // 当前页
|
||||
private final int pageSize; // 每页条数
|
||||
private final List<T> data; // 当前页数据
|
||||
|
||||
private PageResult(int total, int pages, int pageNum, int pageSize, List<T> data) {
|
||||
this.total = total;
|
||||
this.pages = pages;
|
||||
this.pageNum = pageNum;
|
||||
this.pageSize = pageSize;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public static <T> PageResult<T> of(List<T> listData, int pageNum, int pageSize) {
|
||||
if (listData == null || listData.isEmpty() || pageNum <= 0 || pageSize <= 0) {
|
||||
return new PageResult<>(0, 0, pageNum, pageSize, Collections.emptyList());
|
||||
}
|
||||
int total = listData.size();
|
||||
int pages = (int) Math.ceil((double) total / pageSize);
|
||||
|
||||
int from = (pageNum - 1) * pageSize;
|
||||
if (from >= total) {
|
||||
return new PageResult<>(total, pages, pageNum, pageSize, Collections.emptyList());
|
||||
}
|
||||
int to = Math.min(from + pageSize, total);
|
||||
List<T> list = new ArrayList<>(listData.subList(from, to));
|
||||
return new PageResult<>(total, pages, pageNum, pageSize, list);
|
||||
}
|
||||
}
|
||||
22
src/main/java/com/mini/capi/model/ResultCodeEnum.java
Normal file
22
src/main/java/com/mini/capi/model/ResultCodeEnum.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package com.mini.capi.model;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum ResultCodeEnum {
|
||||
|
||||
SUCCESS(200, "Success"),
|
||||
FAIL(500, "Fail"),
|
||||
BAD_REQUEST(400, "Bad Request"),
|
||||
UNAUTHORIZED(401, "Unauthorized"),
|
||||
NOT_FOUND(404, "Not Found");
|
||||
|
||||
private final int code;
|
||||
private final String message;
|
||||
|
||||
ResultCodeEnum(int code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user