package com.estate.expert.common.rpc;
|
|
import com.estate.expert.common.utils.LogUtils;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.*;
|
|
/**
|
* @author code
|
*/
|
@Data
|
@Builder
|
@NoArgsConstructor
|
@AllArgsConstructor
|
@ApiModel("接口返回结果")
|
public class Result<T> {
|
|
@ApiModelProperty("接口返回数据")
|
private T data;
|
|
@ApiModelProperty("接口返回状态")
|
private Status status;
|
|
@ApiModelProperty("异常错误信息")
|
private String errorMsg;
|
|
@ApiModelProperty("追踪ID")
|
private String traceId;
|
|
@JsonIgnore
|
public boolean isSuccess() {
|
return Status.OK == this.status;
|
}
|
|
public static Result<?> success() {
|
return Result.builder()
|
.status(Status.OK)
|
.build();
|
}
|
|
public static <T> Result success(T content) {
|
return Result.builder()
|
.status(Status.OK)
|
.data(content)
|
.build();
|
}
|
|
public static Result error(ApiResultCode resultCode) {
|
return Result.builder()
|
.status(Status.ERROR)
|
.traceId(LogUtils.getTraceId())
|
.errorMsg(resultCode.getErrorMsg())
|
.build();
|
}
|
|
public static Result error(String customErrorMsg) {
|
return Result.builder()
|
.status(Status.ERROR)
|
.errorMsg(customErrorMsg)
|
.traceId(LogUtils.getTraceId())
|
.build();
|
}
|
|
public static Result error(String errorCode, String errorMsg) {
|
return Result.builder()
|
.status(Status.ERROR)
|
.traceId(LogUtils.getTraceId())
|
.errorMsg(errorMsg)
|
.build();
|
}
|
|
@Override
|
public Result clone() {
|
return Result.builder()
|
.status(status)
|
.data(data)
|
.errorMsg(errorMsg)
|
.build();
|
}
|
|
@Getter
|
@ApiModel("接口返回状态")
|
public static enum Status {
|
/** 接口返回状态 */
|
OK,
|
ERROR,
|
;
|
}
|
|
|
}
|