You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
1.9 KiB
88 lines
1.9 KiB
package com.zsz.util;
|
|
|
|
import io.swagger.annotations.ApiModel;
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
import lombok.Data;
|
|
|
|
/**
|
|
* 全局统一返回结果类
|
|
*
|
|
*/
|
|
@Data
|
|
@ApiModel(value = "全局统一返回结果")
|
|
public class Result<T> {
|
|
|
|
@ApiModelProperty(value = "返回码")
|
|
private Integer code;
|
|
|
|
@ApiModelProperty(value = "返回消息")
|
|
private String message;
|
|
|
|
@ApiModelProperty(value = "返回数据")
|
|
private T data;
|
|
|
|
public Result(){}
|
|
|
|
// 返回数据
|
|
protected static <T> Result<T> build(T data) {
|
|
Result<T> result = new Result<T>();
|
|
if (data != null)
|
|
result.setData(data);
|
|
return result;
|
|
}
|
|
|
|
public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {
|
|
Result<T> result = build(body);
|
|
result.setCode(resultCodeEnum.getCode());
|
|
result.setMessage(resultCodeEnum.getMessage());
|
|
return result;
|
|
}
|
|
|
|
public static<T> Result<T> ok(){
|
|
return Result.ok(null);
|
|
}
|
|
|
|
/**
|
|
* 操作成功
|
|
* @param data
|
|
* @param <T>
|
|
* @return
|
|
*/
|
|
public static<T> Result<T> ok(T data){
|
|
Result<T> result = build(data);
|
|
return build(data, ResultCodeEnum.SUCCESS);
|
|
}
|
|
|
|
public static<T> Result<T> fail(){
|
|
return Result.fail(null);
|
|
}
|
|
|
|
/**
|
|
* 操作失败
|
|
* @param data
|
|
* @param <T>
|
|
* @return
|
|
*/
|
|
public static<T> Result<T> fail(T data){
|
|
Result<T> result = build(data);
|
|
return build(data, ResultCodeEnum.FAIL);
|
|
}
|
|
|
|
public Result<T> message(String msg){
|
|
this.setMessage(msg);
|
|
return this;
|
|
}
|
|
|
|
public Result<T> code(Integer code){
|
|
this.setCode(code);
|
|
return this;
|
|
}
|
|
|
|
public boolean isOk() {
|
|
if(this.getCode().intValue() == ResultCodeEnum.SUCCESS.getCode().intValue()) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|