R.java 1.64 KB
Newer Older
竹天卫's avatar
竹天卫 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
package cn.wise.im.common.http;

import lombok.Data;

import java.io.Serializable;

@Data
public class R<T> implements Serializable {
  private Integer code;
 
  private String message;
 
  private T data;
 
  private R() {
  }
 
  public static <T> R<T> ok() {
    return createResult(ResponseEnum.SUCCESS.getCode(), null, null);
  }
 
  public static <T> R<T> ok(T data) {
    return createResult(ResponseEnum.SUCCESS.getCode(), ResponseEnum.SUCCESS.getMessage(), data);
  }
 
  public static <T> R<T> ok(String message) {
    return createResult(ResponseEnum.SUCCESS.getCode(), message, null);
  }
 
  public static <T> R<T> ok(T data, String message) {
    return createResult(ResponseEnum.SUCCESS.getCode(), message, data);
  }
 
  public static <T> R<T> fail() {
    return createResult(ResponseEnum.FAIL.getCode(), ResponseEnum.FAIL.getMessage(), null);
  }
 
  public static <T> R<T> fail(ResponseEnum responseCode) {
    return createResult(responseCode.getCode(), responseCode.getMessage(), null);
  }
 
  public static <T> R<T> fail(ResponseEnum responseCode, T data) {
    return createResult(responseCode.getCode(), responseCode.getMessage(), data);
  }
 
  public static <T> R<T> fail(ResponseEnum responseCode, String message) {
    return createResult(responseCode.getCode(),
        String.format("%s %s", responseCode.getMessage(), message), null);
  }
 
  public static <T> R<T> fail(Integer code, String message) {
    return createResult(code, message, null);
  }
 
  private static <T> R<T> createResult(Integer code, String message, T data) {
    R<T> r = new R<>();
    r.setCode(code);
    r.setMessage(message);
    r.setData(data);
    return r;
  }
}