Result.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package com.fdage.util;
  2. import io.swagger.annotations.ApiModelProperty;
  3. import lombok.AllArgsConstructor;
  4. import lombok.Data;
  5. import lombok.NoArgsConstructor;
  6. import java.io.Serializable;
  7. import java.time.LocalDateTime;
  8. /**
  9. * 通用返回类
  10. *
  11. * @author
  12. */
  13. @Data
  14. @NoArgsConstructor
  15. @AllArgsConstructor
  16. public class Result<T> implements Serializable {
  17. private static final long serialVersionUID = -1491499610244557029L;
  18. public static final String SUCCESS_MSG = "操作成功";
  19. public static int CODE_SUCCESS = 0;
  20. public static int CODE_FAILURE = -1;
  21. public static String[] NOOP = new String[]{};
  22. public static LocalDateTime dataTime = LocalDateTime.now();
  23. /**
  24. * 处理状态:0: 成功, 1: 失败
  25. */
  26. @ApiModelProperty(value = "处理状态:0: 成功, -1: 失败", name = "code")
  27. private int code;
  28. /**
  29. * 消息
  30. */
  31. @ApiModelProperty(value = "消息", name = "msg")
  32. private String msg;
  33. /**
  34. * 返回数据
  35. */
  36. @ApiModelProperty(value = "返回数据", name = "data")
  37. private T data;
  38. @ApiModelProperty(value = "时间戳", name = "timestamp")
  39. private LocalDateTime timestamp;
  40. /**
  41. * 处理成功,并返回数据
  42. *
  43. * @param data 数据对象
  44. * @return data
  45. */
  46. public static Result success(Object data) {
  47. return new Result(CODE_SUCCESS, SUCCESS_MSG, data, dataTime);
  48. }
  49. /**
  50. * 处理成功
  51. *
  52. * @return data
  53. */
  54. public static Result success() {
  55. return new Result(CODE_SUCCESS, SUCCESS_MSG, NOOP, dataTime);
  56. }
  57. /**
  58. * 处理成功
  59. *
  60. * @param msg 消息
  61. * @return data
  62. */
  63. public static Result success(String msg) {
  64. return new Result(CODE_SUCCESS, msg, NOOP, dataTime);
  65. }
  66. /**
  67. * 处理成功
  68. *
  69. * @param msg 消息
  70. * @param data 数据对象
  71. * @return data
  72. */
  73. public static Result success(String msg, Object data) {
  74. return new Result(CODE_SUCCESS, msg, data, dataTime);
  75. }
  76. /**
  77. * 处理失败,并返回数据(一般为错误信息)
  78. *
  79. * @param code 错误代码
  80. * @param msg 消息
  81. * @return data
  82. */
  83. public static Result failure(int code, String msg) {
  84. return new Result(code, msg, NOOP , dataTime);
  85. }
  86. /**
  87. * 处理失败
  88. *
  89. * @param msg 消息
  90. * @return data
  91. */
  92. public static Result failure(String msg) {
  93. return failure(CODE_FAILURE, msg);
  94. }
  95. @Override
  96. public String toString() {
  97. return "JsonResult [code=" + code + ", msg=" + msg + ", data="
  98. + data + ", timestamp="+ dataTime + "]";
  99. }
  100. }