SimMsg.java 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package com.ruoyi.sim.domain;
  2. import java.util.Date;
  3. import java.util.Objects;
  4. import com.fasterxml.jackson.annotation.JsonFormat;
  5. import com.ruoyi.common.core.domain.AjaxResult;
  6. import org.apache.commons.lang3.builder.ToStringBuilder;
  7. import org.apache.commons.lang3.builder.ToStringStyle;
  8. import com.ruoyi.common.annotation.Excel;
  9. import com.ruoyi.common.core.domain.BaseEntity;
  10. /**
  11. * 模拟器报文对象 sim_sim_msg
  12. *
  13. * @author tom
  14. * @date 2024-12-18
  15. */
  16. public class SimMsg extends BaseEntity {
  17. private static final long serialVersionUID = 1L;
  18. /**
  19. * 模拟器报文ID
  20. */
  21. private Long simMsgId;
  22. /**
  23. * 模拟器ID
  24. */
  25. @Excel(name = "模拟器ID")
  26. private Long simId;
  27. /**
  28. * 关联ID
  29. */
  30. @Excel(name = "关联ID")
  31. private Long examFaultRefId;
  32. /**
  33. * 考试类型
  34. * 1:练习
  35. * 2:自主练习
  36. * 3:考试
  37. */
  38. @Excel(name = "考试类型")
  39. private String examCollectionType;
  40. /**
  41. * 状态 0初始值 1成功 2失败
  42. */
  43. @Excel(name = "状态 0初始值 1成功 2失败")
  44. private String sendMsgState;
  45. /**
  46. * 优先级
  47. */
  48. @Excel(name = "优先级")
  49. private Integer priority;
  50. /**
  51. * 发送报文类型 cmd+cmdId
  52. */
  53. @Excel(name = "发送报文类型 cmd+cmdId")
  54. private String sendMsgType;
  55. /**
  56. * 发送报文
  57. */
  58. @Excel(name = "发送报文")
  59. private String sendMsg;
  60. /**
  61. * 发送时间
  62. */
  63. @JsonFormat(pattern = "yyyy-MM-dd")
  64. @Excel(name = "发送时间", width = 30, dateFormat = "yyyy-MM-dd")
  65. private Date sendTime;
  66. /**
  67. * 接收报文
  68. */
  69. @Excel(name = "接收报文")
  70. private String receiveMsg;
  71. private String receiveOriginalMsg;
  72. /**
  73. * 接收时间
  74. */
  75. @JsonFormat(pattern = "yyyy-MM-dd")
  76. @Excel(name = "接收时间", width = 30, dateFormat = "yyyy-MM-dd")
  77. private Date receiveTime;
  78. /**
  79. * 重试次数
  80. */
  81. @Excel(name = "重试次数")
  82. private Integer retryCount = 0;
  83. /**
  84. * default.
  85. */
  86. private Integer result = Result.DEFAULT_VALUE;
  87. /**
  88. * default ""
  89. */
  90. private String errorMsg = "";
  91. public void setSimMsgId(Long simMsgId) {
  92. this.simMsgId = simMsgId;
  93. }
  94. public Long getSimMsgId() {
  95. return simMsgId;
  96. }
  97. public void setSimId(Long simId) {
  98. this.simId = simId;
  99. }
  100. public Long getSimId() {
  101. return simId;
  102. }
  103. public void setExamFaultRefId(Long examFaultRefId) {
  104. this.examFaultRefId = examFaultRefId;
  105. }
  106. public Long getExamFaultRefId() {
  107. return examFaultRefId;
  108. }
  109. public void setExamCollectionType(String examCollectionType) {
  110. this.examCollectionType = examCollectionType;
  111. }
  112. public String getExamCollectionType() {
  113. return examCollectionType;
  114. }
  115. public void setSendMsgState(String sendMsgState) {
  116. this.sendMsgState = sendMsgState;
  117. }
  118. public String getSendMsgState() {
  119. return sendMsgState;
  120. }
  121. public void setPriority(Integer priority) {
  122. this.priority = priority;
  123. }
  124. public Integer getPriority() {
  125. return priority;
  126. }
  127. public void setSendMsgType(String sendMsgType) {
  128. this.sendMsgType = sendMsgType;
  129. }
  130. public String getSendMsgType() {
  131. return sendMsgType;
  132. }
  133. public void setSendMsg(String sendMsg) {
  134. this.sendMsg = sendMsg;
  135. }
  136. public String getSendMsg() {
  137. return sendMsg;
  138. }
  139. public void setSendTime(Date sendTime) {
  140. this.sendTime = sendTime;
  141. }
  142. public Date getSendTime() {
  143. return sendTime;
  144. }
  145. public void setReceiveMsg(String receiveMsg) {
  146. this.receiveMsg = receiveMsg;
  147. }
  148. public String getReceiveMsg() {
  149. return receiveMsg;
  150. }
  151. public String getReceiveOriginalMsg() {
  152. return receiveOriginalMsg;
  153. }
  154. public void setReceiveOriginalMsg(String receiveOriginalMsg) {
  155. this.receiveOriginalMsg = receiveOriginalMsg;
  156. }
  157. public void setReceiveTime(Date receiveTime) {
  158. this.receiveTime = receiveTime;
  159. }
  160. public Date getReceiveTime() {
  161. return receiveTime;
  162. }
  163. public void setRetryCount(Integer retryCount) {
  164. this.retryCount = retryCount;
  165. }
  166. public Integer getRetryCount() {
  167. return retryCount;
  168. }
  169. public Integer getResult() {
  170. return result;
  171. }
  172. public void setResult(Integer result) {
  173. this.result = result;
  174. }
  175. public String getErrorMsg() {
  176. return errorMsg;
  177. }
  178. public void setErrorMsg(String errorMsg) {
  179. this.errorMsg = errorMsg;
  180. }
  181. @Override
  182. public String toString() {
  183. return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
  184. .append("simMsgId", simMsgId)
  185. .append("simId", simId)
  186. .append("examFaultRefId", examFaultRefId)
  187. .append("examCollectionType", examCollectionType)
  188. .append("sendMsgState", sendMsgState)
  189. .append("priority", priority)
  190. .append("sendMsgType", sendMsgType)
  191. .append("sendMsg", sendMsg)
  192. .append("sendTime", sendTime)
  193. .append("receiveMsg", receiveMsg)
  194. .append("receiveOriginalMsg", receiveOriginalMsg)
  195. .append("receiveTime", receiveTime)
  196. .append("retryCount", retryCount)
  197. .append("result", result)
  198. .append("errorMsg", errorMsg)
  199. .toString();
  200. }
  201. // -------------------------------- tom add --------------------------------
  202. public boolean isResultOk() {
  203. if (Objects.equals(this.result, Result.SUCCESS)) {
  204. return true;
  205. }
  206. return false;
  207. }
  208. public boolean isResultNotOk() {
  209. return !isResultOk();
  210. }
  211. public AjaxResult getDefaultErrorAR() {
  212. if (Objects.equals(this.result, Result.SUCCESS)) {
  213. // throw new IllegalArgumentException("错误执行!先判断消息对错!");
  214. return AjaxResult.success("");
  215. } else if (Objects.equals(this.result, Result.SOCKET_CONNECT_EXCEPTION)) {
  216. return AjaxResult.error("模拟器通信连接失败!");
  217. } else if (Objects.equals(this.result, Result.READ_TIMEOUT_EXCEPTION)) {
  218. return AjaxResult.error("模拟器通信超时!");
  219. } else if (Objects.equals(this.result, Result.RECEIVE_CHECK_FAIL)) {
  220. return AjaxResult.error("回复报文格式错误!");
  221. } else if (Objects.equals(this.result, Result.RECEIVE_NOT_MATCH)) {
  222. return AjaxResult.error("回复报文不匹配!");
  223. } else {
  224. // throw new IllegalArgumentException("参数错误!");
  225. }
  226. return null;
  227. }
  228. public interface Result {
  229. /**
  230. * 默认空值。
  231. */
  232. Integer DEFAULT_VALUE = 0;
  233. /**
  234. * 成功。
  235. */
  236. Integer SUCCESS = 200;
  237. /**
  238. * Socket连接问题。
  239. */
  240. Integer SOCKET_CONNECT_EXCEPTION = 501;
  241. /**
  242. * SocketTimeoutException。
  243. */
  244. Integer READ_TIMEOUT_EXCEPTION = 502;
  245. /**
  246. * 接收报文格式不正确。
  247. */
  248. Integer RECEIVE_CHECK_FAIL = 520;
  249. /**
  250. * 接收报文格式不匹配。
  251. */
  252. Integer RECEIVE_NOT_MATCH = 530;
  253. }
  254. public SimMsg() {
  255. }
  256. public SimMsg(Long simMsgId, String sendMsg) {
  257. this.simMsgId = simMsgId;
  258. this.sendMsg = sendMsg;
  259. }
  260. public void retryCountPlus1() {
  261. setRetryCount(getRetryCount() + 1);
  262. }
  263. }