From a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 24 二月 2022 16:55:06 +0800
Subject: [PATCH] 规范数据库,添加必要约束,优化通道批量导入功能

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java |   50 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 13 deletions(-)

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 3c10618..ed2d8c8 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
@@ -27,6 +27,13 @@
                 "ip," +
                 "port," +
                 "hostAddress," +
+                "expires," +
+                "registerTime," +
+                "keepaliveTime," +
+                "createTime," +
+                "updateTime," +
+                "charset," +
+                "subscribeCycleForCatalog," +
                 "online" +
             ") VALUES (" +
                 "#{deviceId}," +
@@ -39,23 +46,37 @@
                 "#{ip}," +
                 "#{port}," +
                 "#{hostAddress}," +
+                "#{expires}," +
+                "#{registerTime}," +
+                "#{keepaliveTime}," +
+                "#{createTime}," +
+                "#{updateTime}," +
+                "#{charset}," +
+                "#{subscribeCycleForCatalog}," +
                 "#{online}" +
             ")")
     int add(Device device);
 
-
-    @Update("UPDATE device " +
-            "SET name=#{name}, " +
-            "manufacturer=#{manufacturer}," +
-            "model=#{model}," +
-            "firmware=#{firmware}, " +
-            "transport=#{transport}," +
-            "streamMode=#{streamMode}, " +
-            "ip=#{ip}, " +
-            "port=#{port}, " +
-            "hostAddress=#{hostAddress}, " +
-            "online=#{online} " +
-            "WHERE deviceId=#{deviceId}")
+    @Update(value = {" <script>" +
+                "UPDATE device " +
+                "SET updateTime='${updateTime}'" +
+                "<if test=\"name != null\">, name='${name}'</if>" +
+                "<if test=\"manufacturer != null\">, manufacturer='${manufacturer}'</if>" +
+                "<if test=\"model != null\">, model='${model}'</if>" +
+                "<if test=\"firmware != null\">, firmware='${firmware}'</if>" +
+                "<if test=\"transport != null\">, transport='${transport}'</if>" +
+                "<if test=\"streamMode != null\">, streamMode='${streamMode}'</if>" +
+                "<if test=\"ip != null\">, ip='${ip}'</if>" +
+                "<if test=\"port != null\">, port=${port}</if>" +
+                "<if test=\"hostAddress != null\">, hostAddress='${hostAddress}'</if>" +
+                "<if test=\"online != null\">, online=${online}</if>" +
+                "<if test=\"registerTime != null\">, registerTime='${registerTime}'</if>" +
+                "<if test=\"keepaliveTime != null\">, keepaliveTime='${keepaliveTime}'</if>" +
+                "<if test=\"expires != null\">, expires=${expires}</if>" +
+                "<if test=\"charset != null\">, charset='${charset}'</if>" +
+                "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=#{subscribeCycleForCatalog}</if>" +
+                "WHERE deviceId='${deviceId}'"+
+            " </script>"})
     int update(Device device);
 
     @Select("SELECT *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de")
@@ -63,4 +84,7 @@
 
     @Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
     int del(String deviceId);
+
+    @Update("UPDATE device SET online=0")
+    int outlineForAll();
 }

--
Gitblit v1.8.0