ResponseModel.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.szwl.model.bo;
  2. import com.szwl.constant.ResponseCodesEnum;
  3. import com.fasterxml.jackson.annotation.JsonView;
  4. import io.swagger.annotations.ApiModelProperty;
  5. import lombok.Data;
  6. import lombok.EqualsAndHashCode;
  7. import lombok.experimental.Accessors;
  8. @EqualsAndHashCode(callSuper = true)
  9. @Data
  10. @Accessors(chain = true)
  11. public class ResponseModel<T> extends R<T> {
  12. public interface NormalView {}
  13. public interface FullView extends NormalView {}
  14. @ApiModelProperty(value = "返回码")
  15. @JsonView({NormalView.class})
  16. private String code;
  17. @ApiModelProperty(value = "返回信息")
  18. @JsonView({NormalView.class})
  19. private String message = "";
  20. @ApiModelProperty(value = "返回数据")
  21. @JsonView({NormalView.class})
  22. private T data;
  23. public static <T> ResponseModel<T> ok(T data) {
  24. return new ResponseModel<T>()
  25. .setCode(ResponseCodesEnum.ALL_OK.code())
  26. .setData(data);
  27. }
  28. public static <T> ResponseModel<T> ok(T data, String message) {
  29. return new ResponseModel<T>()
  30. .setCode(ResponseCodesEnum.ALL_OK.code())
  31. .setMessage(message)
  32. .setData(data);
  33. }
  34. public static <T> ResponseModel<T> ok() {
  35. return new ResponseModel<T>()
  36. .setCode(ResponseCodesEnum.ALL_OK.code());
  37. }
  38. public static <T> ResponseModel<T> okByMsg(String message) {
  39. return new ResponseModel<T>()
  40. .setCode(ResponseCodesEnum.ALL_OK.code())
  41. .setMessage(message);
  42. }
  43. public static <T> ResponseModel<T> fail(ResponseCodesEnum code,String message) {
  44. return new ResponseModel<T>()
  45. .setCode(code.code())
  46. .setMessage(message);
  47. }
  48. public static <T> ResponseModel<T> fail(ResponseCodesEnum code) {
  49. return new ResponseModel<T>()
  50. .setCode(code.code())
  51. .setMessage(code.message());
  52. }
  53. public static <T> ResponseModel<T> fail(String message) {
  54. return new ResponseModel<T>()
  55. .setCode(ResponseCodesEnum.B0001.code())
  56. .setMessage(message);
  57. }
  58. /**
  59. * 校验是否成功
  60. *
  61. * @return
  62. */
  63. public boolean isSuccess() {
  64. return ResponseCodesEnum.ALL_OK.code().equalsIgnoreCase(this.getCode());
  65. }
  66. }