package com.qianwen.core.tool.api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.util.Optional; import com.qianwen.core.tool.constant.BladeConstant; import com.qianwen.core.tool.utils.ObjectUtil; import com.qianwen.core.tool.utils.StringPool; import org.springframework.lang.Nullable; @ApiModel(description = "返回信息") /* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/api/R.class */ public class R implements Serializable { private static final long serialVersionUID = 1; @ApiModelProperty(value = "状态码", required = true) private int code; @ApiModelProperty(value = "是否成功", required = true) private boolean success; @ApiModelProperty("承载数据") private T data; @ApiModelProperty(value = "返回消息", required = true) private String msg; public void setCode(final int code) { this.code = code; } public void setSuccess(final boolean success) { this.success = success; } public void setData(final T data) { this.data = data; } public void setMsg(final String msg) { this.msg = msg; } public String toString() { return "R(code=" + getCode() + ", success=" + isSuccess() + ", data=" + getData() + ", msg=" + getMsg() + StringPool.RIGHT_BRACKET; } public R() { } public int getCode() { return this.code; } public boolean isSuccess() { return this.success; } public T getData() { return this.data; } public String getMsg() { return this.msg; } private R(IResultCode resultCode) { //this(resultCode, (Object) null, resultCode.getMessage()); this(resultCode, (T)null, resultCode.getMessage()); } private R(IResultCode resultCode, String msg) { //this(resultCode, (Object) null, msg); this(resultCode, (T)null, msg); } private R(IResultCode resultCode, T data) { this(resultCode, data, resultCode.getMessage()); } private R(IResultCode resultCode, T data, String msg) { this(resultCode.getCode(), data, msg); } private R(int code, T data, String msg) { this.code = code; this.data = data; this.msg = msg; this.success = ResultCode.SUCCESS.code == code; } public static boolean isSuccess(@Nullable R result) { return ((Boolean) Optional.ofNullable(result).map(x -> { return Boolean.valueOf(ObjectUtil.nullSafeEquals(Integer.valueOf(ResultCode.SUCCESS.code), Integer.valueOf(x.code))); }).orElse(Boolean.FALSE)).booleanValue(); } public static boolean isNotSuccess(@Nullable R result) { return !isSuccess(result); } public static R data(T data) { return data(data, BladeConstant.DEFAULT_SUCCESS_MESSAGE); } public static R data(T data, String msg) { return data(200, data, msg); } public static R data(int code, T data, String msg) { return new R<>(code, data, data == null ? BladeConstant.DEFAULT_NULL_MESSAGE : msg); } public static R success(String msg) { return new R<>((IResultCode) ResultCode.SUCCESS, msg); } public static R success(IResultCode resultCode) { return new R<>(resultCode); } public static R success(IResultCode resultCode, String msg) { return new R<>(resultCode, msg); } public static R fail(String msg) { return new R<>((IResultCode) ResultCode.FAILURE, msg); } public static R fail(int code, String msg) { //return new R<>(code, (Object) null, msg); return new R<>(code, null, msg); } public static R fail(IResultCode resultCode) { return new R<>(resultCode); } public static R fail(IResultCode resultCode, String msg) { return new R<>(resultCode, msg); } public static R status(boolean flag) { return flag ? success(BladeConstant.DEFAULT_SUCCESS_MESSAGE) : fail(BladeConstant.DEFAULT_FAILURE_MESSAGE); } }