CalculateResult.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. package com.syjy.calculate.entity;
  2. import java.math.BigDecimal;
  3. import java.util.HashMap;
  4. /**
  5. * 数据返回格式化
  6. *
  7. * @author zcl
  8. * @version 1.0
  9. * @since 2022/9/9 10:34
  10. */
  11. public class CalculateResult extends HashMap<String, Object> {
  12. private static final long serialVersionUID = 1L;
  13. /** 100 */
  14. public static final BigDecimal ONE_HUNDRED = new BigDecimal("100");
  15. /** 百分号 */
  16. public static final String PERCENT = "%";
  17. /** formula */
  18. public static final String FORMULA = "FORMULA";
  19. /** rules */
  20. public static final String RULES = "RULES";
  21. /** 下划线 */
  22. public static final String UNDERLINE = "_";
  23. /** 忽略 */
  24. public static final String IGNORE = "666";
  25. /** 失败 */
  26. public static final String ERROR = "500";
  27. /** 状态码 */
  28. public static final String CODE_TAG = "code";
  29. /** 返回内容 */
  30. public static final String MSG_TAG = "msg";
  31. /** 数据对象 */
  32. public static final String DATA_TAG = "data";
  33. /** 公式上下文中的数据 */
  34. public static final String LIST = "list";
  35. /** 场站标识 */
  36. public static final String SIGN = "sign";
  37. /** 容量 */
  38. public static final String CAPACITY = "electricCapacity";
  39. /** 时间 */
  40. public static final String TIME = "time";
  41. /** 消息信息*/
  42. public static final String MSG_REQUEST_NULL = "入参为空";
  43. public static final String MSG_FORMULA_TYPE_NULL = "公式类型为空";
  44. public static final String MSG_PROVINCE_NULL = "省调为空";
  45. public static final String MSG_ELECTRIC_TYPE_NULL = "场站类型为空";
  46. public static final String MSG_CALCULATE_DATA_NULL = "计算数据为空";
  47. public static final String MSG_USEFUL_CALCULATE_DATA_NULL = "可用的计算数据为空";
  48. public static final String MSG_CAP_NULL = "实时容量有空值";
  49. public static final String MSG_DATA_CHECK_ERROR = "数据校验错误";
  50. public static final String MSG_NO_FORMULA = "未匹配到公式:";
  51. public static final String MSG_CALCULATE_SUCCESS = "计算成功";
  52. public static final String MSG_CALCULATE_FAIL = "计算失败:";
  53. public static final String MSG_CAP_ZERO = "容量为0";
  54. public static final String MSG_SIZE_ZERO = "个数为0";
  55. /**
  56. * 状态类型
  57. */
  58. public enum Type
  59. {
  60. /** 成功 */
  61. SUCCESS("200"),
  62. /** 忽略 */
  63. IGNORE("666"),
  64. /** 警告 */
  65. WARN("301"),
  66. /** 错误 */
  67. ERROR("500");
  68. private final String value;
  69. Type(String value)
  70. {
  71. this.value = value;
  72. }
  73. public String value()
  74. {
  75. return this.value;
  76. }
  77. }
  78. /**
  79. * 初始化一个新创建的 CalculateResult 对象
  80. *
  81. * @param type 状态类型
  82. * @param msg 返回内容
  83. */
  84. public CalculateResult(Type type, String msg)
  85. {
  86. super.put(CODE_TAG, type.value);
  87. super.put(MSG_TAG, msg);
  88. }
  89. /**
  90. * 初始化一个新创建的 CalculateResult 对象
  91. *
  92. * @param type 状态类型
  93. * @param msg 返回内容
  94. * @param data 数据对象
  95. */
  96. public CalculateResult(Type type, String msg, Object data)
  97. {
  98. super.put(CODE_TAG, type.value);
  99. super.put(MSG_TAG, msg);
  100. if (data != null) {
  101. super.put(DATA_TAG, data);
  102. }
  103. }
  104. /**
  105. * 返回成功消息
  106. *
  107. * @return 成功消息
  108. */
  109. public static CalculateResult success()
  110. {
  111. return CalculateResult.success("操作成功");
  112. }
  113. /**
  114. * 返回成功数据
  115. *
  116. * @return 成功消息
  117. */
  118. public static CalculateResult success(Object data)
  119. {
  120. return CalculateResult.success("操作成功", data);
  121. }
  122. /**
  123. * 返回成功消息
  124. *
  125. * @param msg 返回内容
  126. * @return 成功消息
  127. */
  128. public static CalculateResult success(String msg)
  129. {
  130. return CalculateResult.success(msg, null);
  131. }
  132. /**
  133. * 返回成功消息
  134. *
  135. * @param msg 返回内容
  136. * @param data 数据对象
  137. * @return 成功消息
  138. */
  139. public static CalculateResult success(String msg, Object data)
  140. {
  141. return new CalculateResult(Type.SUCCESS, msg, data);
  142. }
  143. /**
  144. * 返回警告消息
  145. *
  146. * @param msg 返回内容
  147. * @return 警告消息
  148. */
  149. public static CalculateResult warn(String msg)
  150. {
  151. return CalculateResult.warn(msg, null);
  152. }
  153. /**
  154. * 返回警告消息
  155. *
  156. * @param msg 返回内容
  157. * @param data 数据对象
  158. * @return 警告消息
  159. */
  160. public static CalculateResult warn(String msg, Object data)
  161. {
  162. return new CalculateResult(Type.WARN, msg, data);
  163. }
  164. /**
  165. * 返回错误消息
  166. *
  167. * @return
  168. */
  169. public static CalculateResult error()
  170. {
  171. return CalculateResult.error("操作失败");
  172. }
  173. /**
  174. * 返回错误消息
  175. *
  176. * @param msg 返回内容
  177. * @return 警告消息
  178. */
  179. public static CalculateResult error(String msg)
  180. {
  181. return CalculateResult.error(msg, null);
  182. }
  183. /**
  184. * 返回错误消息
  185. *
  186. * @param msg 返回内容
  187. * @param data 数据对象
  188. * @return 警告消息
  189. */
  190. public static CalculateResult error(String msg, Object data)
  191. {
  192. return new CalculateResult(Type.ERROR, msg, data);
  193. }
  194. }