From 3943fd04924d29db178cd2330058c45e7a1c0a83 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 07 七月 2025 08:05:06 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/DeviceConfigMapper.xml           |    1 +
 src/main/java/com/zy/core/utils/DeviceMsgUtils.java        |    4 ++++
 src/main/webapp/views/admin/deviceConfig/deviceConfig.html |   10 ++++++++++
 src/main/java/com/zy/core/enums/RedisKeyType.java          |    2 ++
 src/main/java/com/zy/asrs/entity/DeviceConfig.java         |   13 +++++++++++++
 src/main/webapp/static/js/deviceConfig/deviceConfig.js     |    1 +
 src/main/java/com/zy/core/ServerBootstrap.java             |    9 ++++++++-
 7 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/DeviceConfig.java b/src/main/java/com/zy/asrs/entity/DeviceConfig.java
index a2e53c4..2dd2f1e 100644
--- a/src/main/java/com/zy/asrs/entity/DeviceConfig.java
+++ b/src/main/java/com/zy/asrs/entity/DeviceConfig.java
@@ -63,6 +63,13 @@
     @TableField("device_no")
     private Integer deviceNo;
 
+    /**
+     * 铏氭嫙璁惧
+     */
+    @ApiModelProperty(value= "铏氭嫙璁惧")
+    @TableField("fake")
+    private Integer fake;
+
     public DeviceConfig() {}
 
     public DeviceConfig(String ip,Integer port,String threadImpl,Date createTime,String deviceType,Integer deviceNo) {
@@ -90,5 +97,11 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
     }
 
+    public String getFake$() {
+        if (Cools.isEmpty(this.fake)){
+            return "";
+        }
+        return this.fake == 1 ? "鏄�" : "鍚�";
+    }
 
 }
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index f90de2d..a3036c6 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -74,6 +74,7 @@
 
     private void initThread(){
         List<DeviceConfig> allDevices = new ArrayList<>();
+        List<DeviceConfig> fakeDevices = new ArrayList<>();
 
 //        // 鍒濆鍖栬揣鍙夋彁鍗囨満
 //        List<DeviceConfig> forkLiftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
@@ -111,7 +112,6 @@
         // 鍒濆鍖栧洓鍚戠┛姊溅
         List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
                 .eq("device_type", String.valueOf(SlaveType.Shuttle)));
-        allDevices.addAll(shuttleList);
         for (DeviceConfig deviceConfig : shuttleList) {
             News.info("鍒濆鍖栧洓鍚戠┛姊溅......................................................");
             ThreadHandler thread = null;
@@ -123,11 +123,18 @@
 
             new Thread(thread).start();
             SlaveConnection.put(SlaveType.Shuttle, deviceConfig.getDeviceNo(), thread);
+
+            if (deviceConfig.getFake() == 1) {
+                fakeDevices.add(deviceConfig);
+            }else {
+                allDevices.add(deviceConfig);
+            }
         }
 
 
         //璁惧鍒濆鍖栧畬姣�
         deviceMsgUtils.sendDeviceConfig(JSON.toJSONString(allDevices));
+        deviceMsgUtils.sendFakeDeviceConfig(JSON.toJSONString(fakeDevices));
     }
 
 
diff --git a/src/main/java/com/zy/core/enums/RedisKeyType.java b/src/main/java/com/zy/core/enums/RedisKeyType.java
index 0ac7ce7..a6550d9 100644
--- a/src/main/java/com/zy/core/enums/RedisKeyType.java
+++ b/src/main/java/com/zy/core/enums/RedisKeyType.java
@@ -24,6 +24,8 @@
 
     //璁惧閰嶇疆鏂囦欢
     DEVICE_CONFIG("deviceConfig"),
+    //铏氭嫙璁惧閰嶇疆鏂囦欢
+    FAKE_DEVICE_CONFIG("fakeDeviceConfig"),
     ;
 
     public String key;
diff --git a/src/main/java/com/zy/core/utils/DeviceMsgUtils.java b/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
index b30d9c2..c6c26fc 100644
--- a/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
+++ b/src/main/java/com/zy/core/utils/DeviceMsgUtils.java
@@ -92,6 +92,10 @@
         redisUtil.set(RedisKeyType.DEVICE_CONFIG.key,  allDevices);
     }
 
+    public void sendFakeDeviceConfig(String fakeDevices) {
+        redisUtil.set(RedisKeyType.FAKE_DEVICE_CONFIG.key,  fakeDevices);
+    }
+
     public TreeSet<String> getDeviceMsgListKey(SlaveType deviceType, Integer deviceId) {
         String listKey = parseDeviceMsgKey(deviceType, deviceId);
         Set<String> keys = redisUtil.searchKeys(listKey);
diff --git a/src/main/resources/mapper/DeviceConfigMapper.xml b/src/main/resources/mapper/DeviceConfigMapper.xml
index c1602d5..4f4e054 100644
--- a/src/main/resources/mapper/DeviceConfigMapper.xml
+++ b/src/main/resources/mapper/DeviceConfigMapper.xml
@@ -11,6 +11,7 @@
         <result column="create_time" property="createTime" />
         <result column="device_type" property="deviceType" />
         <result column="device_no" property="deviceNo" />
+        <result column="fake" property="fake" />
 
     </resultMap>
 
diff --git a/src/main/webapp/static/js/deviceConfig/deviceConfig.js b/src/main/webapp/static/js/deviceConfig/deviceConfig.js
index adf938a..3caa19d 100644
--- a/src/main/webapp/static/js/deviceConfig/deviceConfig.js
+++ b/src/main/webapp/static/js/deviceConfig/deviceConfig.js
@@ -27,6 +27,7 @@
             ,{field: 'ip', align: 'center',title: '璁惧ip'}
             ,{field: 'port', align: 'center',title: '璁惧绔彛'}
             ,{field: 'threadImpl', align: 'center',title: '瀹炵幇绫�'}
+            ,{field: 'fake$', align: 'center',title: '铏氭嫙璁惧'}
             ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
 
             ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
diff --git a/src/main/webapp/views/admin/deviceConfig/deviceConfig.html b/src/main/webapp/views/admin/deviceConfig/deviceConfig.html
index 321e9c1..22e3d2c 100644
--- a/src/main/webapp/views/admin/deviceConfig/deviceConfig.html
+++ b/src/main/webapp/views/admin/deviceConfig/deviceConfig.html
@@ -102,6 +102,16 @@
                         <input class="layui-input" name="threadImpl" placeholder="璇疯緭鍏ュ疄鐜扮被">
                     </div>
                 </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">铏氭嫙璁惧: </label>
+                    <div class="layui-input-block">
+                        <select name="fake">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">鏄�</option>
+                            <option value="0">鍚�</option>
+                        </select>
+                    </div>
+                </div>
 
              </div>
         </div>

--
Gitblit v1.9.1