From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001
From: fyxc <fyxc@qq.com>
Date: 星期四, 22 五月 2025 14:33:06 +0800
Subject: [PATCH] server commit files

---
 src/main/java/com/zy/core/thread/impl/NormalLedThread.java |   66 +++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/NormalLedThread.java b/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
index 50c4cd6..883155c 100644
--- a/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
@@ -1,19 +1,28 @@
 package com.zy.core.thread.impl;
 
 import com.zy.common.model.MatDto;
+import com.zy.core.Slave;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.LedSlave;
+import com.zy.core.model.Task;
 import com.zy.core.model.command.LedCommand;
 import com.zy.core.thread.LedThread;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+@Data
 @Slf4j
 @SuppressWarnings("all")
 public class NormalLedThread implements LedThread, Runnable {
 
+    private Slave slave;
     private Set<Integer> workNos = new HashSet<>();
+
     private boolean ledMk = false;
     private boolean resetStatus = false;    // 澶嶄綅鐘舵��
 
@@ -23,9 +32,42 @@
 
     private StringBuffer errorMsg = new StringBuffer();
 
+    public NormalLedThread(LedSlave ledSlave) {
+        this.slave = ledSlave;
+    }
+
 
     @Override
+    @SuppressWarnings({"InfiniteLoopStatement", "unchecked"})
     public void run() {
+        while (true) {
+            try {
+                Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
+                if (task != null) {
+                    switch (task.getStep()) {
+                        // 鍐欐暟鎹�
+                        case 1:
+                            write((List<LedCommand>) task.getData());
+                            break;
+                        // 澶嶄綅
+                        case 2:
+                            reset();
+                            break;
+                        case 3:
+                            error((String) task.getData());
+                            break;
+                        case 4:
+                            errorReset();
+                            break;
+                        default:
+                            break;
+                    }
+                }
+                Thread.sleep(1000);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     public void write(List<LedCommand> list) {
@@ -52,11 +94,13 @@
         errorReset();
     }
 
+
     public void reset() {
         commandList = null;
+
         stringBuffer.delete(0, stringBuffer.length());
-        errorMsg.delete(0, errorMsg.length());
     }
+
 
     public void error(String msg) {
         errorMsg.delete(0, errorMsg.length());
@@ -68,21 +112,21 @@
     }
 
     @Override
-    public boolean connect() {
-        return true;
-    }
-
-    @Override
-    public void close() {
-    }
-
-    @Override
     public void setLedMk(boolean mk) {
         this.ledMk = mk;
     }
 
     @Override
     public boolean isLedMk() {
-        return this.ledMk;
+        return false;
+    }
+
+    @Override
+    public boolean connect() {
+        return true;
+    }
+
+    @Override
+    public void close() {
     }
 }

--
Gitblit v1.9.1