Selaa lähdekoodia

RFID对接 --end

k 2 vuotta sitten
vanhempi
commit
9156d2009d

+ 12 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/test/RfidReaderTestController.java

@@ -23,12 +23,21 @@ public class RfidReaderTestController {
     private RFIDReaderClient rfidReaderClient;
 
     /**
-     * 读取标签
+     * 读取标签-读一次
      */
     @ApiOperation("读取标签")
     @PostMapping("/readTags")
-    public void readTags() {
-        rfidReaderClient.readTags();
+    public String[] readTags() {
+        return rfidReaderClient.readTags();
+    }
+
+    /**
+     * 读取标签-循环读
+     */
+    @ApiOperation("读取标签-循环读")
+    @PostMapping("/readTagsTest")
+    public void readTagsTest() {
+        rfidReaderClient.readTagsTest();
     }
 
 }

+ 22 - 5
warewms-hard/src/main/java/com/ruoyi/hard/rfid/RFIDReaderClient.java

@@ -8,6 +8,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -26,16 +29,30 @@ public class RFIDReaderClient {
     private RfidReaderTemplate rfidReaderTemplateFirst;
 
 
-    public void readTags() {
+    public String[] readTags() {
+        RfidReaderUtil rfidReaderUtil = rfidReaderTemplateFirst.getRfidReaderUtil();
+        TagData[] tagData = rfidReaderUtil.readTags();
+        if (tagData == null) {
+            log.error("读取标签为空!");
+            return null;
+        } else {
+            List<String> tagIdList = Arrays.stream(tagData).map(v -> v.getTagID()).collect(Collectors.toList());
+            return (String[]) tagIdList.toArray();
+        }
+    }
+
+    public void readTagsTest() {
         RfidReaderUtil rfidReaderUtil = rfidReaderTemplateFirst.getRfidReaderUtil();
         for (; ; ) {
             TagData[] tagData = rfidReaderUtil.readTags();
             if (tagData == null) {
                 log.error("读取标签为空!");
-            }else {
-                System.out.println("-----------------------");
-                Arrays.stream(tagData).forEach(t -> System.out.println(t.getTagID()));
-                System.out.println("-----------------------");
+            } else {
+                List<String> tagIdList = Arrays.stream(tagData).map(v -> v.getTagID()).collect(Collectors.toList());
+                String[] tagIds = (String[]) tagIdList.toArray();
+                System.out.println("--------------RFID读取标签--------------------");
+                Arrays.stream(tagIds).forEach(v -> System.out.println(v));
+                System.out.println("--------------RFID读取标签--------------------");
             }
         }
     }