From 381c3bdc2079ece5147cf4cee004e9071edadf7a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 04 五月 2023 16:04:44 +0800
Subject: [PATCH] 修复国标点播下级平台,ssrc更新的时单端口错误更新rtpserver的问题

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java |  121 +++++++++++++++++++++++++++------------
 1 files changed, 83 insertions(+), 38 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 03dba38..fe739ea 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
@@ -1,6 +1,7 @@
 package com.genersoft.iot.vmp.storager.dao;
 
 import com.genersoft.iot.vmp.gb28181.bean.Device;
+import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 
@@ -23,6 +24,8 @@
             "transport," +
             "streamMode," +
             "ip," +
+            "sdpIp," +
+            "localIp," +
             "port," +
             "hostAddress," +
             "expires," +
@@ -36,9 +39,12 @@
             "mobilePositionSubmissionInterval," +
             "subscribeCycleForAlarm," +
             "ssrcCheck," +
+            "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
-            "online" +
+            "online," +
+            "mediaServerId," +
+            "(SELECT count(0) FROM device_channel WHERE deviceId=device.deviceId) as channelCount "+
             " FROM device WHERE deviceId = #{deviceId}")
     Device getDeviceByDeviceId(String deviceId);
 
@@ -51,11 +57,14 @@
                 "transport," +
                 "streamMode," +
                 "ip," +
+                "sdpIp," +
+                "localIp," +
                 "port," +
                 "hostAddress," +
                 "expires," +
                 "registerTime," +
                 "keepaliveTime," +
+                "keepaliveIntervalTime," +
                 "createTime," +
                 "updateTime," +
                 "charset," +
@@ -64,6 +73,7 @@
                 "mobilePositionSubmissionInterval," +
                 "subscribeCycleForAlarm," +
                 "ssrcCheck," +
+                "asMessageChannel," +
                 "geoCoordSys," +
                 "treeType," +
                 "online" +
@@ -76,11 +86,14 @@
                 "#{transport}," +
                 "#{streamMode}," +
                 "#{ip}," +
+                "#{sdpIp}," +
+                "#{localIp}," +
                 "#{port}," +
                 "#{hostAddress}," +
                 "#{expires}," +
                 "#{registerTime}," +
                 "#{keepaliveTime}," +
+                "#{keepaliveIntervalTime}," +
                 "#{createTime}," +
                 "#{updateTime}," +
                 "#{charset}," +
@@ -89,6 +102,7 @@
                 "#{mobilePositionSubmissionInterval}," +
                 "#{subscribeCycleForAlarm}," +
                 "#{ssrcCheck}," +
+                "#{asMessageChannel}," +
                 "#{geoCoordSys}," +
                 "#{treeType}," +
                 "#{online}" +
@@ -97,24 +111,28 @@
 
     @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=\"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>" +
-                "WHERE deviceId='${deviceId}'"+
+                "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=\"ip != null\">, ip=#{ip}</if>" +
+                "<if test=\"localIp != null\">, localIp=#{localIp}</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=\"keepaliveIntervalTime != null\">, keepaliveIntervalTime=#{keepaliveIntervalTime}</if>" +
+                "<if test=\"expires != null\">, expires=#{expires}</if>" +
+                "WHERE deviceId=#{deviceId}"+
             " </script>"})
     int update(Device device);
 
-    @Select("SELECT " +
+    @Select(
+            " <script>" +
+            "SELECT " +
             "deviceId, " +
             "coalesce(custom_name, name) as name, " +
             "password, " +
@@ -124,6 +142,8 @@
             "transport," +
             "streamMode," +
             "ip," +
+            "sdpIp," +
+            "localIp," +
             "port," +
             "hostAddress," +
             "expires," +
@@ -137,18 +157,20 @@
             "mobilePositionSubmissionInterval," +
             "subscribeCycleForAlarm," +
             "ssrcCheck," +
+            "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
             "online," +
-            "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de")
-    List<Device> getDevices();
+            "mediaServerId," +
+            "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de" +
+            "<if test=\"online != null\"> where online=${online}</if>"+
+            " </script>"
+    )
+    List<Device> getDevices(Boolean online);
 
     @Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
     int del(String deviceId);
 
-    @Update("UPDATE device SET online=0")
-    int outlineForAll();
-
     @Select("SELECT " +
             "deviceId, " +
             "coalesce(custom_name, name) as name, " +
@@ -159,6 +181,8 @@
             "transport," +
             "streamMode," +
             "ip," +
+            "sdpIp," +
+            "localIp," +
             "port," +
             "hostAddress," +
             "expires," +
@@ -172,6 +196,7 @@
             "mobilePositionSubmissionInterval," +
             "subscribeCycleForAlarm," +
             "ssrcCheck," +
+            "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
             "online " +
@@ -187,6 +212,8 @@
             "transport," +
             "streamMode," +
             "ip," +
+            "sdpIp," +
+            "localIp," +
             "port," +
             "hostAddress," +
             "expires," +
@@ -200,55 +227,73 @@
             "mobilePositionSubmissionInterval," +
             "subscribeCycleForAlarm," +
             "ssrcCheck," +
+            "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
             "online" +
-            " FROM device WHERE ip = #{host} AND port=${port}")
+            " FROM device WHERE ip = #{host} AND port=#{port}")
     Device getDeviceByHostAndPort(String host, int port);
 
     @Update(value = {" <script>" +
             "UPDATE device " +
-            "SET updateTime='${updateTime}'" +
-            "<if test=\"name != null\">, custom_name='${name}'</if>" +
-            "<if test=\"password != null\">, password='${password}'</if>" +
-            "<if test=\"streamMode != null\">, streamMode='${streamMode}'</if>" +
-            "<if test=\"ip != null\">, ip='${ip}'</if>" +
-            "<if test=\"port != null\">, port=${port}</if>" +
-            "<if test=\"charset != null\">, charset='${charset}'</if>" +
-            "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=${subscribeCycleForCatalog}</if>" +
-            "<if test=\"subscribeCycleForMobilePosition != null\">, subscribeCycleForMobilePosition=${subscribeCycleForMobilePosition}</if>" +
-            "<if test=\"mobilePositionSubmissionInterval != null\">, mobilePositionSubmissionInterval=${mobilePositionSubmissionInterval}</if>" +
-            "<if test=\"subscribeCycleForAlarm != null\">, subscribeCycleForAlarm=${subscribeCycleForAlarm}</if>" +
-            "<if test=\"ssrcCheck != null\">, ssrcCheck=${ssrcCheck}</if>" +
+            "SET updateTime=#{updateTime}" +
+            "<if test=\"name != null\">, custom_name=#{name}</if>" +
+            "<if test=\"password != null\">, password=#{password}</if>" +
+            "<if test=\"streamMode != null\">, streamMode=#{streamMode}</if>" +
+            "<if test=\"ip != null\">, ip=#{ip}</if>" +
+            "<if test=\"sdpIp != null\">, sdpIp=#{sdpIp}</if>" +
+            "<if test=\"port != null\">, port=#{port}</if>" +
+            "<if test=\"charset != null\">, charset=#{charset}</if>" +
+            "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=#{subscribeCycleForCatalog}</if>" +
+            "<if test=\"subscribeCycleForMobilePosition != null\">, subscribeCycleForMobilePosition=#{subscribeCycleForMobilePosition}</if>" +
+            "<if test=\"mobilePositionSubmissionInterval != null\">, mobilePositionSubmissionInterval=#{mobilePositionSubmissionInterval}</if>" +
+            "<if test=\"subscribeCycleForAlarm != null\">, subscribeCycleForAlarm=#{subscribeCycleForAlarm}</if>" +
+            "<if test=\"ssrcCheck != null\">, ssrcCheck=#{ssrcCheck}</if>" +
+            "<if test=\"asMessageChannel != null\">, asMessageChannel=#{asMessageChannel}</if>" +
             "<if test=\"geoCoordSys != null\">, geoCoordSys=#{geoCoordSys}</if>" +
             "<if test=\"treeType != null\">, treeType=#{treeType}</if>" +
             "<if test=\"mediaServerId != null\">, mediaServerId=#{mediaServerId}</if>" +
-            "WHERE deviceId='${deviceId}'"+
+            "WHERE deviceId=#{deviceId}"+
             " </script>"})
-    int updateCustom(Device device);
+    void updateCustom(Device device);
 
     @Insert("INSERT INTO device (" +
             "deviceId, " +
             "custom_name, " +
             "password, " +
+            "sdpIp, " +
             "createTime," +
             "updateTime," +
             "charset," +
             "ssrcCheck," +
+            "asMessageChannel," +
             "geoCoordSys," +
             "treeType," +
-            "online" +
+            "online," +
+            "mediaServerId" +
             ") VALUES (" +
             "#{deviceId}," +
             "#{name}," +
             "#{password}," +
+            "#{sdpIp}," +
             "#{createTime}," +
             "#{updateTime}," +
             "#{charset}," +
             "#{ssrcCheck}," +
+            "#{asMessageChannel}," +
             "#{geoCoordSys}," +
             "#{treeType}," +
-            "#{online}" +
+            "#{online}," +
+            "#{mediaServerId}" +
             ")")
     void addCustomDevice(Device device);
+
+    @Select("select count(1) as total, sum(online) as online from device")
+    ResourceBaceInfo getOverview();
+
+    @Select("select * from device")
+    List<Device> getAll();
+
+    @Select("select * from device where  asMessageChannel = 1")
+    List<Device> queryDeviceWithAsMessageChannel();
 }

--
Gitblit v1.8.0