| 
					
				 | 
			
			
				@@ -13,7 +13,32 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Repository 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public interface DeviceMapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Select("SELECT * FROM device WHERE deviceId = #{deviceId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Select("SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "deviceId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "coalesce(custom_name, name) as name, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "manufacturer, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "model, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "firmware, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "transport," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "streamMode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ip," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "port," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "hostAddress," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "expires," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "registerTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "keepaliveTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "createTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "updateTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "charset," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForCatalog," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForMobilePosition," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "mobilePositionSubmissionInterval," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForAlarm," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ssrcCheck," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "geoCoordSys," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "treeType," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "online" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            " FROM device WHERE deviceId = #{deviceId}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Device getDeviceByDeviceId(String deviceId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Insert("INSERT INTO device (" + 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,7 +123,32 @@ public interface DeviceMapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             " </script>"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int update(Device device); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Select("SELECT *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Select("SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "deviceId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "coalesce(custom_name, name) as name, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "manufacturer, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "model, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "firmware, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "transport," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "streamMode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ip," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "port," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "hostAddress," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "expires," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "registerTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "keepaliveTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "createTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "updateTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "charset," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForCatalog," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForMobilePosition," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "mobilePositionSubmissionInterval," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForAlarm," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ssrcCheck," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "geoCoordSys," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "treeType," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "online," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount  FROM device de") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     List<Device> getDevices(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Delete("DELETE FROM device WHERE deviceId=#{deviceId}") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -107,8 +157,80 @@ public interface DeviceMapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Update("UPDATE device SET online=0") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int outlineForAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Select("SELECT * FROM device WHERE online = 1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Select("SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "deviceId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "coalesce(custom_name, name) as name, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "manufacturer, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "model, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "firmware, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "transport," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "streamMode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ip," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "port," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "hostAddress," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "expires," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "registerTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "keepaliveTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "createTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "updateTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "charset," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForCatalog," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForMobilePosition," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "mobilePositionSubmissionInterval," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForAlarm," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ssrcCheck," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "geoCoordSys," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "treeType," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "online" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            " FROM device WHERE online = 1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     List<Device> getOnlineDevices(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Select("SELECT * FROM device WHERE ip = #{host} AND port=${port}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Select("SELECT " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "deviceId, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "coalesce(custom_name, name) as name, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "manufacturer, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "model, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "firmware, " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "transport," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "streamMode," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ip," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "port," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "hostAddress," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "expires," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "registerTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "keepaliveTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "createTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "updateTime," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "charset," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForCatalog," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForMobilePosition," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "mobilePositionSubmissionInterval," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "subscribeCycleForAlarm," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ssrcCheck," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "geoCoordSys," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "treeType," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "online" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            " 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=\"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=\"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=\"geoCoordSys != null\">, geoCoordSys=#{geoCoordSys}</if>" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "<if test=\"treeType != null\">, treeType=#{treeType}</if>" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "<if test=\"mediaServerId != null\">, mediaServerId=#{mediaServerId}</if>" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "WHERE deviceId='${deviceId}'"+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            " </script>"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    int updateCustom(Device device); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |