| package com.sinata.zuul.util; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import io.swagger.annotations.ApiModel; | 
| import io.swagger.annotations.ApiModelProperty; | 
|   | 
| /** | 
|  * 定义统一返回对象 | 
|  */ | 
| @ApiModel(value = "统一返回结果集") | 
| public class ResultUtil<T> { | 
|   | 
|     public static final Integer SUCCESS = 200; | 
|   | 
|     public static final Integer PARAM_ERROR = 300; | 
|   | 
|     public static final Integer RUNTIME_ERROR = 400; | 
|   | 
|     public static final Integer ERROR = 500; | 
|   | 
|     public static final Integer TOKEN_ERROR = 600; | 
|   | 
|     public static final Integer SIGN_ERROR = 700; | 
|   | 
|     public static final String Token = "TOKEN_INVALID"; | 
|   | 
|     public static final String SIGN = "SIGN_INVALID"; | 
|   | 
|     @ApiModelProperty(name = "code", value = "业务状态码 200:成功,300:参数错误,400:运行异常,500:其他异常, 600:token无效,需重新登录,700:签名无效") | 
|     private Integer code;//备用状态码 | 
|   | 
|     @ApiModelProperty(name = "msg", value = "返回结果说明") | 
|     private String msg;//返回说明 | 
|   | 
|     @ApiModelProperty(name = "data", value = "返回结果值") | 
|     private T data;//返回数据 | 
|   | 
|   | 
|   | 
|     public String getMsg() { | 
|         return msg; | 
|     } | 
|   | 
|     public T getData() { | 
|         return data; | 
|     } | 
|   | 
|   | 
|     public Integer getCode() { | 
|         return code; | 
|     } | 
|   | 
|     private ResultUtil(Integer code, String msg) { | 
|         this.code = code; | 
|         this.msg = msg; | 
|     } | 
|   | 
|     private ResultUtil(Integer code, String msg, T data) { | 
|         this.code = code; | 
|         this.msg = msg; | 
|         this.data = data; | 
|     } | 
|   | 
|   | 
|     public static <T> ResultUtil<T> getResult(Integer code, String msg){ | 
|         return new ResultUtil<>(code, msg); | 
|     } | 
|   | 
|     public static <T> ResultUtil<T> getResult(Integer code, String msg, T data){ | 
|         return new ResultUtil<>(code, msg, data); | 
|     } | 
|   | 
|     /** | 
|      * 错误信息 | 
|      * @return | 
|      */ | 
|     public static ResultUtil error(String mag){ | 
|         return ResultUtil.getResult(ResultUtil.ERROR, mag, new JSONObject()); | 
|     } | 
|   | 
|     /** | 
|      * 错误信息 | 
|      * @return | 
|      */ | 
|     public static <T> ResultUtil <T> error(String mag, T obj){ | 
|         return ResultUtil.getResult(ResultUtil.ERROR, mag, obj); | 
|     } | 
|   | 
|     /** | 
|      * token失效 | 
|      * @return | 
|      */ | 
|     public static ResultUtil tokenErr(){ | 
|         return ResultUtil.getResult(ResultUtil.TOKEN_ERROR, ResultUtil.Token, new JSONObject()); | 
|     } | 
|   | 
|     /** | 
|      * token失效 | 
|      * @return | 
|      */ | 
|     public static ResultUtil tokenErr(String msg){ | 
|         return ResultUtil.getResult(ResultUtil.TOKEN_ERROR, msg, new JSONObject()); | 
|     } | 
|   | 
|     /** | 
|      * 参数异常 | 
|      * @return | 
|      */ | 
|     public static  ResultUtil paranErr(){ | 
|         return ResultUtil.getResult(ResultUtil.PARAM_ERROR, "PARAM_ERROR", new JSONObject()); | 
|     } | 
|   | 
|     /** | 
|      * 参数异常 | 
|      * @return | 
|      */ | 
|     public static <T> ResultUtil<T> paranErr(T data){ | 
|         return ResultUtil.getResult(ResultUtil.PARAM_ERROR, "SYSTEM_RUN_ERROR", data); | 
|     } | 
|   | 
|     /** | 
|      * 运行异常 | 
|      * @return | 
|      */ | 
|     public static ResultUtil runErr(){ | 
|         return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, "SYSTEM_RUN_ERROR", new JSONObject()); | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 运行异常 | 
|      * @return | 
|      */ | 
|     public static <T>ResultUtil<T> runErr(T data){ | 
|         return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, "SYSTEM_RUN_ERROR", data); | 
|     } | 
|   | 
|     /** | 
|      * 运行异常 | 
|      * @return | 
|      */ | 
|     public static <T>ResultUtil<T> runErr(T data, String msg){ | 
|         return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, msg, data); | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 返回成功 | 
|      * @param | 
|      * @return | 
|      */ | 
|     public static ResultUtil success(){ | 
|         return ResultUtil.getResult(ResultUtil.SUCCESS, "SUCCESS", new JSONObject()); | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 返回成功 | 
|      * @param data | 
|      * @param <T> | 
|      * @return | 
|      */ | 
|     public static <T> ResultUtil<T> success(T data){ | 
|         return ResultUtil.getResult(ResultUtil.SUCCESS, "SUCCESS", data); | 
|     } | 
|   | 
|     /** | 
|      * 返回成功 | 
|      * @param msg | 
|      * @param data | 
|      * @param <T> | 
|      * @return | 
|      */ | 
|     public static <T> ResultUtil<T> success(String msg, T data){ | 
|         return ResultUtil.getResult(ResultUtil.SUCCESS, msg, data); | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 签名无效 | 
|      * @param <T> | 
|      * @return | 
|      */ | 
|     public static <T> ResultUtil<T> sign(){ | 
|         return ResultUtil.getResult(ResultUtil.SIGN_ERROR, SIGN); | 
|     } | 
|   | 
| } |