package jnpf.workflow.admin.result;
|
|
import java.io.Serializable;
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import jnpf.workflow.common.exception.ResultCode;
|
import lombok.Data;
|
|
/**
|
* 统一响应包装。契约要点:success 为 Boolean、code 为字符串(SUCCESS="200"),
|
* 调用方 jnpf-flowable 以 Boolean.FALSE.equals(getSuccess()) 判失败,勿改动字段类型与顺序。
|
*/
|
@Data
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
public class Result<T> implements Serializable {
|
|
private Boolean success;
|
private String code;
|
private String msg;
|
private T data;
|
|
public static <T> Result<T> result(Boolean success, String code, String msg, T data) {
|
Result<T> result = new Result<>();
|
result.setSuccess(success);
|
result.setCode(code);
|
result.setMsg(msg);
|
result.setData(data);
|
return result;
|
}
|
|
public static <T> Result<T> result(Boolean success, ResultCode resultCode, T data) {
|
return result(success, resultCode.getCode(), resultCode.getMsg(), data);
|
}
|
|
public static <T> boolean isSuccess(Result<T> result) {
|
return result != null && ResultCode.SUCCESS.getCode().equals(result.getCode());
|
}
|
|
public static <T> Result<T> success() {
|
return result(true, ResultCode.SUCCESS, null);
|
}
|
|
public static <T> Result<T> success(T data) {
|
return result(true, ResultCode.SUCCESS, data);
|
}
|
|
public static <T> Result<T> success(ResultCode resultCode, T data) {
|
return result(true, resultCode, data);
|
}
|
|
public static <T> Result<T> success(ResultCode resultCode) {
|
return result(true, resultCode, null);
|
}
|
|
public static <T> Result<T> success(String code, String msg, T data) {
|
return result(true, code, msg, data);
|
}
|
|
public static <T> Result<T> success(String msg) {
|
return result(true, ResultCode.SUCCESS.getCode(), msg, null);
|
}
|
|
public static <T> Result<T> failed() {
|
return result(false, ResultCode.FAILURE.getCode(), ResultCode.FAILURE.getMsg(), null);
|
}
|
|
public static <T> Result<T> failed(T data) {
|
return result(false, ResultCode.FAILURE.getCode(), ResultCode.FAILURE.getMsg(), data);
|
}
|
|
public static <T> Result<T> failed(String msg) {
|
return result(false, ResultCode.FAILURE.getCode(), msg, null);
|
}
|
|
public static <T> Result<T> failed(String msg, T data) {
|
return result(false, ResultCode.FAILURE.getCode(), msg, data);
|
}
|
|
public static <T> Result<T> failed(ResultCode resultCode) {
|
return result(false, resultCode.getCode(), resultCode.getMsg(), null);
|
}
|
|
public static <T> Result<T> failed(ResultCode resultCode, T data) {
|
return result(false, resultCode.getCode(), resultCode.getMsg(), data);
|
}
|
|
public static <T> Result<T> failed(ResultCode resultCode, String msg) {
|
return result(false, resultCode.getCode(), msg, null);
|
}
|
|
public static <T> Result<T> failed(ResultCode resultCode, String msg, T data) {
|
return result(false, resultCode.getCode(), msg, data);
|
}
|
}
|