Selaa lähdekoodia

大华设备对接

yingp 7 vuotta sitten
vanhempi
commit
eddf94f2b3

+ 18 - 4
applications/device/device-sdk-dahua/src/main/java/com/usoftchina/smartschool/device/dahua/lib/DahuaLibrary.java

@@ -9,6 +9,8 @@ import com.sun.jna.win32.StdCallLibrary;
 
 import java.time.LocalDateTime;
 import java.time.ZoneId;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 import java.util.Date;
 
 /**
@@ -122,8 +124,14 @@ public interface DahuaLibrary extends Library {
             return String.format("%02d-%02d-%02d %02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond);
         }
 
-        public LocalDateTime toDateTime() {
-            return LocalDateTime.of(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond);
+        /**
+         * UTC时间转本地时间
+         *
+         * @return
+         */
+        public Date toDate() {
+            return Date.from(ZonedDateTime.of(LocalDateTime.of(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond),
+                    ZoneOffset.UTC).toInstant());
         }
     }
 
@@ -172,8 +180,14 @@ public interface DahuaLibrary extends Library {
                     dwSecond, dwMillisecond);
         }
 
-        public LocalDateTime toDateTime() {
-            return LocalDateTime.of(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond, dwMillisecond);
+        /**
+         * UTC时间转本地时间
+         *
+         * @return
+         */
+        public Date toDate() {
+            return Date.from(ZonedDateTime.of(LocalDateTime.of(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond, dwMillisecond),
+                    ZoneOffset.UTC).toInstant());
         }
     }
 

+ 1 - 1
applications/device/device-sdk-dahua/src/main/java/com/usoftchina/smartschool/device/dahua/service/DahuaDataAnalyzeService.java

@@ -70,7 +70,7 @@ public class DahuaDataAnalyzeService {
                     accessControlInfo.setCardNo(new String(info.szCardNo));
                     accessControlInfo.setEventType(convertEventType(info.emEventType));
                     accessControlInfo.setOpenMethod(convertOpenMethod(info.emOpenMethod));
-                    accessControlInfo.setEventTime(info.UTC.toDateTime());
+                    accessControlInfo.setEventTime(info.UTC.toDate());
                     SpringContextHolder.getContext().publishEvent(new AccessControlEvent(this,
                             accessControlInfo));
                     // 其他地方可通过监听 AccessControlEvent 来扩展

+ 4 - 4
applications/device/device-sdk/src/main/java/com/usoftchina/smartschool/device/dto/AccessControlInfo.java

@@ -1,7 +1,7 @@
 package com.usoftchina.smartschool.device.dto;
 
 import java.io.Serializable;
-import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * 门禁事件信息
@@ -13,7 +13,7 @@ public class AccessControlInfo implements Serializable {
     /**
      * 事件时间
      */
-    private LocalDateTime eventTime;
+    private Date eventTime;
     /**
      * 事件类型(进门/出门)
      *
@@ -35,11 +35,11 @@ public class AccessControlInfo implements Serializable {
      */
     private int openMethod;
 
-    public LocalDateTime getEventTime() {
+    public Date getEventTime() {
         return eventTime;
     }
 
-    public void setEventTime(LocalDateTime eventTime) {
+    public void setEventTime(Date eventTime) {
         this.eventTime = eventTime;
     }
 

+ 9 - 0
applications/device/device-server/src/main/java/com/usoftchina/smartschool/device/controller/DeviceController.java

@@ -0,0 +1,9 @@
+package com.usoftchina.smartschool.device.controller;
+
+/**
+ * @author yingp
+ * @date 2019/3/8
+ */
+public class DeviceController {
+
+}