xuhy
2024-12-27 167f614976b05fb7bc2c40467f55dc88c7efed4f
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
144
145
146
147
148
149
package com.jilongda.common.basic;
 
 
import com.jilongda.common.swagger.GlobalResultEnum;
import lombok.ToString;
 
import java.io.Serializable;
 
/**
 * 前后端交互对象
 *
 * @param <T>
 */
@ToString
public class ApiResult<T> implements Serializable {
    private static final long serialVersionUID = 5870642374421413864L;
 
    private static final ApiResult<String> SUCCESS_RESULT = new ApiResult<>();
 
    private static final ApiResult<String> ERROR_RESULT = new ApiResult<>(GlobalResultEnum.FAIL.getCode(), false, GlobalResultEnum.FAIL.getMessage());
 
    private int code = GlobalResultEnum.SUCCESS.getCode();
 
    /**
     * 是否成功,默认true
     */
    private boolean success = Boolean.TRUE;
    /**
     * 提示信息,默认"操作成功"
     */
    private String msg = GlobalResultEnum.SUCCESS.getMessage();
    /**
     * 返回数据
     */
    private T data;
 
    public ApiResult() {
        this.setMsg(msg);
    }
 
    public ApiResult(T data) {
        this.data = data;
    }
 
    public ApiResult(String msg) {
        this.msg = msg;
    }
 
    public ApiResult(int code, boolean success, String msg) {
        this.code = code;
        this.success = success;
        this.msg = msg;
    }
 
    public ApiResult(int code, boolean success, String msg, T data) {
        this.code = code;
        this.success = success;
        this.msg = msg;
        this.data = data;
    }
 
    public static ApiResult<String> success() {
        return SUCCESS_RESULT;
    }
 
    public static ApiResult<String> success(String message) {
        return new ApiResult<>(GlobalResultEnum.SUCCESS.getCode(), true, message);
    }
 
    public static <T> ApiResult<T> success(T data) {
        return new ApiResult<>(data);
    }
 
    public static ApiResult<String> okmsg(String data) {
        ApiResult<String> result = new ApiResult<>();
        result.setData(data);
        result.setCode(200);
        result.setSuccess(true);
        return result;
    }
 
    public static ApiResult<String> failed() {
        return ERROR_RESULT;
    }
 
    public static ApiResult ofFeign() {
        return failed("远程服务调用失败");
    }
 
    public static ApiResult<String> failed(String message) {
        return new ApiResult<>(GlobalResultEnum.FAIL.getCode(), false, message);
    }
 
    public static <T> ApiResult<T> failed(String message, T data) {
        return new ApiResult<>(GlobalResultEnum.FAIL.getCode(), false, message, data);
    }
 
    public static <T> ApiResult<T> failed(T data) {
        return new ApiResult<>(GlobalResultEnum.FAIL.getCode(), false, GlobalResultEnum.FAIL.message, data);
    }
 
    public static <T> ApiResult<T> failed(int code, String message) {
        return new ApiResult<>(code, false, message);
    }
 
    public static <T> ApiResult<T> failed(int code, String message, T data) {
        return new ApiResult<>(code, false, message, data);
    }
 
    public static <T> ApiResult<T> status(GlobalResultEnum status) {
        return status(status, null);
    }
 
    public static <T> ApiResult<T> status(GlobalResultEnum status, T data) {
        return new ApiResult<>(status.getCode(), status.getCode() == GlobalResultEnum.SUCCESS.getCode(), status.getMessage(), data);
    }
 
    public int getCode() {
        return code;
    }
 
    public void setCode(int code) {
        this.code = code;
    }
 
    public boolean isSuccess() {
        return success;
    }
 
    public void setSuccess(boolean success) {
        this.success = success;
    }
 
    public String getMsg() {
        return msg;
    }
 
    public void setMsg(String msg) {
        this.msg = msg;
    }
 
    public T getData() {
        return data;
    }
 
    public void setData(T data) {
        this.data = data;
    }
}