R.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.sckw.freight.util;
  2. import lombok.*;
  3. import lombok.experimental.Accessors;
  4. import java.io.Serial;
  5. import java.io.Serializable;
  6. /**
  7. * @author xcq
  8. * @date 2022年06月14日 13:41
  9. */
  10. @ToString
  11. @NoArgsConstructor
  12. @AllArgsConstructor
  13. @Accessors(chain = true)
  14. public class R<T> implements Serializable {
  15. @Serial
  16. private static final long serialVersionUID = 1L;
  17. @Getter
  18. @Setter
  19. private String msg;
  20. @Getter
  21. @Setter
  22. private Boolean status;
  23. @Getter
  24. @Setter
  25. private T data;
  26. public static <T> R<T> ok() {
  27. return restResult(null, true, null);
  28. }
  29. public static <T> R<T> ok(T data) {
  30. return restResult(data, true, null);
  31. }
  32. public static <T> R<T> ok(T data, String msg) {
  33. return restResult(data, true, msg);
  34. }
  35. public static <T> R<T> failed() {
  36. return restResult(null, false, null);
  37. }
  38. public static <T> R<T> failed(String msg) {
  39. return restResult(null, false, msg);
  40. }
  41. public static <T> R<T> failed(T data) {
  42. return restResult(data, false, null);
  43. }
  44. public static <T> R<T> failed(T data, String msg) {
  45. return restResult(data, false, msg);
  46. }
  47. public static <T> R<T> failed(T data, String msg, int code) {
  48. return restResult(data, false, msg);
  49. }
  50. private static <T> R<T> restResult(T data, Boolean status, String msg) {
  51. R<T> apiResult = new R<>();
  52. apiResult.setStatus(status);
  53. apiResult.setData(data);
  54. apiResult.setMsg(msg);
  55. return apiResult;
  56. }
  57. }