Update Result.java

main
pveayojnc 4 months ago
parent 9bec458c97
commit 380fbcc5b2

@ -1,87 +1,154 @@
package com.zsz.util;
// 导入 Swagger 用于描述 API 模型的注解
import io.swagger.annotations.ApiModel;
// 导入 Swagger 用于描述 API 模型属性的注解
import io.swagger.annotations.ApiModelProperty;
// 导入 Lombok 的 Data 注解,自动生成 getter、setter、toString 等方法
import lombok.Data;
/**
*
*
*
* 使 T
*/
// 使用 Lombok 的 Data 注解,自动生成 getter、setter、toString、equals、hashCode 等方法
@Data
// 使用 Swagger 的 ApiModel 注解,描述该类是全局统一返回结果的模型
@ApiModel(value = "全局统一返回结果")
public class Result<T> {
// 使用 Swagger 的 ApiModelProperty 注解,描述该属性为返回码
@ApiModelProperty(value = "返回码")
// 存储返回码的属性
private Integer code;
// 使用 Swagger 的 ApiModelProperty 注解,描述该属性为返回消息
@ApiModelProperty(value = "返回消息")
// 存储返回消息的属性
private String message;
// 使用 Swagger 的 ApiModelProperty 注解,描述该属性为返回数据
@ApiModelProperty(value = "返回数据")
// 存储返回数据的属性,使用泛型 T 可以接受任意类型的数据
private T data;
public Result(){}
// 无参构造函数,用于创建一个空的 Result 对象
public Result() {}
// 返回数据
/**
* Result
* @param data
* @param <T>
* @return Result
*/
protected static <T> Result<T> build(T data) {
// 创建一个新的 Result 对象
Result<T> result = new Result<T>();
// 如果传入的数据不为空,则将数据设置到 Result 对象中
if (data != null)
result.setData(data);
// 返回构建好的 Result 对象
return result;
}
/**
* Result
* @param body
* @param resultCodeEnum
* @param <T>
* @return Result
*/
public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {
// 先调用 build 方法构建一个包含数据的 Result 对象
Result<T> result = build(body);
// 从结果码枚举对象中获取返回码并设置到 Result 对象中
result.setCode(resultCodeEnum.getCode());
// 从结果码枚举对象中获取返回消息并设置到 Result 对象中
result.setMessage(resultCodeEnum.getMessage());
// 返回构建好的 Result 对象
return result;
}
public static<T> Result<T> ok(){
/**
* Result
* @param <T>
* @return Result
*/
public static <T> Result<T> ok() {
// 调用 ok 方法,传入 null 表示不包含数据
return Result.ok(null);
}
/**
*
* @param data
* @param <T>
* @return
* Result
* @param data
* @param <T>
* @return Result
*/
public static<T> Result<T> ok(T data){
public static <T> Result<T> ok(T data) {
// 先调用 build 方法构建一个包含数据的 Result 对象
Result<T> result = build(data);
// 调用 build 方法,传入数据和成功的结果码枚举对象,设置返回码和返回消息
return build(data, ResultCodeEnum.SUCCESS);
}
public static<T> Result<T> fail(){
/**
* Result
* @param <T>
* @return Result
*/
public static <T> Result<T> fail() {
// 调用 fail 方法,传入 null 表示不包含数据
return Result.fail(null);
}
/**
*
* @param data
* @param <T>
* @return
* Result
* @param data
* @param <T>
* @return Result
*/
public static<T> Result<T> fail(T data){
public static <T> Result<T> fail(T data) {
// 先调用 build 方法构建一个包含数据的 Result 对象
Result<T> result = build(data);
// 调用 build 方法,传入数据和失败的结果码枚举对象,设置返回码和返回消息
return build(data, ResultCodeEnum.FAIL);
}
public Result<T> message(String msg){
/**
* Result
* @param msg
* @return Result
*/
public Result<T> message(String msg) {
// 设置返回消息
this.setMessage(msg);
// 返回当前 Result 对象,支持链式调用
return this;
}
public Result<T> code(Integer code){
/**
* Result
* @param code
* @return Result
*/
public Result<T> code(Integer code) {
// 设置返回码
this.setCode(code);
// 返回当前 Result 对象,支持链式调用
return this;
}
/**
*
* @return true false
*/
public boolean isOk() {
if(this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {
// 比较当前 Result 对象的返回码和成功的结果码是否相等
if (this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {
return true;
}
return false;
}
}
}
Loading…
Cancel
Save