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 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 ResultInfo create(Class cls){ return new ResultInfo(); } public static ResultInfo create(){ return new ResultInfo(); } public static ResultInfo createFail(Exception e){ ResultInfo result = new ResultInfo(); result.fail(e); return result; } public static ResultInfo createFail(String msg,Exception e){ ResultInfo result = new ResultInfo(); result.fail(msg,e); return result; } public ResultInfo success(){ this.success = true; return this; } public ResultInfo success(T data){ this.success = true; this.data = data; return this; } public ResultInfo fail(){ this.success = false; return this; } public ResultInfo fail(String msg){ this.success = false; this.msg = msg; return this; } public ResultInfo fail(Exception e){ this.success = false; if(e != null){ this.exception = e; this.msg = e.getMessage(); } return this; } public ResultInfo 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); } }