package com.ctsi.utils; import com.ctsi.Enum.ErrorCodeEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * 统一返回格式 * * @author macalzz1 * @since 2022-11-25 16:34:17 */ @Data @NoArgsConstructor @AllArgsConstructor @Builder @ApiModel(value = "统一返回格式") public class ApiResult { /** * 操作成功默认编码 */ public static final int DEFAULT_SUCCEED_CODE = 200; /** * 操作失败默认编码 */ public static final int DEFAULT_FAIL_CODE = 500; /** * 操作成功默认提示信息 */ public static final String DEFAULT_SUCCEED_MESSAGE = "操作成功"; @ApiModelProperty(value = "结果编码") private int code; @ApiModelProperty(value = "提示信息") private String message; @ApiModelProperty(value = "返回数据") private T result; /** * 成功 * * @param result 数据 * @param 类型 * @return 成功 */ public static ApiResult success(T result) { return success(DEFAULT_SUCCEED_MESSAGE, result); } /** * 返回成功信息 * * @param message 返回信息 * @param result 数据 * @param 类型 * @return 成功 */ public static ApiResult success(String message, T result) { return new ApiResult<>(DEFAULT_SUCCEED_CODE, message, result); } /** * 返回失败信息 * * @param message 返回信息 * @param result 数据 * @param 类型 * @return 成功 */ public static ApiResult failure(String message, T result) { return new ApiResult<>(DEFAULT_FAIL_CODE, message, result); } /** * 返回结果 * * @param code 返回状态编码 * @param message 操作信息 * @param result 数据 * @param 类型 * @return 结果 */ public static ApiResult result(int code, String message, T result) { return new ApiResult<>(code, message, result); } /** * 返回结果 * * @param code 返回状态编码 * @param message 操作信息 * @return 结果 */ public static ApiResult result(int code, String message) { return result(code, message, null); } public static ApiResult result(ErrorCodeEnum errorCodeEnum) { return result(errorCodeEnum.getCode(), errorCodeEnum.getMessage(), null); } }