import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CommonResult<T> {
@ApiModelProperty(value = "响应码")
private long code;
@ApiModelProperty(value = "响应信息")
private String message;
@ApiModelProperty(value = "响应数据")
private T data;
protected CommonResult() {
}
protected CommonResult(long code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
log.info("接口返回code值为:"+code);
log.info("接口返回message值为:"+message);
log.info("接口返回data值为:"+data);
}
public static <T> CommonResult<T> success(T data) {
return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
}
public static <T> CommonResult<T> failed(T data) {
return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), ResultCode.FAILED.getMessage(), data);
}
public static <T> CommonResult<T> success(T data, String message) {
return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);
}
public static <T> CommonResult<T> failed(IErrorCode errorCode) {
return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);
}
public static <T> CommonResult<T> failed(String message) {
return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);
}
public static <T> CommonResult<T> failed() {
return failed(ResultCode.FAILED);
}
public static <T> CommonResult<T> validateFailed() {
return failed(ResultCode.VALIDATE_FAILED);
}
public static <T> CommonResult<T> validateFailed(String message) {
return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);
}
public static <T> CommonResult<T> unauthorized(T data) {
return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
}
public static <T> CommonResult<T> forbidden(T data) {
return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
}
public static <T> CommonResult<T> failed(Long code, String message, T data) {
return new CommonResult<T>(code, message, data);
}
public long getCode() {
return code;
}
public void setCode(long code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
public class Request<T> {
private String token;
private String code;
private Integer page;
private Integer limit;
private T data;
public Request() {
}
public String getToken() {
return this.token;
}
public String getCode() {
return this.code;
}
public Integer getPage() {
return this.page;
}
public Integer getLimit() {
return this.limit;
}
public T getData() {
return this.data;
}
public void setToken(String token) {
this.token = token;
}
public void setCode(String code) {
this.code = code;
}
public void setPage(Integer page) {
this.page = page;
}
public void setLimit(Integer limit) {
this.limit = limit;
}
public void setData(T data) {
this.data = data;
}
}