package com.jzq.common;
|
|
import com.alibaba.fastjson.annotation.JSONField;
|
import lombok.Data;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
|
import java.beans.Transient;
|
import java.io.Serializable;
|
import java.util.List;
|
|
/**
|
* 返回对象
|
* @author luopeng
|
*
|
*/
|
@Data
|
public class ResultInfo<T> implements Serializable {
|
|
private static final long serialVersionUID = -1L;
|
|
private boolean success; // 操作是否成功
|
private String msg; // 操作失败的原因
|
|
private String resultCode;//返回码
|
|
private T data;//返回对象
|
|
/**异常对象不作序列化传输*/
|
private transient Exception exception;//异常对象
|
|
public ResultInfo(){}
|
|
public static <T> ResultInfo<T> create(Class<T> cls){
|
return new ResultInfo<T>();
|
}
|
|
public static ResultInfo<Void> create(){
|
return new ResultInfo<Void>();
|
}
|
|
public static ResultInfo<Void> createFail(Exception e){
|
ResultInfo<Void> result = new ResultInfo<Void>();
|
result.fail(e);
|
return result;
|
}
|
|
public static ResultInfo<Void> createFail(String msg,Exception e){
|
ResultInfo<Void> result = new ResultInfo<Void>();
|
result.fail(msg,e);
|
return result;
|
}
|
|
public ResultInfo<T> success(){
|
this.success = true;
|
return this;
|
}
|
|
public ResultInfo<T> success(T data){
|
this.success = true;
|
this.data = data;
|
return this;
|
}
|
|
public ResultInfo<T> fail(){
|
this.success = false;
|
return this;
|
}
|
|
public ResultInfo<T> fail(String msg){
|
this.success = false;
|
this.msg = msg;
|
return this;
|
}
|
|
public ResultInfo<T> fail(Exception e){
|
this.success = false;
|
if(e != null){
|
this.exception = e;
|
this.msg = e.getMessage();
|
}
|
return this;
|
}
|
|
public ResultInfo<T> fail(String msg,Exception e){
|
this.success = false;
|
this.msg = msg;
|
if(e != null){
|
this.exception = e;
|
}
|
return this;
|
}
|
|
public String toString() {
|
return ToStringBuilder.reflectionToString(this);
|
}
|
}
|