From 377f0f2c8231df27c0d385f3e2a8bcc4bec547de Mon Sep 17 00:00:00 2001
From: 64850858 <648540858@qq.com>
Date: 星期二, 08 六月 2021 18:44:15 +0800
Subject: [PATCH] 提高注册兼容性, 修复sql兼容mysql

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java                            |    6 
 web_src/src/components/DeviceList.vue                                                         |    5 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java               |    8 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java |    5 
 src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java                                     |  100 ++++++++++++++--
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java                            |  139 ++++++++++++-----------
 src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java        |   25 +--
 src/main/resources/all-application.yml                                                        |    1 
 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java               |    9 +
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java                     |    4 
 10 files changed, 187 insertions(+), 115 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
index c6b50b0..8ab34bf 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
@@ -21,25 +21,25 @@
     private String streamIp;
 
     @Value("${media.httpPort}")
-    private String httpPort;
+    private Integer httpPort;
 
     @Value("${media.httpSSlPort:}")
-    private String httpSSlPort;
+    private Integer httpSSlPort;
 
     @Value("${media.rtmpPort:}")
-    private String rtmpPort;
+    private Integer rtmpPort;
 
     @Value("${media.rtmpSSlPort:}")
-    private String rtmpSSlPort;
+    private Integer rtmpSSlPort;
 
     @Value("${media.rtpProxyPort:}")
-    private String rtpProxyPort;
+    private Integer rtpProxyPort;
 
     @Value("${media.rtspPort:}")
-    private String rtspPort;
+    private Integer rtspPort;
 
     @Value("${media.rtspSSLPort:}")
-    private String rtspSSLPort;
+    private Integer rtspSSLPort;
 
     @Value("${media.autoConfig:true}")
     private boolean autoConfig;
@@ -57,73 +57,141 @@
     private String rtpPortRange;
 
     @Value("${media.recordAssistPort}")
-    private int recordAssistPort;
+    private Integer recordAssistPort;
 
     public String getIp() {
         return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
     }
 
     public String getHookIp() {
         return hookIp;
     }
 
+    public void setHookIp(String hookIp) {
+        this.hookIp = hookIp;
+    }
+
     public String getSdpIp() {
         return sdpIp;
+    }
+
+    public void setSdpIp(String sdpIp) {
+        this.sdpIp = sdpIp;
     }
 
     public String getStreamIp() {
         return streamIp;
     }
 
-    public String getHttpPort() {
+    public void setStreamIp(String streamIp) {
+        this.streamIp = streamIp;
+    }
+
+    public Integer getHttpPort() {
         return httpPort;
     }
 
-    public String getHttpSSlPort() {
+    public void setHttpPort(Integer httpPort) {
+        this.httpPort = httpPort;
+    }
+
+    public Integer getHttpSSlPort() {
         return httpSSlPort;
     }
 
-    public String getRtmpPort() {
+    public void setHttpSSlPort(Integer httpSSlPort) {
+        this.httpSSlPort = httpSSlPort;
+    }
+
+    public Integer getRtmpPort() {
         return rtmpPort;
     }
 
-    public String getRtmpSSlPort() {
+    public void setRtmpPort(Integer rtmpPort) {
+        this.rtmpPort = rtmpPort;
+    }
+
+    public Integer getRtmpSSlPort() {
         return rtmpSSlPort;
     }
 
-    public String getRtpProxyPort() {
+    public void setRtmpSSlPort(Integer rtmpSSlPort) {
+        this.rtmpSSlPort = rtmpSSlPort;
+    }
+
+    public Integer getRtpProxyPort() {
         return rtpProxyPort;
     }
 
-    public String getRtspPort() {
+    public void setRtpProxyPort(Integer rtpProxyPort) {
+        this.rtpProxyPort = rtpProxyPort;
+    }
+
+    public Integer getRtspPort() {
         return rtspPort;
     }
 
-    public String getRtspSSLPort() {
+    public void setRtspPort(Integer rtspPort) {
+        this.rtspPort = rtspPort;
+    }
+
+    public Integer getRtspSSLPort() {
         return rtspSSLPort;
+    }
+
+    public void setRtspSSLPort(Integer rtspSSLPort) {
+        this.rtspSSLPort = rtspSSLPort;
     }
 
     public boolean isAutoConfig() {
         return autoConfig;
     }
 
+    public void setAutoConfig(boolean autoConfig) {
+        this.autoConfig = autoConfig;
+    }
+
     public String getSecret() {
         return secret;
+    }
+
+    public void setSecret(String secret) {
+        this.secret = secret;
     }
 
     public String getStreamNoneReaderDelayMS() {
         return streamNoneReaderDelayMS;
     }
 
+    public void setStreamNoneReaderDelayMS(String streamNoneReaderDelayMS) {
+        this.streamNoneReaderDelayMS = streamNoneReaderDelayMS;
+    }
+
     public boolean isRtpEnable() {
         return rtpEnable;
+    }
+
+    public void setRtpEnable(boolean rtpEnable) {
+        this.rtpEnable = rtpEnable;
     }
 
     public String getRtpPortRange() {
         return rtpPortRange;
     }
 
-    public int getRecordAssistPort() {
+    public void setRtpPortRange(String rtpPortRange) {
+        this.rtpPortRange = rtpPortRange;
+    }
+
+    public Integer getRecordAssistPort() {
         return recordAssistPort;
     }
+
+    public void setRecordAssistPort(Integer recordAssistPort) {
+        this.recordAssistPort = recordAssistPort;
+    }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
index f61b019..e6d8d54 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
@@ -109,13 +109,10 @@
             WWWAuthenticateHeader proxyAuthenticate = headerFactory
                     .createWWWAuthenticateHeader(DEFAULT_SCHEME);
             proxyAuthenticate.setParameter("realm", realm);
+            proxyAuthenticate.setParameter("qop", "auth");
             proxyAuthenticate.setParameter("nonce", generateNonce());
-
-            proxyAuthenticate.setParameter("opaque", "");
-            proxyAuthenticate.setParameter("stale", "FALSE");
             proxyAuthenticate.setParameter("algorithm", DEFAULT_ALGORITHM);
 
-//            proxyAuthenticate.setParameter("qop", "auth");
             response.setHeader(proxyAuthenticate);
         } catch (Exception ex) {
             InternalErrorHandler.handleException(ex);
@@ -243,26 +240,26 @@
     }
 
     public static void main(String[] args) throws NoSuchAlgorithmException {
-        String realm = "4401000000";
-        String username = "44010000001110008008";
+        String realm = "3402000000";
+        String username = "44010000001180008012";
 
 
-        String nonce = "0074b397f86fc263b1b7f9eb72553267";
-        String uri = "sip:44010000002000000001@4401000000";
+        String nonce = "07cab60999fbf643264ace27d3b7de8b";
+        String uri = "sip:34020000002000000001@3402000000";
         // qop 淇濇姢璐ㄩ噺 鍖呭惈auth锛堥粯璁ょ殑锛夊拰auth-int锛堝鍔犱簡鎶ユ枃瀹屾暣鎬ф娴嬶級涓ょ绛栫暐
-        String qop = null;
+        String qop = "auth";
 
         // 瀹㈡埛绔殢鏈烘暟锛岃繖鏄竴涓笉閫忔槑鐨勫瓧绗︿覆鍊硷紝鐢卞鎴风鎻愪緵锛屽苟涓斿鎴风鍜屾湇鍔″櫒閮戒細浣跨敤锛屼互閬垮厤鐢ㄦ槑鏂囨枃鏈��
         // 杩欎娇寰楀弻鏂归兘鍙互鏌ラ獙瀵规柟鐨勮韩浠斤紝骞跺娑堟伅鐨勫畬鏁存�ф彁渚涗竴浜涗繚鎶�
         //String cNonce = authHeader.getCNonce();
 
         // nonce璁℃暟鍣紝鏄竴涓�16杩涘埗鐨勬暟鍊硷紝琛ㄧず鍚屼竴nonce涓嬪鎴风鍙戦�佸嚭璇锋眰鐨勬暟閲�
-        int nc = -1;
+        int nc = 1;
         String ncStr = new DecimalFormat("00000000").format(nc);
 //        String ncStr = new DecimalFormat("00000000").format(Integer.parseInt(nc + "", 16));
         MessageDigest messageDigest = MessageDigest.getInstance(DEFAULT_ALGORITHM);
-        String A1 = username + ":" + realm + ":" + "crservice@123";
-        String A2 = "REGISTER" + ":" + uri.toString();
+        String A1 = username + ":" + realm + ":" + "12345678";
+        String A2 = "REGISTER" + ":" + uri;
         byte mdbytes[] = messageDigest.digest(A1.getBytes());
         String HA1 = toHexString(mdbytes);
         System.out.println("A1: " + A1);
@@ -272,7 +269,7 @@
         String HA2 = toHexString(mdbytes);
         System.out.println("HA1: " + HA1);
         System.out.println("HA2: " + HA2);
-        String cnonce = null;
+        String cnonce = "0a4f113b";
         System.out.println("nonce: " + nonce);
         System.out.println("nc: " + ncStr);
         System.out.println("cnonce: " + cnonce);
@@ -293,7 +290,7 @@
         mdbytes = messageDigest.digest(KD.getBytes());
         String mdString = toHexString(mdbytes);
         System.out.println("mdString: " + mdString);
-        String response = "fdb1608a7a3b96f0598f40b8ba78d6a9";
+        String response = "4f0507d4b87cdecff04bdaf4c96348f0";
         System.out.println("response: " + response);
     }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index bb9a9f0..2c9339c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -356,10 +356,10 @@
 				logger.warn("鐐规挱鏃跺彂鐜癦LM灏氭湭杩炴帴...");
 				return;
 			}
-			String mediaPort = null;
+			Integer mediaPort = null;
 			// 浣跨敤鍔ㄦ�乽dp绔彛
 			if (mediaConfig.isRtpEnable()) {
-				mediaPort = zlmrtpServerFactory.createRTPServer(streamId) + "";
+				mediaPort = zlmrtpServerFactory.createRTPServer(streamId);
 			}else {
 				mediaPort = mediaInfo.getRtpProxyPort();
 			}
@@ -485,10 +485,10 @@
 	        content.append("c=IN IP4 "+mediaInfo.getSdpIp()+"\r\n");
 	        content.append("t="+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime)+" "
 					+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) +"\r\n");
-			String mediaPort = null;
+			Integer mediaPort = null;
 			// 浣跨敤鍔ㄦ�乽dp绔彛
 			if (mediaConfig.isRtpEnable()) {
-				mediaPort = zlmrtpServerFactory.createRTPServer(streamId) + "";
+				mediaPort = zlmrtpServerFactory.createRTPServer(streamId);
 			}else {
 				mediaPort = mediaInfo.getRtpProxyPort();
 			}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
index 7602c06..5f356b0 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
@@ -336,11 +336,6 @@
 					String username = sdp.getOrigin().getUsername();
 					String addressStr = sdp.getOrigin().getAddress();
 					logger.info("璁惧{}璇锋眰璇煶娴侊紝鍦板潃锛歿}:{}锛宻src锛歿}", username, addressStr, port, ssrc);
-					
-
-
-
-
 
 				} else {
 					logger.warn("鏉ヨ嚜鏃犳晥璁惧/骞冲彴鐨勮姹�");
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java
index 32cb49b..5196f4c 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerConfig.java
@@ -43,6 +43,8 @@
 
     private String updateTime;
 
+    private String createTime;
+
     @JSONField(name = "hls.fileBufSize")
     private String hlsFileBufSize;
 
@@ -65,7 +67,7 @@
     private String hookEnable;
 
     @JSONField(name = "hook.on_flow_report")
-    private String hookOnFlowReport;
+    private Integer hookOnFlowReport;
 
     @JSONField(name = "hook.on_http_access")
     private String hookOnHttpAccess;
@@ -116,7 +118,7 @@
     private String httpNotFound;
 
     @JSONField(name = "http.port")
-    private String httpPort;
+    private Integer httpPort;
 
     @JSONField(name = "http.rootPath")
     private String httpRootPath;
@@ -125,7 +127,7 @@
     private String httpSendBufSize;
 
     @JSONField(name = "http.sslport")
-    private String httpSSLport;
+    private Integer httpSSLport;
 
     @JSONField(name = "multicast.addrMax")
     private String multicastAddrMax;
@@ -158,10 +160,10 @@
     private String rtmpModifyStamp;
 
     @JSONField(name = "rtmp.port")
-    private String rtmpPort;
+    private Integer rtmpPort;
 
     @JSONField(name = "rtmp.sslport")
-    private String rtmpSslPort;
+    private Integer rtmpSslPort;
 
     @JSONField(name = "rtp.audioMtuSize")
     private String rtpAudioMtuSize;
@@ -185,7 +187,7 @@
     private String rtpProxyDumpDir;
 
     @JSONField(name = "rtp_proxy.port")
-    private String rtpProxyPort;
+    private Integer rtpProxyPort;
 
     @JSONField(name = "rtp_proxy.timeoutSec")
     private String rtpProxyTimeoutSec;
@@ -200,17 +202,16 @@
     private String rtspKeepAliveSecond;
 
     @JSONField(name = "rtsp.port")
-    private String rtspPort;
+    private Integer rtspPort;
 
     @JSONField(name = "rtsp.sslport")
-    private String rtspSSlport;
+    private Integer rtspSSlport;
 
     @JSONField(name = "shell.maxReqSize")
     private String shellMaxReqSize;
 
     @JSONField(name = "shell.shell")
     private String shellPhell;
-
 
     public String getApiDebug() {
         return apiDebug;
@@ -260,6 +261,14 @@
         this.generalEnableVhost = generalEnableVhost;
     }
 
+    public String getGeneralMediaServerId() {
+        return generalMediaServerId;
+    }
+
+    public void setGeneralMediaServerId(String generalMediaServerId) {
+        this.generalMediaServerId = generalMediaServerId;
+    }
+
     public String getGeneralFlowThreshold() {
         return generalFlowThreshold;
     }
@@ -290,6 +299,38 @@
 
     public void setIp(String ip) {
         this.ip = ip;
+    }
+
+    public String getSdpIp() {
+        return sdpIp;
+    }
+
+    public void setSdpIp(String sdpIp) {
+        this.sdpIp = sdpIp;
+    }
+
+    public String getStreamIp() {
+        return streamIp;
+    }
+
+    public void setStreamIp(String streamIp) {
+        this.streamIp = streamIp;
+    }
+
+    public String getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
     }
 
     public String getHlsFileBufSize() {
@@ -348,11 +389,11 @@
         this.hookEnable = hookEnable;
     }
 
-    public String getHookOnFlowReport() {
+    public Integer getHookOnFlowReport() {
         return hookOnFlowReport;
     }
 
-    public void setHookOnFlowReport(String hookOnFlowReport) {
+    public void setHookOnFlowReport(Integer hookOnFlowReport) {
         this.hookOnFlowReport = hookOnFlowReport;
     }
 
@@ -484,11 +525,11 @@
         this.httpNotFound = httpNotFound;
     }
 
-    public String getHttpPort() {
+    public Integer getHttpPort() {
         return httpPort;
     }
 
-    public void setHttpPort(String httpPort) {
+    public void setHttpPort(Integer httpPort) {
         this.httpPort = httpPort;
     }
 
@@ -508,11 +549,11 @@
         this.httpSendBufSize = httpSendBufSize;
     }
 
-    public String getHttpSSLport() {
+    public Integer getHttpSSLport() {
         return httpSSLport;
     }
 
-    public void setHttpSSLport(String httpSSLport) {
+    public void setHttpSSLport(Integer httpSSLport) {
         this.httpSSLport = httpSSLport;
     }
 
@@ -596,12 +637,20 @@
         this.rtmpModifyStamp = rtmpModifyStamp;
     }
 
-    public String getRtmpPort() {
+    public Integer getRtmpPort() {
         return rtmpPort;
     }
 
-    public void setRtmpPort(String rtmpPort) {
+    public void setRtmpPort(Integer rtmpPort) {
         this.rtmpPort = rtmpPort;
+    }
+
+    public Integer getRtmpSslPort() {
+        return rtmpSslPort;
+    }
+
+    public void setRtmpSslPort(Integer rtmpSslPort) {
+        this.rtmpSslPort = rtmpSslPort;
     }
 
     public String getRtpAudioMtuSize() {
@@ -660,11 +709,11 @@
         this.rtpProxyDumpDir = rtpProxyDumpDir;
     }
 
-    public String getRtpProxyPort() {
+    public Integer getRtpProxyPort() {
         return rtpProxyPort;
     }
 
-    public void setRtpProxyPort(String rtpProxyPort) {
+    public void setRtpProxyPort(Integer rtpProxyPort) {
         this.rtpProxyPort = rtpProxyPort;
     }
 
@@ -700,19 +749,19 @@
         this.rtspKeepAliveSecond = rtspKeepAliveSecond;
     }
 
-    public String getRtspPort() {
+    public Integer getRtspPort() {
         return rtspPort;
     }
 
-    public void setRtspPort(String rtspPort) {
+    public void setRtspPort(Integer rtspPort) {
         this.rtspPort = rtspPort;
     }
 
-    public String getRtspSSlport() {
+    public Integer getRtspSSlport() {
         return rtspSSlport;
     }
 
-    public void setRtspSSlport(String rtspSSlport) {
+    public void setRtspSSlport(Integer rtspSSlport) {
         this.rtspSSlport = rtspSSlport;
     }
 
@@ -730,49 +779,5 @@
 
     public void setShellPhell(String shellPhell) {
         this.shellPhell = shellPhell;
-    }
-
-    public String getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(String updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public String getGeneralMediaServerId() {
-        return generalMediaServerId;
-    }
-
-    public void setGeneralMediaServerId(String generalMediaServerId) {
-        this.generalMediaServerId = generalMediaServerId;
-    }
-
-    public String getRtmpSslPort() {
-        return rtmpSslPort;
-    }
-
-    public void setRtmpSslPort(String rtmpSslPort) {
-        this.rtmpSslPort = rtmpSslPort;
-    }
-
-    public String getSdpIp() {
-        if (StringUtils.isEmpty(sdpIp)) {
-            return ip;
-        }else {
-            return sdpIp;
-        }
-    }
-
-    public void setSdpIp(String sdpIp) {
-        this.sdpIp = sdpIp;
-    }
-
-    public String getStreamIp() {
-        return streamIp;
-    }
-
-    public void setStreamIp(String streamIp) {
-        this.streamIp = streamIp;
     }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
index 0be9b19..45b5ab7 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -19,12 +19,12 @@
             "ipAddress, port, password, PTZType, status, streamId, longitude, latitude, createTime, updateTime) " +
             "VALUES ('${channelId}', '${deviceId}', '${name}', '${manufacture}', '${model}', '${owner}', '${civilCode}', '${block}'," +
             "'${address}', ${parental}, '${parentId}', ${safetyWay}, ${registerWay}, '${certNum}', ${certifiable}, ${errCode}, '${secrecy}', " +
-            "'${ipAddress}', ${port}, '${password}', ${PTZType}, ${status}, '${streamId}', ${longitude}, ${latitude}, datetime('now','localtime'), datetime('now','localtime'))")
+            "'${ipAddress}', ${port}, '${password}', ${PTZType}, ${status}, '${streamId}', ${longitude}, ${latitude},'${createTime}', '${updateTime}')")
     int add(DeviceChannel channel);
 
     @Update(value = {" <script>" +
             "UPDATE device_channel " +
-            "SET updateTime=datetime('now','localtime')" +
+            "SET updateTime='${updateTime}'" +
             "<if test=\"name != null\">, name='${name}'</if>" +
             "<if test=\"manufacture != null\">, manufacture='${manufacture}'</if>" +
             "<if test=\"model != null\">, model='${model}'</if>" +
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
index 4fac2c1..c70eda3 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
@@ -47,15 +47,15 @@
                 "#{expires}," +
                 "#{registerTime}," +
                 "#{keepaliveTime}," +
-                "datetime('now','localtime')," +
-                "datetime('now','localtime')," +
+                "#{createTime}," +
+                "#{updateTime}," +
                 "#{online}" +
             ")")
     int add(Device device);
 
     @Update(value = {" <script>" +
                 "UPDATE device " +
-                "SET updateTime=datetime('now','localtime')" +
+                "SET updateTime='${updateTime}'" +
                 "<if test=\"name != null\">, name='${name}'</if>" +
                 "<if test=\"manufacturer != null\">, manufacturer='${manufacturer}'</if>" +
                 "<if test=\"model != null\">, model='${model}'</if>" +
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index cbaa404..6600a75 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -1,5 +1,6 @@
 package com.genersoft.iot.vmp.storager.impl;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import com.genersoft.iot.vmp.common.StreamInfo;
@@ -70,6 +71,8 @@
 	@Autowired
     private VideoStreamSessionManager streamSession;
 
+	private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
 
 	/**
 	 * 鏍规嵁璁惧ID鍒ゆ柇璁惧鏄惁瀛樺湪
@@ -103,8 +106,11 @@
 	 */
 	@Override
 	public synchronized boolean updateDevice(Device device) {
+		String now = this.format.format(new Date(System.currentTimeMillis()));
+		device.setUpdateTime(now);
 		Device deviceByDeviceId = deviceMapper.getDeviceByDeviceId(device.getDeviceId());
 		if (deviceByDeviceId == null) {
+			device.setCreateTime(now);
 			return deviceMapper.add(device) > 0;
 		}else {
 			return deviceMapper.update(device) > 0;
@@ -117,8 +123,11 @@
 		String channelId = channel.getChannelId();
 		channel.setDeviceId(deviceId);
 		channel.setStreamId(streamSession.getStreamId(deviceId, channel.getChannelId()));
+		String now = this.format.format(new Date(System.currentTimeMillis()));
+		channel.setUpdateTime(now);
 		DeviceChannel deviceChannel = deviceChannelMapper.queryChannel(deviceId, channelId);
 		if (deviceChannel == null) {
+			channel.setCreateTime(now);
 			deviceChannelMapper.add(channel);
 		}else {
 			deviceChannelMapper.update(channel);
diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml
index 6aad990..778d13f 100644
--- a/src/main/resources/all-application.yml
+++ b/src/main/resources/all-application.yml
@@ -19,6 +19,7 @@
         timeout: 10000
     # [鍙�塢 jdbc鏁版嵁搴撻厤缃�, 椤圭洰浣跨敤sqlite浣滀负鏁版嵁搴擄紝涓�鑸笉闇�瑕侀厤缃�
     datasource:
+        # 浣跨敤mysql 鎵撳紑23-28琛屾敞閲婏紝 鍒犻櫎29-36琛�
         # name: wvp
         # url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true
         # username:
diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
index c2971aa..8a21211 100644
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -13,15 +13,12 @@
 				</div>
 				<!-- <devicePlayer ref="devicePlayer"></devicePlayer> -->
 				<!--璁惧鍒楄〃-->
-				<el-table :data="deviceList" border style="width: 100%" :height="winHeight">
+				<el-table :data="deviceList" border style="width: 100%;font-size: 12px;" :height="winHeight">
 					<el-table-column prop="name" label="鍚嶇О"  align="center">
 					</el-table-column>
 					<el-table-column prop="deviceId" label="璁惧缂栧彿" width="180" align="center">
 					</el-table-column>
-
 					<el-table-column prop="manufacturer" label="鍘傚" align="center">
-					</el-table-column>
-					<el-table-column prop="model" label="鍥轰欢鐗堟湰" align="center" width="120">
 					</el-table-column>
 					<el-table-column label="娴佷紶杈撴ā寮�" align="center" width="120">
             <template slot-scope="scope">

--
Gitblit v1.8.0