From 380fbcc5b2082295e6b4f144d4f4c402b1a56892 Mon Sep 17 00:00:00 2001 From: pveayojnc <3273195329@qq.com> Date: Tue, 29 Apr 2025 18:18:08 +0800 Subject: [PATCH] Update Result.java --- src/main/java/com/zsz/util/Result.java | 105 ++++++++++++++++++++----- 1 file changed, 86 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zsz/util/Result.java b/src/main/java/com/zsz/util/Result.java index 5641105..1b99891 100644 --- a/src/main/java/com/zsz/util/Result.java +++ b/src/main/java/com/zsz/util/Result.java @@ -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 { + // 使用 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 数据的类型 + * @return 包含数据的 Result 对象 + */ protected static Result build(T data) { + // 创建一个新的 Result 对象 Result result = new Result(); + // 如果传入的数据不为空,则将数据设置到 Result 对象中 if (data != null) result.setData(data); + // 返回构建好的 Result 对象 return result; } + /** + * 构建一个包含数据、返回码和返回消息的 Result 对象 + * @param body 要返回的数据 + * @param resultCodeEnum 结果码枚举对象,包含返回码和返回消息 + * @param 数据的类型 + * @return 包含数据、返回码和返回消息的 Result 对象 + */ public static Result build(T body, ResultCodeEnum resultCodeEnum) { + // 先调用 build 方法构建一个包含数据的 Result 对象 Result result = build(body); + // 从结果码枚举对象中获取返回码并设置到 Result 对象中 result.setCode(resultCodeEnum.getCode()); + // 从结果码枚举对象中获取返回消息并设置到 Result 对象中 result.setMessage(resultCodeEnum.getMessage()); + // 返回构建好的 Result 对象 return result; } - public static Result ok(){ + /** + * 操作成功,返回不包含数据的 Result 对象 + * @param 数据的类型 + * @return 操作成功的 Result 对象 + */ + public static Result ok() { + // 调用 ok 方法,传入 null 表示不包含数据 return Result.ok(null); } /** - * 操作成功 - * @param data - * @param - * @return + * 操作成功,返回包含数据的 Result 对象 + * @param data 要返回的数据 + * @param 数据的类型 + * @return 操作成功的 Result 对象 */ - public static Result ok(T data){ + public static Result ok(T data) { + // 先调用 build 方法构建一个包含数据的 Result 对象 Result result = build(data); + // 调用 build 方法,传入数据和成功的结果码枚举对象,设置返回码和返回消息 return build(data, ResultCodeEnum.SUCCESS); } - public static Result fail(){ + /** + * 操作失败,返回不包含数据的 Result 对象 + * @param 数据的类型 + * @return 操作失败的 Result 对象 + */ + public static Result fail() { + // 调用 fail 方法,传入 null 表示不包含数据 return Result.fail(null); } /** - * 操作失败 - * @param data - * @param - * @return + * 操作失败,返回包含数据的 Result 对象 + * @param data 要返回的数据 + * @param 数据的类型 + * @return 操作失败的 Result 对象 */ - public static Result fail(T data){ + public static Result fail(T data) { + // 先调用 build 方法构建一个包含数据的 Result 对象 Result result = build(data); + // 调用 build 方法,传入数据和失败的结果码枚举对象,设置返回码和返回消息 return build(data, ResultCodeEnum.FAIL); } - public Result message(String msg){ + /** + * 设置返回消息,并返回当前 Result 对象,支持链式调用 + * @param msg 要设置的返回消息 + * @return 当前 Result 对象 + */ + public Result message(String msg) { + // 设置返回消息 this.setMessage(msg); + // 返回当前 Result 对象,支持链式调用 return this; } - public Result code(Integer code){ + /** + * 设置返回码,并返回当前 Result 对象,支持链式调用 + * @param code 要设置的返回码 + * @return 当前 Result 对象 + */ + public Result 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; } -} +} \ No newline at end of file