From 881055c73be760fa805af5c1aa44fff85363d61d Mon Sep 17 00:00:00 2001
From: senzhi <10983298651@qq.com>
Date: Tue, 03 Mar 2026 15:52:26 +0800
Subject: [PATCH] fix(v3.0.0):升级框架为v3

---
 build.gradle                                               |    6 +++---
 src/main/java/com/eternal/rfid/service/UF3RFIDReader.java  |   11 +++++++----
 src/main/java/com/eternal/rfid/params/UF3ReaderConfig.java |   23 +++++++++++++----------
 src/main/java/com/eternal/rfid/RfidReaderServer.java       |    4 ++--
 4 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/build.gradle b/build.gradle
index 9d144ab..c38458e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@
 jar.enabled = true
 
 group = 'com.eternal'
-version = '1.0.0'
+version = '3.0.0'
 
 java {
     sourceCompatibility = '1.8'
@@ -29,8 +29,8 @@
 dependencies {
     implementation fileTree(dir: '/lib', include: ['*.jar'])
 
-    implementation 'com.eternal:com.eternal.rfid.Common:2.1.20'
-    implementation 'com.eternal:app-params-config:1.1.16'
+    implementation 'com.eternal:com.eternal.rfid.Common:3.0.1'
+    implementation 'com.eternal:ops-console:2.0.0'
 
     implementation 'org.springframework.boot:spring-boot-starter-web'
     implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
diff --git a/src/main/java/com/eternal/rfid/RfidReaderServer.java b/src/main/java/com/eternal/rfid/RfidReaderServer.java
index 89c8eca..57e95c5 100644
--- a/src/main/java/com/eternal/rfid/RfidReaderServer.java
+++ b/src/main/java/com/eternal/rfid/RfidReaderServer.java
@@ -96,7 +96,7 @@
 
                 UF3RFIDReader uf3RFIDReader = readers.get(currentRunIndex.get());
                 if (uf3RFIDReader.isOnline()) {
-                    log.debug("ZebraReader<ip:{}> is online", uf3RFIDReader.getIp());
+                    log.debug("UF3Reader<ip:{}> is online", uf3RFIDReader.getIp());
                     return;
                 }
 
@@ -109,7 +109,7 @@
 
                 // 超过最大尝试次数,切换下一个读写器
                 if (tryTime.incrementAndGet() > maxTryTime) {
-                    log.warn("The ZebraReader<{}> exceeds the maximum attempts number<{}>, switch to the next reader", uf3RFIDReader.getIp(), maxTryTime);
+                    log.warn("The UF3Reader<{}> exceeds the maximum attempts number<{}>, switch to the next reader", uf3RFIDReader.getIp(), maxTryTime);
 
                     // 重置尝试次数
                     tryTime.set(0);
diff --git a/src/main/java/com/eternal/rfid/params/UF3ReaderConfig.java b/src/main/java/com/eternal/rfid/params/UF3ReaderConfig.java
index f11b448..86ae0ed 100644
--- a/src/main/java/com/eternal/rfid/params/UF3ReaderConfig.java
+++ b/src/main/java/com/eternal/rfid/params/UF3ReaderConfig.java
@@ -1,33 +1,36 @@
 package com.eternal.rfid.params;
 
-import com.eternal.config.param.annotation.Module;
-import com.eternal.config.param.annotation.Param;
+import com.eternal.config.dynamic.annotation.Module;
+import com.eternal.config.dynamic.annotation.Param;
+import com.eternal.config.dynamic.annotation.RequireRole;
 import lombok.Data;
 import org.springframework.stereotype.Component;
 
 @Component
 @Data
-@Module(type = "东集读写器",name = "东集写器配置参数")
+@Module(groups = "东集读写器",name = "东集写器配置参数")
 public class UF3ReaderConfig {
-    @Param(key = "component.reader.ip", defaultValue = "192.168.0.250", name = "读写器IP", fixed = true, description = "读写器IP")
+    @Param(key = "component.reader.ip", defaultValue = "192.168.0.250", name = "读写器IP", requiresRestart = true, description = "读写器IP")
     private String ip;
 
-    @Param(key = "component.reader.readerKey", defaultValue = "uf3-reader", name = "读写器KEY", fixed = true, description = "读写器KEY")
+    @Param(key = "component.reader.readerKey", defaultValue = "uf3-reader", name = "读写器KEY", requiresRestart = true, description = "读写器KEY")
     private String readerKey;
 
-    @Param(key = "component.reader.readerName", defaultValue = "东集读写器", name = "读写器名称", fixed = true, description = "读写器名称")
+    @Param(key = "component.reader.readerName", defaultValue = "东集读写器", name = "读写器名称", requiresRestart = true, description = "读写器名称")
     private String readerName;
 
-    @Param(key = "component.reader.port", defaultValue = "27011", name = "端口", fixed = true, description = "读写器端口")
+    @Param(key = "component.reader.port", defaultValue = "27011", name = "端口", requiresRestart = true, description = "读写器端口")
     private int port;
 
-    @Param(key = "component.reader.readType", defaultValue = "4", name = "读写器类型", fixed = true, description = "读写器类型,当前连接的是几口设备,例如4,连的是4天线口设备;16表示连接的16天线口设备")
+    @Param(key = "component.reader.readType", defaultValue = "4", name = "读写器类型", requiresRestart = true, description = "读写器类型,当前连接的是几口设备,例如4,连的是4天线口设备;16表示连接的16天线口设备")
     private int readType;
 
-    @Param(key = "component.reader.readLogOn_Off", defaultValue = "0", name = "日志开关", fixed = true, description = "日志开关。0-关;1-开")
+    @RequireRole({"maintain"})
+    @Param(key = "component.reader.readLogOn_Off", defaultValue = "0", name = "日志开关", requiresRestart = true, description = "日志开关。0-关;1-开")
     private int readLogOn_Off;
 
-    @Param(key = "component.reader.antennaPower", defaultValue = "22,22,22,26", name = "读写器功率", fixed = true, description = "读写器功率")
+    @RequireRole({"maintain"})
+    @Param(key = "component.reader.antennaPower", defaultValue = "22,22,22,26", name = "读写器功率", requiresRestart = true, description = "读写器功率")
     private String antennasPower;
 
     @Param(key = "component.rfid.reader.mode", defaultValue = "epc", name = "读模式", description = "epc,user,tid")
diff --git a/src/main/java/com/eternal/rfid/service/UF3RFIDReader.java b/src/main/java/com/eternal/rfid/service/UF3RFIDReader.java
index cc125dc..8723289 100644
--- a/src/main/java/com/eternal/rfid/service/UF3RFIDReader.java
+++ b/src/main/java/com/eternal/rfid/service/UF3RFIDReader.java
@@ -40,6 +40,7 @@
     private int readerType;
     private int readerLogOn_Off;
     private String mode;
+    private boolean isConnect = false;
 
     @Setter
     private Consumer<ApplicationEvent> eventConsumer;
@@ -66,22 +67,23 @@
 
 
     public void start() {
-        log.info("ip:{},port:{},readerType:{},log:{}", ip, port, readerType, readerLogOn_Off);
+        log.info("ip:{},port:{},readerType:{},log:{}", this.ip, this.port, this.readerType, this.readerLogOn_Off);
         reader = new CReader(ip, port, readerType, readerLogOn_Off);
-
         int conn = reader.Connect();
         if (conn != 0) {
             log.error("连接UF3设备失败,返回码={}", conn);
+            this.isConnect = false;
             return;
         }
         log.info("UF3 Reader设备连接成功:{}:{}", ip, props.getPort());
-
+        this.isConnect = true;
         //0x00关闭蜂鸣器,0x01打开蜂鸣器
         reader.SetBeepNotification(0x00);
 
         ReaderParameter param = new ReaderParameter();
         try {
             param.SetAntenna(0x09);
+            param.SetSession(0);
             param.SetReadType(0);
             reader.SetInventoryParameter(param);
         } catch (Exception e) {
@@ -122,12 +124,13 @@
             } catch (Exception e) {
                 log.warn("断开连接异常:{}", e.getMessage());
             }
+            this.isConnect = false;
             log.info("已停止并断开UF3设备连接");
         }
     }
 
     public boolean isOnline() {
-        return reader != null;
+        return reader != null && isConnect;
     }
 
     @Override

--
Gitblit v1.9.3