yangys
2024-03-31 2969df3e404db3cd116f27db1495e523ce05bf86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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<T> 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 <T> R<T> data(T data) {
        return data(data, BladeConstant.DEFAULT_SUCCESS_MESSAGE);
    }
 
    public static <T> R<T> data(T data, String msg) {
        return data(200, data, msg);
    }
 
    public static <T> R<T> data(int code, T data, String msg) {
        return new R<>(code, data, data == null ? BladeConstant.DEFAULT_NULL_MESSAGE : msg);
    }
 
    public static <T> R<T> success(String msg) {
        return new R<>((IResultCode) ResultCode.SUCCESS, msg);
    }
 
    public static <T> R<T> success(IResultCode resultCode) {
        return new R<>(resultCode);
    }
 
    public static <T> R<T> success(IResultCode resultCode, String msg) {
        return new R<>(resultCode, msg);
    }
 
    public static <T> R<T> fail(String msg) {
        return new R<>((IResultCode) ResultCode.FAILURE, msg);
    }
 
    public static <T> R<T> fail(int code, String msg) {
        //return new R<>(code, (Object) null, msg);
        return new R<>(code, null, msg);
    }
 
    public static <T> R<T> fail(IResultCode resultCode) {
        return new R<>(resultCode);
    }
 
    public static <T> R<T> fail(IResultCode resultCode, String msg) {
        return new R<>(resultCode, msg);
    }
 
    public static <T> R<T> status(boolean flag) {
        return flag ? success(BladeConstant.DEFAULT_SUCCESS_MESSAGE) : fail(BladeConstant.DEFAULT_FAILURE_MESSAGE);
    }
}