diff --git a/pom.xml b/pom.xml
index 76e2db6a..41be5675 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,13 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+
+
+ io.lettuce
+ lettuce-core
+
+
org.springframework.boot
@@ -75,6 +82,12 @@
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.4
+
+
+ com.zaxxer
+ HikariCP
+
+
org.springframework.boot
@@ -84,7 +97,6 @@
redis.clients
jedis
- ${jedis-version}
diff --git a/sql/mysql.sql b/sql/mysql.sql
index 7d0996f6..e4949902 100644
--- a/sql/mysql.sql
+++ b/sql/mysql.sql
@@ -2,55 +2,60 @@
--
-- Host: 127.0.0.1 Database: wvp2
-- ------------------------------------------------------
--- Server version 8.0.29-0ubuntu0.22.04.2
+-- Server version 8.0.29-0ubuntu0.22.04.3
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT = @@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS = @@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION = @@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
-/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
-/*!40103 SET TIME_ZONE='+00:00' */;
-/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
-/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
-/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+/*!40103 SET @OLD_TIME_ZONE = @@TIME_ZONE */;
+/*!40103 SET TIME_ZONE = ' + 00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS = @@UNIQUE_CHECKS, UNIQUE_CHECKS = 0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS = @@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0 */;
+/*!40101 SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES = @@SQL_NOTES, SQL_NOTES = 0 */;
--
-- Table structure for table `device`
--
DROP TABLE IF EXISTS `device`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `device` (
- `id` int NOT NULL AUTO_INCREMENT,
- `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `firmware` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `streamMode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `online` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `registerTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `keepaliveTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `port` int NOT NULL,
- `expires` int NOT NULL,
- `subscribeCycleForCatalog` int NOT NULL,
- `hostAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `charset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `subscribeCycleForMobilePosition` int DEFAULT NULL,
- `mobilePositionSubmissionInterval` int DEFAULT '5',
- `subscribeCycleForAlarm` int DEFAULT NULL,
- `ssrcCheck` int DEFAULT '0',
- `geoCoordSys` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
- `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `device`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `firmware` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `streamMode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `online` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `registerTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `keepaliveTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `port` int NOT NULL,
+ `expires` int NOT NULL,
+ `subscribeCycleForCatalog` int NOT NULL,
+ `hostAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `charset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `subscribeCycleForMobilePosition` int DEFAULT NULL,
+ `mobilePositionSubmissionInterval` int DEFAULT '5 ',
+ `subscribeCycleForAlarm` int DEFAULT NULL,
+ `ssrcCheck` int DEFAULT '0 ',
+ `geoCoordSys` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
+ `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 53
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -58,8 +63,10 @@ CREATE TABLE `device` (
--
LOCK TABLES `device` WRITE;
-/*!40000 ALTER TABLE `device` DISABLE KEYS */;
-/*!40000 ALTER TABLE `device` ENABLE KEYS */;
+/*!40000 ALTER TABLE `device`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `device`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -67,22 +74,26 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `device_alarm`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `device_alarm` (
- `id` int NOT NULL AUTO_INCREMENT,
- `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `alarmPriority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `alarmMethod` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `alarmTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `alarmDescription` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `longitude` double DEFAULT NULL,
- `latitude` double DEFAULT NULL,
- `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `device_alarm`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmPriority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmMethod` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `alarmTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmDescription` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -90,8 +101,10 @@ CREATE TABLE `device_alarm` (
--
LOCK TABLES `device_alarm` WRITE;
-/*!40000 ALTER TABLE `device_alarm` DISABLE KEYS */;
-/*!40000 ALTER TABLE `device_alarm` ENABLE KEYS */;
+/*!40000 ALTER TABLE `device_alarm`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_alarm`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -99,50 +112,55 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `device_channel`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `device_channel` (
- `id` int NOT NULL AUTO_INCREMENT,
- `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `block` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `safetyWay` int DEFAULT NULL,
- `registerWay` int DEFAULT NULL,
- `certNum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `certifiable` int DEFAULT NULL,
- `errCode` int DEFAULT NULL,
- `endTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `secrecy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `ipAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `port` int DEFAULT NULL,
- `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `PTZType` int DEFAULT NULL,
- `status` int DEFAULT NULL,
- `longitude` double DEFAULT NULL,
- `latitude` double DEFAULT NULL,
- `streamId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `parental` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `hasAudio` bit(1) DEFAULT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `subCount` int DEFAULT '0',
- `longitudeGcj02` double DEFAULT NULL,
- `latitudeGcj02` double DEFAULT NULL,
- `longitudeWgs84` double DEFAULT NULL,
- `latitudeWgs84` double DEFAULT NULL,
- `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
- UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=19336 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `device_channel`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `block` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `safetyWay` int DEFAULT NULL,
+ `registerWay` int DEFAULT NULL,
+ `certNum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `certifiable` int DEFAULT NULL,
+ `errCode` int DEFAULT NULL,
+ `endTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `secrecy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `ipAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `port` int DEFAULT NULL,
+ `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `PTZType` int DEFAULT NULL,
+ `status` int DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `streamId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `parental` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `hasAudio` bit(1) DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `subCount` int DEFAULT '0 ',
+ `longitudeGcj02` double DEFAULT NULL,
+ `latitudeGcj02` double DEFAULT NULL,
+ `longitudeWgs84` double DEFAULT NULL,
+ `latitudeWgs84` double DEFAULT NULL,
+ `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
+ UNIQUE KEY `device_channel_pk` (`channelId`, `deviceId`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 19496
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -150,8 +168,10 @@ CREATE TABLE `device_channel` (
--
LOCK TABLES `device_channel` WRITE;
-/*!40000 ALTER TABLE `device_channel` DISABLE KEYS */;
-/*!40000 ALTER TABLE `device_channel` ENABLE KEYS */;
+/*!40000 ALTER TABLE `device_channel`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_channel`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -159,27 +179,32 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `device_mobile_position`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `device_mobile_position` (
- `id` int NOT NULL AUTO_INCREMENT,
- `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `channelId` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `deviceName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `longitude` double NOT NULL,
- `latitude` double NOT NULL,
- `altitude` double DEFAULT NULL,
- `speed` double DEFAULT NULL,
- `direction` double DEFAULT NULL,
- `reportSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `longitudeGcj02` double DEFAULT NULL,
- `latitudeGcj02` double DEFAULT NULL,
- `longitudeWgs84` double DEFAULT NULL,
- `latitudeWgs84` double DEFAULT NULL,
- `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=6751 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `device_mobile_position`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `channelId` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `deviceName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `longitude` double NOT NULL,
+ `latitude` double NOT NULL,
+ `altitude` double DEFAULT NULL,
+ `speed` double DEFAULT NULL,
+ `direction` double DEFAULT NULL,
+ `reportSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitudeGcj02` double DEFAULT NULL,
+ `latitudeGcj02` double DEFAULT NULL,
+ `longitudeWgs84` double DEFAULT NULL,
+ `latitudeWgs84` double DEFAULT NULL,
+ `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 6956
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -187,8 +212,10 @@ CREATE TABLE `device_mobile_position` (
--
LOCK TABLES `device_mobile_position` WRITE;
-/*!40000 ALTER TABLE `device_mobile_position` DISABLE KEYS */;
-/*!40000 ALTER TABLE `device_mobile_position` ENABLE KEYS */;
+/*!40000 ALTER TABLE `device_mobile_position`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_mobile_position`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -196,24 +223,29 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `gb_stream`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `gb_stream` (
- `gbStreamId` int NOT NULL AUTO_INCREMENT,
- `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `gbId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `longitude` double DEFAULT NULL,
- `latitude` double DEFAULT NULL,
- `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`gbStreamId`) USING BTREE,
- UNIQUE KEY `app` (`app`,`stream`) USING BTREE,
- UNIQUE KEY `gbId` (`gbId`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=301740 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `gb_stream`
+(
+ `gbStreamId` int NOT NULL AUTO_INCREMENT,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `gbId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`gbStreamId`) USING BTREE,
+ UNIQUE KEY `app` (`app`, `stream`) USING BTREE,
+ UNIQUE KEY `gbId` (`gbId`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 301754
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -221,8 +253,10 @@ CREATE TABLE `gb_stream` (
--
LOCK TABLES `gb_stream` WRITE;
-/*!40000 ALTER TABLE `gb_stream` DISABLE KEYS */;
-/*!40000 ALTER TABLE `gb_stream` ENABLE KEYS */;
+/*!40000 ALTER TABLE `gb_stream`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `gb_stream`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -230,20 +264,25 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `log`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `log` (
- `id` int NOT NULL AUTO_INCREMENT,
- `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `timing` bigint NOT NULL,
- `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=37760 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `log`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `timing` bigint NOT NULL,
+ `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 42703
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -251,8 +290,10 @@ CREATE TABLE `log` (
--
LOCK TABLES `log` WRITE;
-/*!40000 ALTER TABLE `log` DISABLE KEYS */;
-/*!40000 ALTER TABLE `log` ENABLE KEYS */;
+/*!40000 ALTER TABLE `log`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `log`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -260,35 +301,39 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `media_server`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `media_server` (
- `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `hookIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `sdpIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `streamIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `httpPort` int NOT NULL,
- `httpSSlPort` int NOT NULL,
- `rtmpPort` int NOT NULL,
- `rtmpSSlPort` int NOT NULL,
- `rtpProxyPort` int NOT NULL,
- `rtspPort` int NOT NULL,
- `rtspSSLPort` int NOT NULL,
- `autoConfig` int NOT NULL,
- `secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `streamNoneReaderDelayMS` int NOT NULL,
- `rtpEnable` int NOT NULL,
- `rtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `sendRtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `recordAssistPort` int NOT NULL,
- `defaultServer` int NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `hookAliveInterval` int NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `media_server_i` (`ip`,`httpPort`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `media_server`
+(
+ `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `hookIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `sdpIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `streamIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `httpPort` int NOT NULL,
+ `httpSSlPort` int NOT NULL,
+ `rtmpPort` int NOT NULL,
+ `rtmpSSlPort` int NOT NULL,
+ `rtpProxyPort` int NOT NULL,
+ `rtspPort` int NOT NULL,
+ `rtspSSLPort` int NOT NULL,
+ `autoConfig` int NOT NULL,
+ `secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `streamNoneReaderDelayMS` int NOT NULL,
+ `rtpEnable` int NOT NULL,
+ `rtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `sendRtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `recordAssistPort` int NOT NULL,
+ `defaultServer` int NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `hookAliveInterval` int NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `media_server_i` (`ip`, `httpPort`) USING BTREE
+) ENGINE = InnoDB
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -296,8 +341,10 @@ CREATE TABLE `media_server` (
--
LOCK TABLES `media_server` WRITE;
-/*!40000 ALTER TABLE `media_server` DISABLE KEYS */;
-/*!40000 ALTER TABLE `media_server` ENABLE KEYS */;
+/*!40000 ALTER TABLE `media_server`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `media_server`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -305,39 +352,44 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `parent_platform`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `parent_platform` (
- `id` int NOT NULL AUTO_INCREMENT,
- `enable` int DEFAULT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `serverGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `serverGBDomain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `serverIP` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `serverPort` int DEFAULT NULL,
- `deviceGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `deviceIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `devicePort` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `expires` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `keepTimeout` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `characterSet` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `ptz` int DEFAULT NULL,
- `rtcp` int DEFAULT NULL,
- `status` bit(1) DEFAULT NULL,
- `startOfflinePush` int DEFAULT '0',
- `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `catalogGroup` int DEFAULT '1',
- `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE,
- UNIQUE KEY `parent_platform_pk` (`serverGBId`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `parent_platform`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `enable` int DEFAULT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `serverGBDomain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverIP` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverPort` int DEFAULT NULL,
+ `deviceGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `deviceIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `devicePort` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `expires` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `keepTimeout` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `characterSet` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `ptz` int DEFAULT NULL,
+ `rtcp` int DEFAULT NULL,
+ `status` bit(1) DEFAULT NULL,
+ `startOfflinePush` int DEFAULT '0 ',
+ `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogGroup` int DEFAULT '1 ',
+ `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE,
+ UNIQUE KEY `parent_platform_pk` (`serverGBId`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 40
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -345,8 +397,10 @@ CREATE TABLE `parent_platform` (
--
LOCK TABLES `parent_platform` WRITE;
-/*!40000 ALTER TABLE `parent_platform` DISABLE KEYS */;
-/*!40000 ALTER TABLE `parent_platform` ENABLE KEYS */;
+/*!40000 ALTER TABLE `parent_platform`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `parent_platform`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -354,17 +408,21 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `platform_catalog`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `platform_catalog` (
- `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `civilCode` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `businessGroupId` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `platform_catalog`
+(
+ `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `civilCode` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `businessGroupId` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -372,8 +430,10 @@ CREATE TABLE `platform_catalog` (
--
LOCK TABLES `platform_catalog` WRITE;
-/*!40000 ALTER TABLE `platform_catalog` DISABLE KEYS */;
-/*!40000 ALTER TABLE `platform_catalog` ENABLE KEYS */;
+/*!40000 ALTER TABLE `platform_catalog`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_catalog`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -381,15 +441,20 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `platform_gb_channel`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `platform_gb_channel` (
- `id` int NOT NULL AUTO_INCREMENT,
- `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `deviceChannelId` int NOT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=4912 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `platform_gb_channel`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `deviceChannelId` int NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 4915
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -397,8 +462,10 @@ CREATE TABLE `platform_gb_channel` (
--
LOCK TABLES `platform_gb_channel` WRITE;
-/*!40000 ALTER TABLE `platform_gb_channel` DISABLE KEYS */;
-/*!40000 ALTER TABLE `platform_gb_channel` ENABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_channel`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_channel`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -406,16 +473,21 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `platform_gb_stream`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `platform_gb_stream` (
- `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `gbStreamId` int NOT NULL,
- `id` int NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `platform_gb_stream_pk` (`platformId`,`catalogId`,`gbStreamId`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=302134 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `platform_gb_stream`
+(
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `gbStreamId` int NOT NULL,
+ `id` int NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `platform_gb_stream_pk` (`platformId`, `catalogId`, `gbStreamId`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 302149
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -423,8 +495,10 @@ CREATE TABLE `platform_gb_stream` (
--
LOCK TABLES `platform_gb_stream` WRITE;
-/*!40000 ALTER TABLE `platform_gb_stream` DISABLE KEYS */;
-/*!40000 ALTER TABLE `platform_gb_stream` ENABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_stream`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_stream`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -432,31 +506,36 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `stream_proxy`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `stream_proxy` (
- `id` int NOT NULL AUTO_INCREMENT,
- `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `src_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `dst_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `timeout_ms` int DEFAULT NULL,
- `ffmpeg_cmd_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `rtp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `enable_hls` bit(1) DEFAULT NULL,
- `enable_mp4` bit(1) DEFAULT NULL,
- `enable` bit(1) NOT NULL,
- `status` bit(1) NOT NULL,
- `enable_remove_none_reader` bit(1) NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `stream_proxy`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `src_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `dst_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `timeout_ms` int DEFAULT NULL,
+ `ffmpeg_cmd_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `rtp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `enable_hls` bit(1) DEFAULT NULL,
+ `enable_mp4` bit(1) DEFAULT NULL,
+ `enable` bit(1) NOT NULL,
+ `status` bit(1) NOT NULL,
+ `enable_remove_none_reader` bit(1) NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `stream_proxy_pk` (`app`, `stream`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 66
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -464,8 +543,10 @@ CREATE TABLE `stream_proxy` (
--
LOCK TABLES `stream_proxy` WRITE;
-/*!40000 ALTER TABLE `stream_proxy` DISABLE KEYS */;
-/*!40000 ALTER TABLE `stream_proxy` ENABLE KEYS */;
+/*!40000 ALTER TABLE `stream_proxy`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `stream_proxy`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -473,25 +554,32 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `stream_push`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `stream_push` (
- `id` int NOT NULL AUTO_INCREMENT,
- `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `originType` int DEFAULT NULL,
- `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `aliveSecond` int DEFAULT NULL,
- `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
- `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
- `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- `status` int DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=305390 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `stream_push`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `originType` int DEFAULT NULL,
+ `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `aliveSecond` int DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
+ `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `status` int DEFAULT NULL,
+ `pushIng` int DEFAULT NULL,
+ `self` int DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `stream_push_pk` (`app`, `stream`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 305415
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -499,8 +587,10 @@ CREATE TABLE `stream_push` (
--
LOCK TABLES `stream_push` WRITE;
-/*!40000 ALTER TABLE `stream_push` DISABLE KEYS */;
-/*!40000 ALTER TABLE `stream_push` ENABLE KEYS */;
+/*!40000 ALTER TABLE `stream_push`
+ DISABLE KEYS */;
+/*!40000 ALTER TABLE `stream_push`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -508,19 +598,24 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `user`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `user` (
- `id` int NOT NULL AUTO_INCREMENT,
- `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `roleId` int NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `pushKey` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `user`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `roleId` int NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `pushKey` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 2
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -528,9 +623,13 @@ CREATE TABLE `user` (
--
LOCK TABLES `user` WRITE;
-/*!40000 ALTER TABLE `user` DISABLE KEYS */;
-INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'2021 - 04 - 13 14:14:57','2021 - 04 - 13 14:14:57','453df297a57a5a7438934sda801fc3');
-/*!40000 ALTER TABLE `user` ENABLE KEYS */;
+/*!40000 ALTER TABLE `user`
+ DISABLE KEYS */;
+INSERT INTO `user`
+VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 1, '2021 - 04 - 13 14:14:57', '2021 - 04 - 13 14:14:57',
+ '01685cb9573ae25ec6c52142402da7c5');
+/*!40000 ALTER TABLE `user`
+ ENABLE KEYS */;
UNLOCK TABLES;
--
@@ -538,16 +637,21 @@ UNLOCK TABLES;
--
DROP TABLE IF EXISTS `user_role`;
-/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
-CREATE TABLE `user_role` (
- `id` int NOT NULL AUTO_INCREMENT,
- `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `authority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+CREATE TABLE `user_role`
+(
+ `id` int NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `authority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 2
+ DEFAULT CHARSET = utf8mb4
+ COLLATE = utf8mb4_general_ci
+ ROW_FORMAT = DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -555,18 +659,21 @@ CREATE TABLE `user_role` (
--
LOCK TABLES `user_role` WRITE;
-/*!40000 ALTER TABLE `user_role` DISABLE KEYS */;
-INSERT INTO `user_role` VALUES (1,'admin','0','2021-04-13 14:14:57','2021-04-13 14:14:57');
-/*!40000 ALTER TABLE `user_role` ENABLE KEYS */;
+/*!40000 ALTER TABLE `user_role`
+ DISABLE KEYS */;
+INSERT INTO `user_role`
+VALUES (1, 'admin', '0 ', '2021 - 04 - 13 14:14:57', '2021 - 04 - 13 14:14:57');
+/*!40000 ALTER TABLE `user_role`
+ ENABLE KEYS */;
UNLOCK TABLES;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+/*!40103 SET TIME_ZONE = @OLD_TIME_ZONE */;
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+/*!40101 SET SQL_MODE = @OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS = @OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT = @OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS = @OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION = @OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES = @OLD_SQL_NOTES */;
--- Dump completed on 2022-07-17 23:15:09
+-- Dump completed on 2022-07-27 14:51:08
diff --git a/sql/update.sql b/sql/update.sql
index 91f725ec..d61ad353 100644
--- a/sql/update.sql
+++ b/sql/update.sql
@@ -77,5 +77,8 @@ alter table platform_catalog
alter table platform_catalog
add businessGroupId varchar(50) default null;
+/********************* ADD ***************************/
+alter table stream_push
+ add self int DEFAULT NULL;
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
index c0fcf01f..d28ddebc 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
@@ -1,6 +1,5 @@
package com.genersoft.iot.vmp.conf;
-import io.swagger.models.auth.In;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java
index 63569ef1..509a1e03 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/security/DefaultUserDetailsServiceImpl.java
@@ -1,9 +1,7 @@
package com.genersoft.iot.vmp.conf.security;
-import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
-import com.genersoft.iot.vmp.service.IUserService;
-import com.genersoft.iot.vmp.storager.dao.dto.User;
-import com.github.xiaoymin.knife4j.core.util.StrUtil;
+import java.time.LocalDateTime;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,7 +10,10 @@ import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Component;
-import java.time.LocalDateTime;
+import com.alibaba.excel.util.StringUtils;
+import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
+import com.genersoft.iot.vmp.service.IUserService;
+import com.genersoft.iot.vmp.storager.dao.dto.User;
/**
* 用户登录认证逻辑
@@ -27,7 +28,7 @@ public class DefaultUserDetailsServiceImpl implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
- if (StrUtil.isBlank(username)) {
+ if (StringUtils.isBlank(username)) {
logger.info("登录用户:{} 不存在", username);
throw new UsernameNotFoundException("登录用户:" + username + " 不存在");
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogData.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogData.java
index 8a96d356..965d7f2a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogData.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogData.java
@@ -3,8 +3,14 @@ package com.genersoft.iot.vmp.gb28181.bean;
import java.time.Instant;
import java.util.List;
+/**
+ * @author lin
+ */
public class CatalogData {
- private int sn; // 命令序列号
+ /**
+ * 命令序列号
+ */
+ private int sn;
private int total;
private List channelList;
private Instant lastTime;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SyncStatus.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SyncStatus.java
index 2ae50e69..f3a197ca 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SyncStatus.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SyncStatus.java
@@ -2,12 +2,15 @@ package com.genersoft.iot.vmp.gb28181.bean;
/**
* 摄像机同步状态
+ * @author lin
*/
public class SyncStatus {
private int total;
private int current;
private String errorMsg;
+ private boolean syncIng;
+
public int getTotal() {
return total;
}
@@ -31,4 +34,12 @@ public class SyncStatus {
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
+
+ public boolean isSyncIng() {
+ return syncIng;
+ }
+
+ public void setSyncIng(boolean syncIng) {
+ this.syncIng = syncIng;
+ }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
index 7ed3c116..732a87a3 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
@@ -84,6 +84,11 @@ public class CatalogDataCatch {
syncStatus.setCurrent(catalogData.getChannelList().size());
syncStatus.setTotal(catalogData.getTotal());
syncStatus.setErrorMsg(catalogData.getErrorMsg());
+ if (catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) {
+ syncStatus.setSyncIng(false);
+ }else {
+ syncStatus.setSyncIng(true);
+ }
return syncStatus;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeTask.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeTask.java
index cf1f7cf6..e43e59b9 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeTask.java
@@ -39,9 +39,9 @@ public class MobilePositionSubscribeTask implements ISubscribeTask {
dynamicTask.stop(taskKey);
}
sipCommander.mobilePositionSubscribe(device, dialog, eventResult -> {
-// if (eventResult.dialog != null || eventResult.dialog.getState().equals(DialogState.CONFIRMED)) {
-// dialog = eventResult.dialog;
-// }
+ if (eventResult.dialog != null || eventResult.dialog.getState().equals(DialogState.CONFIRMED)) {
+ dialog = eventResult.dialog;
+ }
ResponseEvent event = (ResponseEvent) eventResult.event;
if (event.getResponse().getRawContent() != null) {
// 成功
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 0097ce0a..feb66b47 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
@@ -10,6 +10,9 @@ import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider;
+import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
+import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
+import com.genersoft.iot.vmp.media.zlm.dto.HookType;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
@@ -348,25 +351,19 @@ public class SIPCommander implements ISIPCommander {
@Override
public void playStreamCmd(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId,
ZLMHttpHookSubscribe.Event event, SipSubscribe.Event okEvent, SipSubscribe.Event errorEvent) {
- String streamId = ssrcInfo.getStream();
+ String stream = ssrcInfo.getStream();
try {
if (device == null) {
return;
}
String streamMode = device.getStreamMode().toUpperCase();
- logger.info("{} 分配的ZLM为: {} [{}:{}]", streamId, mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
- // 添加订阅
- JSONObject subscribeKey = new JSONObject();
- subscribeKey.put("app", "rtp");
- subscribeKey.put("stream", streamId);
- subscribeKey.put("regist", true);
- subscribeKey.put("schema", "rtmp");
- subscribeKey.put("mediaServerId", mediaServerItem.getId());
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
- (MediaServerItem mediaServerItemInUse, JSONObject json)->{
+ logger.info("{} 分配的ZLM为: {} [{}:{}]", stream, mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
+ HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtmp", mediaServerItem.getId());
+ subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json)->{
if (event != null) {
event.response(mediaServerItemInUse, json);
+ subscribe.removeSubscribe(hookSubscribe);
}
});
//
@@ -440,7 +437,7 @@ public class SIPCommander implements ISIPCommander {
errorEvent.response(e);
}), e ->{
// 这里为例避免一个通道的点播只有一个callID这个参数使用一个固定值
- streamSession.put(device.getDeviceId(), channelId ,"play", streamId, ssrcInfo.getSsrc(), mediaServerItem.getId(), ((ResponseEvent)e.event).getClientTransaction(), VideoStreamSessionManager.SessionType.play);
+ streamSession.put(device.getDeviceId(), channelId ,"play", stream, ssrcInfo.getSsrc(), mediaServerItem.getId(), ((ResponseEvent)e.event).getClientTransaction(), VideoStreamSessionManager.SessionType.play);
streamSession.put(device.getDeviceId(), channelId ,"play", e.dialog);
okEvent.response(e);
});
@@ -530,21 +527,14 @@ public class SIPCommander implements ISIPCommander {
CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
: udpSipProvider.getNewCallId();
-
+ HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, "rtmp", mediaServerItem.getId());
// 添加订阅
- JSONObject subscribeKey = new JSONObject();
- subscribeKey.put("app", "rtp");
- subscribeKey.put("stream", ssrcInfo.getStream());
- subscribeKey.put("regist", true);
- subscribeKey.put("schema", "rtmp");
- subscribeKey.put("mediaServerId", mediaServerItem.getId());
- logger.debug("录像回放添加订阅,订阅内容:" + subscribeKey);
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
- (MediaServerItem mediaServerItemInUse, JSONObject json)->{
+ subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json)->{
if (hookEvent != null) {
InviteStreamInfo inviteStreamInfo = new InviteStreamInfo(mediaServerItemInUse, json, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream());
hookEvent.call(inviteStreamInfo);
}
+ subscribe.removeSubscribe(hookSubscribe);
});
Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null, callIdHeader, ssrcInfo.getSsrc());
@@ -643,21 +633,15 @@ public class SIPCommander implements ISIPCommander {
CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
: udpSipProvider.getNewCallId();
+ HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, null, mediaServerItem.getId());
// 添加订阅
- JSONObject subscribeKey = new JSONObject();
- subscribeKey.put("app", "rtp");
- subscribeKey.put("stream", ssrcInfo.getStream());
- subscribeKey.put("regist", true);
- subscribeKey.put("mediaServerId", mediaServerItem.getId());
- logger.debug("录像回放添加订阅,订阅内容:" + subscribeKey.toString());
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
- (MediaServerItem mediaServerItemInUse, JSONObject json)->{
+ subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json)->{
hookEvent.call(new InviteStreamInfo(mediaServerItem, json, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream()));
- subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey);
- subscribeKey.put("regist", false);
- subscribeKey.put("schema", "rtmp");
+ subscribe.removeSubscribe(hookSubscribe);
+ hookSubscribe.getContent().put("regist", false);
+ hookSubscribe.getContent().put("schema", "rtmp");
// 添加流注销的订阅,注销了后向设备发送bye
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
+ subscribe.addSubscribe(hookSubscribe,
(MediaServerItem mediaServerItemForEnd, JSONObject jsonForEnd)->{
ClientTransaction transaction = streamSession.getTransaction(device.getDeviceId(), channelId, ssrcInfo.getStream(), callIdHeader.getCallId());
if (transaction != null) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java
index 32688801..88973769 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java
@@ -126,7 +126,7 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In
SsrcTransaction ssrcTransactionForPlay = streamSession.getSsrcTransaction(device.getDeviceId(), channelId, "play", null);
if (ssrcTransactionForPlay != null){
SIPDialog dialogForPlay = (SIPDialog) SerializeUtils.deSerialize(ssrcTransactionForPlay.getDialog());
- if (dialogForPlay.getCallId().equals(callIdHeader.getCallId())){
+ if (dialogForPlay.getCallId().getCallId().equals(callIdHeader.getCallId())){
// 释放ssrc
MediaServerItem mediaServerItem = mediaServerService.getOne(ssrcTransactionForPlay.getMediaServerId());
if (mediaServerItem != null) {
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
index 19908e49..fda3bff5 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
@@ -419,18 +419,16 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
}
}
} else if (gbStream != null) {
- if (streamPushItem.isStatus()) {
- // 在线状态
+ if (streamPushItem != null && streamPushItem.isPushIng()) {
+ // 推流状态
pushStream(evt, gbStream, streamPushItem, platform, callIdHeader, mediaServerItem, port, tcpActive,
mediaTransmissionTCP, channelId, addressStr, ssrc, requesterId);
} else {
- // 不在线 拉起
+ // 未推流 拉起
notifyStreamOnline(evt, gbStream, streamPushItem, platform, callIdHeader, mediaServerItem, port, tcpActive,
mediaTransmissionTCP, channelId, addressStr, ssrc, requesterId);
}
-
}
-
}
} catch (SipException | InvalidArgumentException | ParseException e) {
@@ -453,7 +451,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
int port, Boolean tcpActive, boolean mediaTransmissionTCP,
String channelId, String addressStr, String ssrc, String requesterId) throws InvalidArgumentException, ParseException, SipException {
// 推流
- if (streamPushItem.getServerId().equals(userSetting.getServerId())) {
+ if (streamPushItem.isSelf()) {
Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerItem, gbStream.getApp(), gbStream.getStream());
if (streamReady) {
// 自平台内容
@@ -502,7 +500,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
String channelId, String addressStr, String ssrc, String requesterId) throws InvalidArgumentException, ParseException, SipException {
if ("proxy".equals(gbStream.getStreamType())) {
// TODO 控制启用以使设备上线
- logger.info("[ app={}, stream={} ]通道离线,启用流后开始推流", gbStream.getApp(), gbStream.getStream());
+ logger.info("[ app={}, stream={} ]通道未推流,启用流后开始推流", gbStream.getApp(), gbStream.getStream());
responseAck(evt, Response.BAD_REQUEST, "channel [" + gbStream.getGbId() + "] offline");
} else if ("push".equals(gbStream.getStreamType())) {
if (!platform.isStartOfflinePush()) {
@@ -510,7 +508,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
return;
}
// 发送redis消息以使设备上线
- logger.info("[ app={}, stream={} ]通道离线,发送redis信息控制设备开始推流", gbStream.getApp(), gbStream.getStream());
+ logger.info("[ app={}, stream={} ]通道未推流,发送redis信息控制设备开始推流", gbStream.getApp(), gbStream.getStream());
MessageForPushChannel messageForPushChannel = MessageForPushChannel.getInstance(1,
gbStream.getApp(), gbStream.getStream(), gbStream.getGbId(), gbStream.getPlatformId(),
@@ -520,7 +518,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
dynamicTask.startDelay(callIdHeader.getCallId(), () -> {
logger.info("[ app={}, stream={} ] 等待设备开始推流超时", gbStream.getApp(), gbStream.getStream());
try {
- mediaListManager.removedChannelOnlineEventLister(gbStream.getGbId());
+ mediaListManager.removedChannelOnlineEventLister(gbStream.getApp(), gbStream.getStream());
responseAck(evt, Response.REQUEST_TIMEOUT); // 超时
} catch (SipException e) {
e.printStackTrace();
@@ -535,7 +533,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
Boolean finalTcpActive = tcpActive;
// 添加在本机上线的通知
- mediaListManager.addChannelOnlineEventLister(gbStream.getGbId(), (app, stream, serverId) -> {
+ mediaListManager.addChannelOnlineEventLister(gbStream.getApp(), gbStream.getStream(), (app, stream, serverId) -> {
dynamicTask.stop(callIdHeader.getCallId());
if (serverId.equals(userSetting.getServerId())) {
SendRtpItem sendRtpItem = zlmrtpServerFactory.createSendRtpItem(mediaServerItem, addressStr, finalPort, ssrc, requesterId,
@@ -623,7 +621,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
// 离线
// 查询是否在本机上线了
StreamPushItem currentStreamPushItem = streamPushService.getPush(streamPushItem.getApp(), streamPushItem.getStream());
- if (currentStreamPushItem.isStatus()) {
+ if (currentStreamPushItem.isPushIng()) {
// 在线状态
pushStream(evt, gbStream, streamPushItem, platform, callIdHeader, mediaServerItem, port, tcpActive,
mediaTransmissionTCP, channelId, addressStr, ssrc, requesterId);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
index c8a221bd..4ce30a2a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -92,39 +92,36 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
@Override
public void process(RequestEvent evt) {
try {
-
taskQueue.offer(new HandlerCatchData(evt, null, null));
responseAck(evt, Response.OK);
if (!taskQueueHandlerRun) {
taskQueueHandlerRun = true;
taskExecutor.execute(()-> {
- while (!taskQueue.isEmpty()) {
- try {
- HandlerCatchData take = taskQueue.poll();
- Element rootElement = getRootElement(take.getEvt());
- String cmd = XmlUtil.getText(rootElement, "CmdType");
+ while (!taskQueue.isEmpty()) {
+ try {
+ HandlerCatchData take = taskQueue.poll();
+ Element rootElement = getRootElement(take.getEvt());
+ String cmd = XmlUtil.getText(rootElement, "CmdType");
- if (CmdType.CATALOG.equals(cmd)) {
- logger.info("接收到Catalog通知");
- processNotifyCatalogList(take.getEvt());
- } else if (CmdType.ALARM.equals(cmd)) {
- logger.info("接收到Alarm通知");
- processNotifyAlarm(take.getEvt());
- } else if (CmdType.MOBILE_POSITION.equals(cmd)) {
- logger.info("接收到MobilePosition通知");
- processNotifyMobilePosition(take.getEvt());
- } else {
- logger.info("接收到消息:" + cmd);
- }
- } catch (DocumentException e) {
- throw new RuntimeException(e);
- }
+ if (CmdType.CATALOG.equals(cmd)) {
+ logger.info("接收到Catalog通知");
+ processNotifyCatalogList(take.getEvt());
+ } else if (CmdType.ALARM.equals(cmd)) {
+ logger.info("接收到Alarm通知");
+ processNotifyAlarm(take.getEvt());
+ } else if (CmdType.MOBILE_POSITION.equals(cmd)) {
+ logger.info("接收到MobilePosition通知");
+ processNotifyMobilePosition(take.getEvt());
+ } else {
+ logger.info("接收到消息:" + cmd);
}
- taskQueueHandlerRun = false;
- });
+ } catch (DocumentException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ taskQueueHandlerRun = false;
+ });
}
-
-
} catch (SipException | InvalidArgumentException | ParseException e) {
e.printStackTrace();
}
@@ -174,7 +171,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
} else {
mobilePosition.setAltitude(0.0);
}
- logger.info("[收到 移动位置订阅]:{}/{}->{}.{}", mobilePosition.getDeviceId(), mobilePosition.getChannelId(),
+ logger.info("[收到移动位置订阅通知]:{}/{}->{}.{}", mobilePosition.getDeviceId(), mobilePosition.getChannelId(),
mobilePosition.getLongitude(), mobilePosition.getLatitude());
mobilePosition.setReportSource("Mobile Position");
@@ -318,7 +315,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
Device device = redisCatchStorage.getDevice(deviceId);
if (device == null || device.getOnline() == 0) {
- logger.warn("[收到 目录订阅]:{}, 但是设备已经离线", (device != null ? device.getDeviceId():"" ));
+ logger.warn("[收到目录订阅]:{}, 但是设备已经离线", (device != null ? device.getDeviceId():"" ));
return;
}
Element rootElement = getRootElement(evt, device.getCharset());
@@ -339,28 +336,28 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
Element eventElement = itemDevice.element("Event");
String event;
if (eventElement == null) {
- logger.warn("[收到 目录订阅]:{}, 但是Event为空, 设为默认值 ADD", (device != null ? device.getDeviceId():"" ));
+ logger.warn("[收到目录订阅]:{}, 但是Event为空, 设为默认值 ADD", (device != null ? device.getDeviceId():"" ));
event = CatalogEvent.ADD;
}else {
event = eventElement.getText().toUpperCase();
}
DeviceChannel channel = XmlUtil.channelContentHander(itemDevice, device, event);
channel.setDeviceId(device.getDeviceId());
- logger.info("[收到 目录订阅]:{}/{}", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到目录订阅]:{}/{}", device.getDeviceId(), channel.getChannelId());
switch (event) {
case CatalogEvent.ON:
// 上线
- logger.info("收到来自设备【{}】的通道【{}】上线通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到通道上线通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
storager.deviceChannelOnline(deviceId, channel.getChannelId());
break;
case CatalogEvent.OFF :
// 离线
- logger.info("收到来自设备【{}】的通道【{}】离线通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到通道离线通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
storager.deviceChannelOffline(deviceId, channel.getChannelId());
break;
case CatalogEvent.VLOST:
// 视频丢失
- logger.info("收到来自设备【{}】的通道【{}】视频丢失通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到通道视频丢失通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
storager.deviceChannelOffline(deviceId, channel.getChannelId());
break;
case CatalogEvent.DEFECT:
@@ -368,17 +365,17 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
break;
case CatalogEvent.ADD:
// 增加
- logger.info("收到来自设备【{}】的增加通道【{}】通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到增加通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
deviceChannelService.updateChannel(deviceId, channel);
break;
case CatalogEvent.DEL:
// 删除
- logger.info("收到来自设备【{}】的删除通道【{}】通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到删除通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
storager.delChannel(deviceId, channel.getChannelId());
break;
case CatalogEvent.UPDATE:
// 更新
- logger.info("收到来自设备【{}】的更新通道【{}】通知", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到更新通道通知] 来自设备: {}, 通道 {}", device.getDeviceId(), channel.getChannelId());
deviceChannelService.updateChannel(deviceId, channel);
break;
default:
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
index 622cf073..351b79cf 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -143,6 +143,7 @@ public class RegisterRequestProcessor extends SIPRequestProcessorParent implemen
device.setGeoCoordSys("WGS84");
device.setTreeType("CivilCode");
device.setDeviceId(deviceId);
+ device.setOnline(0);
}
device.setIp(received);
device.setPort(rPort);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
index 265694ae..20316e7e 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -69,7 +69,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
@Override
public void handForDevice(RequestEvent evt, Device device, Element rootElement) {
- logger.info("收到来自设备[{}]的报警通知", device.getDeviceId());
+ logger.info("[收到报警通知]设备:{}", device.getDeviceId());
// 回复200 OK
try {
responseAck(evt, Response.OK);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java
index 8234cb15..19183e07 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/query/cmd/DeviceInfoQueryMessageHandler.java
@@ -44,7 +44,7 @@ public class DeviceInfoQueryMessageHandler extends SIPRequestProcessorParent imp
@Override
public void handForPlatform(RequestEvent evt, ParentPlatform parentPlatform, Element rootElement) {
- logger.info("接收到DeviceInfo查询消息");
+ logger.info("[DeviceInfo查询]消息");
FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
try {
// 回复200 OK
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
index 66e92c52..ff71a922 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
@@ -111,6 +111,7 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
int sumNum = Integer.parseInt(sumNumElement.getText());
if (sumNum == 0) {
+ logger.info("[收到通道]设备:{}的: 0个", take.getDevice().getDeviceId());
// 数据已经完整接收
storager.cleanChannelsForDevice(take.getDevice().getDeviceId());
catalogDataCatch.setChannelSyncEnd(take.getDevice().getDeviceId(), null);
@@ -132,7 +133,7 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
}
int sn = Integer.parseInt(snElement.getText());
catalogDataCatch.put(take.getDevice().getDeviceId(), sn, sumNum, take.getDevice(), channelList);
- logger.info("收到来自设备【{}】的通道: {}个,{}/{}", take.getDevice().getDeviceId(), channelList.size(), catalogDataCatch.get(take.getDevice().getDeviceId()) == null ? 0 :catalogDataCatch.get(take.getDevice().getDeviceId()).size(), sumNum);
+ logger.info("[收到通道]设备: {} -> {}个,{}/{}", take.getDevice().getDeviceId(), channelList.size(), catalogDataCatch.get(take.getDevice().getDeviceId()) == null ? 0 :catalogDataCatch.get(take.getDevice().getDeviceId()).size(), sumNum);
if (catalogDataCatch.get(take.getDevice().getDeviceId()).size() == sumNum) {
// 数据已经完整接收
boolean resetChannelsResult = storager.resetChannels(take.getDevice().getDeviceId(), catalogDataCatch.get(take.getDevice().getDeviceId()));
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java
index f3a9f65f..a48dd203 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/response/impl/RegisterResponseProcessor.java
@@ -26,7 +26,7 @@ import javax.sip.message.Response;
@Component
public class RegisterResponseProcessor extends SIPResponseProcessorAbstract {
- private Logger logger = LoggerFactory.getLogger(RegisterResponseProcessor.class);
+ private final Logger logger = LoggerFactory.getLogger(RegisterResponseProcessor.class);
private final String method = "REGISTER";
@Autowired
@@ -69,11 +69,11 @@ public class RegisterResponseProcessor extends SIPResponseProcessorAbstract {
ParentPlatformCatch parentPlatformCatch = redisCatchStorage.queryPlatformCatchInfo(platformGBId);
if (parentPlatformCatch == null) {
- logger.warn(String.format("收到 %s 的注册/注销%S请求, 但是平台缓存信息未查询到!!!", platformGBId, response.getStatusCode()));
+ logger.warn(String.format("[收到注册/注销%S请求]平台:%s,但是平台缓存信息未查询到!!!", response.getStatusCode(),platformGBId));
return;
}
String action = parentPlatformCatch.getParentPlatform().getExpires().equals("0") ? "注销" : "注册";
- logger.info(String.format("收到 %s %s的%S响应", platformGBId, action, response.getStatusCode() ));
+ logger.info(String.format("[%s %S响应]%s ", action, response.getStatusCode(), platformGBId ));
ParentPlatform parentPlatform = parentPlatformCatch.getParentPlatform();
if (parentPlatform == null) {
logger.warn(String.format("收到 %s %s的%S请求, 但是平台信息未查询到!!!", platformGBId, action, response.getStatusCode()));
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index 055cccbd..18654dd1 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -102,12 +102,13 @@ public class ZLMHttpHookListener {
logger.debug("[ ZLM HOOK ] on_server_keepalive API调用,参数:" + json.toString());
}
String mediaServerId = json.getString("mediaServerId");
- List subscribes = this.subscribe.getSubscribes(ZLMHttpHookSubscribe.HookType.on_server_keepalive);
+ List subscribes = this.subscribe.getSubscribes(HookType.on_server_keepalive);
if (subscribes != null && subscribes.size() > 0) {
for (ZLMHttpHookSubscribe.Event subscribe : subscribes) {
subscribe.response(null, json);
}
}
+ mediaServerService.updateMediaServerKeepalive(mediaServerId, json.getJSONObject("data"));
JSONObject ret = new JSONObject();
ret.put("code", 0);
@@ -167,7 +168,7 @@ public class ZLMHttpHookListener {
logger.debug("[ ZLM HOOK ]on_play API调用,参数:" + JSON.toJSONString(param));
}
String mediaServerId = param.getMediaServerId();
- ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_play, json);
+ ZLMHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_play, json);
if (subscribe != null ) {
MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
if (mediaInfo != null) {
@@ -240,6 +241,8 @@ public class ZLMHttpHookListener {
if (mediaInfo != null) {
assistRESTfulUtils.addStreamCallInfo(mediaInfo, param.getApp(), param.getStream(), callId, null);
}
+ }else {
+ zlmMediaListManager.sendStreamEvent(param.getApp(),param.getStream(), param.getMediaServerId());
}
ret.put("code", 0);
@@ -250,7 +253,7 @@ public class ZLMHttpHookListener {
}
- ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_publish, json);
+ ZLMHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_publish, json);
if (subscribe != null) {
if (mediaInfo != null) {
subscribe.response(mediaInfo, json);
@@ -374,7 +377,7 @@ public class ZLMHttpHookListener {
logger.debug("[ ZLM HOOK ]on_shell_login API调用,参数:" + json.toString());
}
String mediaServerId = json.getString("mediaServerId");
- ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_shell_login, json);
+ ZLMHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_shell_login, json);
if (subscribe != null ) {
MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
if (mediaInfo != null) {
@@ -400,7 +403,7 @@ public class ZLMHttpHookListener {
logger.info("[ ZLM HOOK ]on_stream_changed API调用,参数:" + JSONObject.toJSONString(item));
String mediaServerId = item.getMediaServerId();
JSONObject json = (JSONObject) JSON.toJSON(item);
- ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, json);
+ ZLMHttpHookSubscribe.Event subscribe = this.subscribe.sendNotify(HookType.on_stream_changed, json);
if (subscribe != null ) {
MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
if (mediaInfo != null) {
@@ -461,7 +464,6 @@ public class ZLMHttpHookListener {
StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem,
app, stream, tracks, streamAuthorityInfo.getCallId());
item.setStreamInfo(streamInfoByAppAndStream);
- item.setSeverId(userSetting.getServerId());
redisCatchStorage.addStream(mediaServerItem, type, app, stream, item);
if (item.getOriginType() == OriginType.RTSP_PUSH.ordinal()
|| item.getOriginType() == OriginType.RTMP_PUSH.ordinal()
@@ -469,20 +471,6 @@ public class ZLMHttpHookListener {
item.setSeverId(userSetting.getServerId());
zlmMediaListManager.addPush(item);
}
-
-// List gbStreams = new ArrayList<>();
-// if (streamPushItem == null || streamPushItem.getGbId() == null) {
-// GbStream gbStream = storager.getGbStream(app, streamId);
-// gbStreams.add(gbStream);
-// }else {
-// if (streamPushItem.getGbId() != null) {
-// gbStreams.add(streamPushItem);
-// }
-// }
-// if (gbStreams.size() > 0) {
-// eventPublisher.catalogEventPublishForStream(null, gbStreams, CatalogEvent.ON);
-// }
-
}else {
// 兼容流注销时类型从redis记录获取
MediaItem mediaItem = redisCatchStorage.getStreamInfo(app, stream, mediaServerId);
@@ -626,16 +614,21 @@ public class ZLMHttpHookListener {
}
String remoteAddr = request.getRemoteAddr();
jsonObject.put("ip", remoteAddr);
- List subscribes = this.subscribe.getSubscribes(ZLMHttpHookSubscribe.HookType.on_server_started);
+ List subscribes = this.subscribe.getSubscribes(HookType.on_server_started);
if (subscribes != null && subscribes.size() > 0) {
for (ZLMHttpHookSubscribe.Event subscribe : subscribes) {
subscribe.response(null, jsonObject);
}
}
+
+ ZLMServerConfig zlmServerConfig = JSONObject.toJavaObject(jsonObject, ZLMServerConfig.class);
+ if (zlmServerConfig !=null ) {
+ mediaServerService.zlmServerOnline(zlmServerConfig);
+ }
JSONObject ret = new JSONObject();
ret.put("code", 0);
ret.put("msg", "success");
- return new ResponseEntity(ret.toString(),HttpStatus.OK);
+ return new ResponseEntity<>(ret.toString(),HttpStatus.OK);
}
private Map urlParamToMap(String params) {
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
index ffd8ec90..57b6d81f 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookSubscribe.java
@@ -1,12 +1,16 @@
package com.genersoft.iot.vmp.media.zlm;
import com.alibaba.fastjson.JSONObject;
+import com.genersoft.iot.vmp.media.zlm.dto.HookType;
+import com.genersoft.iot.vmp.media.zlm.dto.IHookSubscribe;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
+import java.time.Instant;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
/**
* @description:针对 ZLMediaServer的hook事件订阅
@@ -16,51 +20,39 @@ import java.util.concurrent.ConcurrentHashMap;
@Component
public class ZLMHttpHookSubscribe {
- public enum HookType{
- on_flow_report,
- on_http_access,
- on_play,
- on_publish,
- on_record_mp4,
- on_rtsp_auth,
- on_rtsp_realm,
- on_shell_login,
- on_stream_changed,
- on_stream_none_reader,
- on_stream_not_found,
- on_server_started,
- on_server_keepalive
- }
-
@FunctionalInterface
public interface Event{
void response(MediaServerItem mediaServerItem, JSONObject response);
}
- private Map> allSubscribes = new ConcurrentHashMap<>();
+ private Map> allSubscribes = new ConcurrentHashMap<>();
- public void addSubscribe(HookType type, JSONObject hookResponse, ZLMHttpHookSubscribe.Event event) {
- allSubscribes.computeIfAbsent(type, k -> new ConcurrentHashMap<>()).put(hookResponse, event);
+ public void addSubscribe(IHookSubscribe hookSubscribe, ZLMHttpHookSubscribe.Event event) {
+ if (hookSubscribe.getExpires() == null) {
+ // 默认5分钟过期
+ Instant expiresInstant = Instant.now().plusSeconds(TimeUnit.MINUTES.toSeconds(5));
+ hookSubscribe.setExpires(expiresInstant);
+ }
+ allSubscribes.computeIfAbsent(hookSubscribe.getHookType(), k -> new ConcurrentHashMap<>()).put(hookSubscribe, event);
}
- public ZLMHttpHookSubscribe.Event getSubscribe(HookType type, JSONObject hookResponse) {
+ public ZLMHttpHookSubscribe.Event sendNotify(HookType type, JSONObject hookResponse) {
ZLMHttpHookSubscribe.Event event= null;
- Map eventMap = allSubscribes.get(type);
+ Map eventMap = allSubscribes.get(type);
if (eventMap == null) {
return null;
}
- for (JSONObject key : eventMap.keySet()) {
+ for (IHookSubscribe key : eventMap.keySet()) {
Boolean result = null;
- for (String s : key.keySet()) {
+ for (String s : key.getContent().keySet()) {
if (result == null) {
- result = key.getString(s).equals(hookResponse.getString(s));
+ result = key.getContent().getString(s).equals(hookResponse.getString(s));
}else {
- if (key.getString(s) == null) {
+ if (key.getContent().getString(s) == null) {
continue;
}
- result = result && key.getString(s).equals(hookResponse.getString(s));
+ result = result && key.getContent().getString(s).equals(hookResponse.getString(s));
}
-
}
if (null != result && result) {
event = eventMap.get(key);
@@ -69,26 +61,30 @@ public class ZLMHttpHookSubscribe {
return event;
}
- public void removeSubscribe(HookType type, JSONObject hookResponse) {
- Map eventMap = allSubscribes.get(type);
+ public void removeSubscribe(IHookSubscribe hookSubscribe) {
+ Map eventMap = allSubscribes.get(hookSubscribe.getHookType());
if (eventMap == null) {
return;
}
- Set> entries = eventMap.entrySet();
+ Set> entries = eventMap.entrySet();
if (entries.size() > 0) {
- List> entriesToRemove = new ArrayList<>();
- for (Map.Entry entry : entries) {
- JSONObject key = entry.getKey();
+ List> entriesToRemove = new ArrayList<>();
+ for (Map.Entry entry : entries) {
+ JSONObject content = entry.getKey().getContent();
+ if (content == null || content.size() == 0) {
+ entriesToRemove.add(entry);
+ continue;
+ }
Boolean result = null;
- for (String s : key.keySet()) {
+ for (String s : content.keySet()) {
if (result == null) {
- result = key.getString(s).equals(hookResponse.getString(s));
+ result = content.getString(s).equals(hookSubscribe.getContent().getString(s));
}else {
- if (key.getString(s) == null) {
+ if (content.getString(s) == null) {
continue;
}
- result = result && key.getString(s).equals(hookResponse.getString(s));
+ result = result && content.getString(s).equals(hookSubscribe.getContent().getString(s));
}
}
if (null != result && result){
@@ -97,7 +93,7 @@ public class ZLMHttpHookSubscribe {
}
if (!CollectionUtils.isEmpty(entriesToRemove)) {
- for (Map.Entry entry : entriesToRemove) {
+ for (Map.Entry entry : entriesToRemove) {
entries.remove(entry);
}
}
@@ -111,17 +107,25 @@ public class ZLMHttpHookSubscribe {
* @return
*/
public List getSubscribes(HookType type) {
- // ZLMHttpHookSubscribe.Event event= null;
- Map eventMap = allSubscribes.get(type);
+ Map eventMap = allSubscribes.get(type);
if (eventMap == null) {
return null;
}
List result = new ArrayList<>();
- for (JSONObject key : eventMap.keySet()) {
+ for (IHookSubscribe key : eventMap.keySet()) {
result.add(eventMap.get(key));
}
return result;
}
+ public List getAll(){
+ ArrayList result = new ArrayList<>();
+ Collection