Procházet zdrojové kódy

checkOneSeatStateSpecBySimType

tom před 2 týdny
rodič
revize
37c632788c

+ 25 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/constant/ErrorMsgBuilder.java

@@ -0,0 +1,25 @@
+package com.ruoyi.sim.constant;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import java.util.Objects;
+
+public class ErrorMsgBuilder {
+
+    /**
+     *
+     * @param code
+     * @param msg
+     * @param data
+     * @return
+     */
+    public static AjaxResult errorMsg(Integer code, String msg, Object data) {
+        StringBuilder f = new StringBuilder();
+        f.append("[").append(code).append("]").append(msg);
+        if (Objects.isNull(data)) {
+            return AjaxResult.error(f.toString());
+        } else {
+            return AjaxResult.error(f.toString(), data);
+        }
+    }
+}

+ 34 - 16
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/CommCheckService.java

@@ -16,7 +16,6 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.text.MessageFormat;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -154,22 +153,9 @@ public class CommCheckService {
             //
             String msgTemp = "座号[{0}]-模拟器[{1}]型[{2}]在线";
             String msg = MessageFormat.format(msgTemp, seat.getSeatNum(), Sim.TYPE_NAME_MAP.get(sim.getSimType()), sim.getSimNum());
-            // 针对TYPE_0002型号,电量的特殊处理。
-            if (StringUtils.equals(sim.getSimType(), Sim.TYPE_0002)) {
-                StringBuffer sb = new StringBuffer(msg);
-                sb.append(";")
-                        .append("电量")
-                        .append(simService.getChargingCountPercentage(sim.getSimId()))
-                        .append("%;");
-                if (simService.isChargingCountFullBySimId(sim.getSimId())) {
-                    sb.append("充电完成!");
-                } else {
-                    sb.append("充电中!");
-                }
-                msg = sb.toString();
-            }
+            String msgSpec = checkOneSeatStateSpecBySimType(sim);
             // 成功的话,Obj为Sim对象。
-            return AjaxResult.success(msg, sim);
+            return AjaxResult.success(msg, sim + msgSpec);
         } else if (Objects.equals(result, SimMsg.Result.READ_TIMEOUT_EXCEPTION)) { // 正常情况:模拟器离线
             // 更新Sim状态
             if (!seat.getCurrentSimId().equals(Sim.ID_0)) {
@@ -194,6 +180,38 @@ public class CommCheckService {
     }
 
     /**
+     *
+     * @param sim
+     * @return
+     */
+    public String checkOneSeatStateSpecBySimType(final Sim sim) {
+        if (Objects.isNull(sim)) {
+            throw new IllegalArgumentException("sim is null");
+        }
+        switch (sim.getSimType()) {
+            case Sim.TYPE_0002: {
+                // 针对TYPE_0002型号,电量的特殊处理。
+                {
+                    if (StringUtils.equals(sim.getSimType(), Sim.TYPE_0002)) {
+                        StringBuilder sb = new StringBuilder();
+                        sb.append(";")
+                                .append("电量")
+                                .append(simService.getChargingCountPercentage(sim.getSimId()))
+                                .append("%;");
+                        if (simService.isChargingCountFullBySimId(sim.getSimId())) {
+                            sb.append("充电完成!");
+                        } else {
+                            sb.append("充电中!");
+                        }
+                        return sb.toString();
+                    }
+                }
+            }
+        }
+        return "";
+    }
+
+    /**
      * 纯数据库查询,模拟器是否在线。
      * 模拟器是否被禁用。
      *