1
0

Message.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.kmall.admin.haikong.utils;
  2. import com.google.common.base.Strings;
  3. import java.io.Serializable;
  4. /**
  5. * 通用消息封装
  6. *
  7. * @ClassName: Message
  8. * @author yechao
  9. * @date 2017年5月3日 下午2:03:14
  10. * @author Scott Chen
  11. * @date 2017-09-19 16:60
  12. * @Description:
  13. */
  14. public class Message implements Serializable {
  15. private static final long serialVersionUID = 4081619286503989887L;
  16. private boolean isSuccess;
  17. /**
  18. * 消息代码 , 由使用者自由发挥
  19. */
  20. private String code;
  21. /**
  22. * 消息内容体 , 由使用者自由发挥
  23. */
  24. private String msg;
  25. /**
  26. * 扩展
  27. */
  28. private Object extend;
  29. private Message() {
  30. }
  31. public String getCode() {
  32. return code;
  33. }
  34. public String getMsg() {
  35. return msg;
  36. }
  37. public Object getExtend() {
  38. return extend;
  39. }
  40. public boolean isSuccess() {
  41. return isSuccess;
  42. }
  43. public static Builder builder() {
  44. return new Builder();
  45. }
  46. public static Builder builder(String code, String msg) {
  47. return new Builder(code, msg);
  48. }
  49. public static Builder builder(String code, String msg, Object extend) {
  50. return new Builder(code, msg, extend);
  51. }
  52. //---------- 直接返回结果 ----------
  53. public static Message success() {
  54. return new Builder().build();
  55. }
  56. public static Message success(Object object) {
  57. Builder builder = new Builder();
  58. return builder.setExtend(object).build();
  59. }
  60. public static Message success(String msg) {
  61. return new Builder(MessageCode.SUCCESS_CODE, msg).build();
  62. }
  63. public static Message success(String msg, Object object) {
  64. Builder builder = new Builder(MessageCode.SUCCESS_CODE, msg, object);
  65. return builder.build();
  66. }
  67. public static Message success(String code, String msg, Object object) {
  68. Builder builder = new Builder(code, msg, object);
  69. return builder.build();
  70. }
  71. public static Message success(String code, String msg) {
  72. return new Builder(code, msg).build();
  73. }
  74. //--- 错误----------
  75. public static Message error() {
  76. return new Builder(MessageCode.ERROR_CODE, MessageCode.ERROR_MSG).build();
  77. }
  78. public static Message error(String msg) {
  79. return new Builder(MessageCode.ERROR_CODE, msg).build();
  80. }
  81. public static Message error(String code, String msg) {
  82. return new Builder(code, msg).build();
  83. }
  84. //--- 失败----------
  85. public static Message failed() {
  86. return new Builder(MessageCode.FAILED_CODE, MessageCode.FAILED_MSG).build();
  87. }
  88. public static Message failed(String msg) {
  89. return new Builder(MessageCode.FAILED_CODE, msg).build();
  90. }
  91. public static Message failed(String code, String msg) {
  92. return new Builder(code, msg).build();
  93. }
  94. /**
  95. * 消息构建器类
  96. */
  97. public static class Builder {
  98. private boolean isSuccess;
  99. private String code;
  100. private String msg;
  101. private Object extend;
  102. public Builder() {
  103. this.isSuccess = true;
  104. this.code = MessageCode.SUCCESS_CODE;
  105. this.msg = MessageCode.SUCCESS_MSG;
  106. this.extend = null;
  107. }
  108. public Builder(String code, String msg) {
  109. this.code = Strings.isNullOrEmpty(code) ? MessageCode.SUCCESS_CODE : code;
  110. this.msg = Strings.isNullOrEmpty(msg) ? MessageCode.SUCCESS_MSG : msg;
  111. this.isSuccess = this.code.equals(MessageCode.SUCCESS_CODE) ? true : false;
  112. }
  113. public Builder(String code, String msg, Object extend) {
  114. this.code = Strings.isNullOrEmpty(code) ? MessageCode.SUCCESS_CODE : code;
  115. this.msg = Strings.isNullOrEmpty(msg) ? MessageCode.SUCCESS_MSG : msg;
  116. this.extend = extend;
  117. this.isSuccess = this.code.equals(MessageCode.SUCCESS_CODE) ? true : false;
  118. }
  119. public Message build() {
  120. Message message = new Message();
  121. message.isSuccess = this.isSuccess;
  122. message.code = this.code;
  123. message.msg = this.msg;
  124. message.extend = this.extend;
  125. return message;
  126. }
  127. public void setSuccess(boolean success) {
  128. isSuccess = success;
  129. }
  130. public Builder setCode(String code) {
  131. this.code = code;
  132. return this;
  133. }
  134. public Builder setMsg(String msg) {
  135. this.msg = msg;
  136. return this;
  137. }
  138. public Builder setExtend(Object extend) {
  139. this.extend = extend;
  140. return this;
  141. }
  142. }
  143. }