R.java 1.7 KB

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