| 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); | 
|     } | 
| } |