Update Result.java

main
pveayojnc 4 months ago
parent 9bec458c97
commit 380fbcc5b2

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

Loading…
Cancel
Save