Quellcode durchsuchen

将门禁设备数据接收改在web中

zhengqiang vor 5 Jahren
Ursprung
Commit
02f670e94a

+ 14 - 3
common/src/main/java/com/jpsoft/smart/modules/lapi/request/LapiRequest.java

@@ -18,6 +18,7 @@ import java.net.SocketAddress;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.TimeUnit;
 
 @Slf4j
@@ -52,11 +53,21 @@ public class LapiRequest {
 
         lapiChannel.getChannel().writeAndFlush(request).sync();
 
-        String body = lapiChannel.getReceivePacketQueue(uri).poll(10, TimeUnit.SECONDS);
-
         SysLog sysLog = new SysLog();
+        sysLog.setPointcut(deviceNo);
         sysLog.setUrl(uri);
 
+        BlockingQueue<String> queue = lapiChannel.getReceivePacketQueue(uri);
+
+        String body = "";
+
+        if(queue!=null) {
+            body = queue.poll(10, TimeUnit.SECONDS);
+        }
+        else{
+            sysLog.setRemark("设备" + deviceNo + "uri对应队列不存在!");
+        }
+
         if (StringUtils.isNotEmpty(msg) && msg.length()>255) {
             sysLog.setData(msg.substring(0,255));
         }
@@ -64,7 +75,7 @@ public class LapiRequest {
             sysLog.setData(msg);
         }
 
-        if (body!=null){
+        if (StringUtils.isNotEmpty(body)){
             if (body.length()>255){
                 sysLog.setRemark(body.substring(0,255));
             }