Commit 10cb58391ab402d0e761a7c17f3740c081dc9042

Authored by 648540858
1 parent 5d673fb0

修复轨迹的储存与查询展示

sql/mysql.sql
1 -- MySQL dump 10.13 Distrib 8.0.29, for Linux (x86_64) 1 -- MySQL dump 10.13 Distrib 8.0.29, for Linux (x86_64)
2 -- 2 --
3 --- Host: 127.0.0.1 Database: wvp3 3 +-- Host: 127.0.0.1 Database: wvp2
4 -- ------------------------------------------------------ 4 -- ------------------------------------------------------
5 -- Server version 8.0.29-0ubuntu0.22.04.2 5 -- Server version 8.0.29-0ubuntu0.22.04.2
6 6
@@ -23,34 +23,34 @@ DROP TABLE IF EXISTS `device`; @@ -23,34 +23,34 @@ DROP TABLE IF EXISTS `device`;
23 /*!40101 SET @saved_cs_client = @@character_set_client */; 23 /*!40101 SET @saved_cs_client = @@character_set_client */;
24 /*!50503 SET character_set_client = utf8mb4 */; 24 /*!50503 SET character_set_client = utf8mb4 */;
25 CREATE TABLE `device` ( 25 CREATE TABLE `device` (
26 - `id` int NOT NULL AUTO_INCREMENT,  
27 - `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
28 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
29 - `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
30 - `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
31 - `firmware` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
32 - `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
33 - `streamMode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
34 - `online` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
35 - `registerTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
36 - `keepaliveTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
37 - `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
38 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
39 - `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
40 - `port` int NOT NULL,  
41 - `expires` int NOT NULL,  
42 - `subscribeCycleForCatalog` int NOT NULL,  
43 - `hostAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
44 - `charset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
45 - `subscribeCycleForMobilePosition` int DEFAULT NULL,  
46 - `mobilePositionSubmissionInterval` int DEFAULT '5',  
47 - `subscribeCycleForAlarm` int DEFAULT NULL,  
48 - `ssrcCheck` int DEFAULT '0',  
49 - `geoCoordSys` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
50 - `treeType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
51 - PRIMARY KEY (`id`) USING BTREE,  
52 - UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE  
53 -) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 26 + `id` int NOT NULL AUTO_INCREMENT,
  27 + `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  28 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  29 + `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  30 + `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  31 + `firmware` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  32 + `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  33 + `streamMode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  34 + `online` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  35 + `registerTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  36 + `keepaliveTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  37 + `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  38 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  39 + `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  40 + `port` int NOT NULL,
  41 + `expires` int NOT NULL,
  42 + `subscribeCycleForCatalog` int NOT NULL,
  43 + `hostAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  44 + `charset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  45 + `subscribeCycleForMobilePosition` int DEFAULT NULL,
  46 + `mobilePositionSubmissionInterval` int DEFAULT '5',
  47 + `subscribeCycleForAlarm` int DEFAULT NULL,
  48 + `ssrcCheck` int DEFAULT '0',
  49 + `geoCoordSys` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  50 + `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  51 + PRIMARY KEY (`id`) USING BTREE,
  52 + UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE
  53 +) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
54 /*!40101 SET character_set_client = @saved_cs_client */; 54 /*!40101 SET character_set_client = @saved_cs_client */;
55 55
56 -- 56 --
@@ -70,17 +70,17 @@ DROP TABLE IF EXISTS `device_alarm`; @@ -70,17 +70,17 @@ DROP TABLE IF EXISTS `device_alarm`;
70 /*!40101 SET @saved_cs_client = @@character_set_client */; 70 /*!40101 SET @saved_cs_client = @@character_set_client */;
71 /*!50503 SET character_set_client = utf8mb4 */; 71 /*!50503 SET character_set_client = utf8mb4 */;
72 CREATE TABLE `device_alarm` ( 72 CREATE TABLE `device_alarm` (
73 - `id` int NOT NULL AUTO_INCREMENT,  
74 - `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
75 - `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
76 - `alarmPriority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
77 - `alarmMethod` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
78 - `alarmTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
79 - `alarmDescription` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
80 - `longitude` double DEFAULT NULL,  
81 - `latitude` double DEFAULT NULL,  
82 - `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
83 - PRIMARY KEY (`id`) USING BTREE 73 + `id` int NOT NULL AUTO_INCREMENT,
  74 + `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  75 + `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  76 + `alarmPriority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  77 + `alarmMethod` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  78 + `alarmTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  79 + `alarmDescription` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  80 + `longitude` double DEFAULT NULL,
  81 + `latitude` double DEFAULT NULL,
  82 + `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  83 + PRIMARY KEY (`id`) USING BTREE
84 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 84 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
85 /*!40101 SET character_set_client = @saved_cs_client */; 85 /*!40101 SET character_set_client = @saved_cs_client */;
86 86
@@ -101,46 +101,46 @@ DROP TABLE IF EXISTS `device_channel`; @@ -101,46 +101,46 @@ DROP TABLE IF EXISTS `device_channel`;
101 /*!40101 SET @saved_cs_client = @@character_set_client */; 101 /*!40101 SET @saved_cs_client = @@character_set_client */;
102 /*!50503 SET character_set_client = utf8mb4 */; 102 /*!50503 SET character_set_client = utf8mb4 */;
103 CREATE TABLE `device_channel` ( 103 CREATE TABLE `device_channel` (
104 - `id` int NOT NULL AUTO_INCREMENT,  
105 - `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
106 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
107 - `manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
108 - `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
109 - `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
110 - `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
111 - `block` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
112 - `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
113 - `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
114 - `safetyWay` int DEFAULT NULL,  
115 - `registerWay` int DEFAULT NULL,  
116 - `certNum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
117 - `certifiable` int DEFAULT NULL,  
118 - `errCode` int DEFAULT NULL,  
119 - `endTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
120 - `secrecy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
121 - `ipAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
122 - `port` int DEFAULT NULL,  
123 - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
124 - `PTZType` int DEFAULT NULL,  
125 - `status` int DEFAULT NULL,  
126 - `longitude` double DEFAULT NULL,  
127 - `latitude` double DEFAULT NULL,  
128 - `streamId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
129 - `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
130 - `parental` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
131 - `hasAudio` bit(1) DEFAULT NULL,  
132 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
133 - `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
134 - `subCount` int DEFAULT '0',  
135 - `longitudeGcj02` double DEFAULT NULL,  
136 - `latitudeGcj02` double DEFAULT NULL,  
137 - `longitudeWgs84` double DEFAULT NULL,  
138 - `latitudeWgs84` double DEFAULT NULL,  
139 - `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
140 - PRIMARY KEY (`id`) USING BTREE,  
141 - UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,  
142 - UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE  
143 -) ENGINE=InnoDB AUTO_INCREMENT=19314 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 104 + `id` int NOT NULL AUTO_INCREMENT,
  105 + `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  106 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  107 + `manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  108 + `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  109 + `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  110 + `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  111 + `block` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  112 + `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  113 + `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  114 + `safetyWay` int DEFAULT NULL,
  115 + `registerWay` int DEFAULT NULL,
  116 + `certNum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  117 + `certifiable` int DEFAULT NULL,
  118 + `errCode` int DEFAULT NULL,
  119 + `endTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  120 + `secrecy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  121 + `ipAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  122 + `port` int DEFAULT NULL,
  123 + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  124 + `PTZType` int DEFAULT NULL,
  125 + `status` int DEFAULT NULL,
  126 + `longitude` double DEFAULT NULL,
  127 + `latitude` double DEFAULT NULL,
  128 + `streamId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  129 + `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  130 + `parental` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  131 + `hasAudio` bit(1) DEFAULT NULL,
  132 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  133 + `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  134 + `subCount` int DEFAULT '0',
  135 + `longitudeGcj02` double DEFAULT NULL,
  136 + `latitudeGcj02` double DEFAULT NULL,
  137 + `longitudeWgs84` double DEFAULT NULL,
  138 + `latitudeWgs84` double DEFAULT NULL,
  139 + `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  140 + PRIMARY KEY (`id`) USING BTREE,
  141 + UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
  142 + UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE
  143 +) ENGINE=InnoDB AUTO_INCREMENT=19317 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
144 /*!40101 SET character_set_client = @saved_cs_client */; 144 /*!40101 SET character_set_client = @saved_cs_client */;
145 145
146 -- 146 --
@@ -160,22 +160,23 @@ DROP TABLE IF EXISTS `device_mobile_position`; @@ -160,22 +160,23 @@ DROP TABLE IF EXISTS `device_mobile_position`;
160 /*!40101 SET @saved_cs_client = @@character_set_client */; 160 /*!40101 SET @saved_cs_client = @@character_set_client */;
161 /*!50503 SET character_set_client = utf8mb4 */; 161 /*!50503 SET character_set_client = utf8mb4 */;
162 CREATE TABLE `device_mobile_position` ( 162 CREATE TABLE `device_mobile_position` (
163 - `id` int NOT NULL AUTO_INCREMENT,  
164 - `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
165 - `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
166 - `deviceName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
167 - `time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
168 - `longitude` double NOT NULL,  
169 - `latitude` double NOT NULL,  
170 - `altitude` double DEFAULT NULL,  
171 - `speed` double DEFAULT NULL,  
172 - `direction` double DEFAULT NULL,  
173 - `reportSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
174 - `geodeticSystem` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
175 - `cnLng` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
176 - `cnLat` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
177 - PRIMARY KEY (`id`) USING BTREE  
178 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 163 + `id` int NOT NULL AUTO_INCREMENT,
  164 + `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  165 + `channelId` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  166 + `deviceName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  167 + `time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  168 + `longitude` double NOT NULL,
  169 + `latitude` double NOT NULL,
  170 + `altitude` double DEFAULT NULL,
  171 + `speed` double DEFAULT NULL,
  172 + `direction` double DEFAULT NULL,
  173 + `reportSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  174 + `longitudeGcj02` double DEFAULT NULL,
  175 + `latitudeGcj02` double DEFAULT NULL,
  176 + `longitudeWgs84` double DEFAULT NULL,
  177 + `latitudeWgs84` double DEFAULT NULL,
  178 + PRIMARY KEY (`id`) USING BTREE
  179 +) ENGINE=InnoDB AUTO_INCREMENT=1508 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
179 /*!40101 SET character_set_client = @saved_cs_client */; 180 /*!40101 SET character_set_client = @saved_cs_client */;
180 181
181 -- 182 --
@@ -195,20 +196,20 @@ DROP TABLE IF EXISTS `gb_stream`; @@ -195,20 +196,20 @@ DROP TABLE IF EXISTS `gb_stream`;
195 /*!40101 SET @saved_cs_client = @@character_set_client */; 196 /*!40101 SET @saved_cs_client = @@character_set_client */;
196 /*!50503 SET character_set_client = utf8mb4 */; 197 /*!50503 SET character_set_client = utf8mb4 */;
197 CREATE TABLE `gb_stream` ( 198 CREATE TABLE `gb_stream` (
198 - `gbStreamId` int NOT NULL AUTO_INCREMENT,  
199 - `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
200 - `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
201 - `gbId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
202 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
203 - `longitude` double DEFAULT NULL,  
204 - `latitude` double DEFAULT NULL,  
205 - `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
206 - `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
207 - `status` int DEFAULT NULL,  
208 - `createStamp` bigint DEFAULT NULL,  
209 - PRIMARY KEY (`gbStreamId`) USING BTREE,  
210 - UNIQUE KEY `app` (`app`,`stream`) USING BTREE,  
211 - UNIQUE KEY `gbId` (`gbId`) USING BTREE 199 + `gbStreamId` int NOT NULL AUTO_INCREMENT,
  200 + `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  201 + `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  202 + `gbId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  203 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  204 + `longitude` double DEFAULT NULL,
  205 + `latitude` double DEFAULT NULL,
  206 + `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  207 + `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  208 + `status` int DEFAULT NULL,
  209 + `createStamp` bigint DEFAULT NULL,
  210 + PRIMARY KEY (`gbStreamId`) USING BTREE,
  211 + UNIQUE KEY `app` (`app`,`stream`) USING BTREE,
  212 + UNIQUE KEY `gbId` (`gbId`) USING BTREE
212 ) ENGINE=InnoDB AUTO_INCREMENT=301679 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 213 ) ENGINE=InnoDB AUTO_INCREMENT=301679 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
213 /*!40101 SET character_set_client = @saved_cs_client */; 214 /*!40101 SET character_set_client = @saved_cs_client */;
214 215
@@ -229,17 +230,17 @@ DROP TABLE IF EXISTS `log`; @@ -229,17 +230,17 @@ DROP TABLE IF EXISTS `log`;
229 /*!40101 SET @saved_cs_client = @@character_set_client */; 230 /*!40101 SET @saved_cs_client = @@character_set_client */;
230 /*!50503 SET character_set_client = utf8mb4 */; 231 /*!50503 SET character_set_client = utf8mb4 */;
231 CREATE TABLE `log` ( 232 CREATE TABLE `log` (
232 - `id` int NOT NULL AUTO_INCREMENT,  
233 - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
234 - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
235 - `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
236 - `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
237 - `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
238 - `timing` bigint NOT NULL,  
239 - `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
240 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
241 - PRIMARY KEY (`id`) USING BTREE  
242 -) ENGINE=InnoDB AUTO_INCREMENT=21611 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 233 + `id` int NOT NULL AUTO_INCREMENT,
  234 + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  235 + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  236 + `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  237 + `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  238 + `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  239 + `timing` bigint NOT NULL,
  240 + `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  241 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  242 + PRIMARY KEY (`id`) USING BTREE
  243 +) ENGINE=InnoDB AUTO_INCREMENT=22051 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
243 /*!40101 SET character_set_client = @saved_cs_client */; 244 /*!40101 SET character_set_client = @saved_cs_client */;
244 245
245 -- 246 --
@@ -259,31 +260,31 @@ DROP TABLE IF EXISTS `media_server`; @@ -259,31 +260,31 @@ DROP TABLE IF EXISTS `media_server`;
259 /*!40101 SET @saved_cs_client = @@character_set_client */; 260 /*!40101 SET @saved_cs_client = @@character_set_client */;
260 /*!50503 SET character_set_client = utf8mb4 */; 261 /*!50503 SET character_set_client = utf8mb4 */;
261 CREATE TABLE `media_server` ( 262 CREATE TABLE `media_server` (
262 - `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
263 - `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
264 - `hookIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
265 - `sdpIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
266 - `streamIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
267 - `httpPort` int NOT NULL,  
268 - `httpSSlPort` int NOT NULL,  
269 - `rtmpPort` int NOT NULL,  
270 - `rtmpSSlPort` int NOT NULL,  
271 - `rtpProxyPort` int NOT NULL,  
272 - `rtspPort` int NOT NULL,  
273 - `rtspSSLPort` int NOT NULL,  
274 - `autoConfig` int NOT NULL,  
275 - `secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
276 - `streamNoneReaderDelayMS` int NOT NULL,  
277 - `rtpEnable` int NOT NULL,  
278 - `rtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
279 - `sendRtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
280 - `recordAssistPort` int NOT NULL,  
281 - `defaultServer` int NOT NULL,  
282 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
283 - `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
284 - `hookAliveInterval` int NOT NULL,  
285 - PRIMARY KEY (`id`) USING BTREE,  
286 - UNIQUE KEY `media_server_i` (`ip`,`httpPort`) USING BTREE 263 + `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  264 + `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  265 + `hookIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  266 + `sdpIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  267 + `streamIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  268 + `httpPort` int NOT NULL,
  269 + `httpSSlPort` int NOT NULL,
  270 + `rtmpPort` int NOT NULL,
  271 + `rtmpSSlPort` int NOT NULL,
  272 + `rtpProxyPort` int NOT NULL,
  273 + `rtspPort` int NOT NULL,
  274 + `rtspSSLPort` int NOT NULL,
  275 + `autoConfig` int NOT NULL,
  276 + `secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  277 + `streamNoneReaderDelayMS` int NOT NULL,
  278 + `rtpEnable` int NOT NULL,
  279 + `rtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  280 + `sendRtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  281 + `recordAssistPort` int NOT NULL,
  282 + `defaultServer` int NOT NULL,
  283 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  284 + `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  285 + `hookAliveInterval` int NOT NULL,
  286 + PRIMARY KEY (`id`) USING BTREE,
  287 + UNIQUE KEY `media_server_i` (`ip`,`httpPort`) USING BTREE
287 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 288 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
288 /*!40101 SET character_set_client = @saved_cs_client */; 289 /*!40101 SET character_set_client = @saved_cs_client */;
289 290
@@ -304,33 +305,33 @@ DROP TABLE IF EXISTS `parent_platform`; @@ -304,33 +305,33 @@ DROP TABLE IF EXISTS `parent_platform`;
304 /*!40101 SET @saved_cs_client = @@character_set_client */; 305 /*!40101 SET @saved_cs_client = @@character_set_client */;
305 /*!50503 SET character_set_client = utf8mb4 */; 306 /*!50503 SET character_set_client = utf8mb4 */;
306 CREATE TABLE `parent_platform` ( 307 CREATE TABLE `parent_platform` (
307 - `id` int NOT NULL AUTO_INCREMENT,  
308 - `enable` int DEFAULT NULL,  
309 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
310 - `serverGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
311 - `serverGBDomain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
312 - `serverIP` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
313 - `serverPort` int DEFAULT NULL,  
314 - `deviceGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
315 - `deviceIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
316 - `devicePort` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
317 - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
318 - `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
319 - `expires` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
320 - `keepTimeout` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
321 - `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
322 - `characterSet` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
323 - `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
324 - `ptz` int DEFAULT NULL,  
325 - `rtcp` int DEFAULT NULL,  
326 - `status` bit(1) DEFAULT NULL,  
327 - `shareAllLiveStream` int DEFAULT NULL,  
328 - `startOfflinePush` int DEFAULT '0',  
329 - `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
330 - `catalogGroup` int DEFAULT '1',  
331 - PRIMARY KEY (`id`) USING BTREE,  
332 - UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE,  
333 - UNIQUE KEY `parent_platform_pk` (`serverGBId`) USING BTREE 308 + `id` int NOT NULL AUTO_INCREMENT,
  309 + `enable` int DEFAULT NULL,
  310 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  311 + `serverGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  312 + `serverGBDomain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  313 + `serverIP` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  314 + `serverPort` int DEFAULT NULL,
  315 + `deviceGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  316 + `deviceIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  317 + `devicePort` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  318 + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  319 + `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  320 + `expires` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  321 + `keepTimeout` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  322 + `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  323 + `characterSet` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  324 + `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  325 + `ptz` int DEFAULT NULL,
  326 + `rtcp` int DEFAULT NULL,
  327 + `status` bit(1) DEFAULT NULL,
  328 + `shareAllLiveStream` int DEFAULT NULL,
  329 + `startOfflinePush` int DEFAULT '0',
  330 + `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  331 + `catalogGroup` int DEFAULT '1',
  332 + PRIMARY KEY (`id`) USING BTREE,
  333 + UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE,
  334 + UNIQUE KEY `parent_platform_pk` (`serverGBId`) USING BTREE
334 ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 335 ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
335 /*!40101 SET character_set_client = @saved_cs_client */; 336 /*!40101 SET character_set_client = @saved_cs_client */;
336 337
@@ -351,11 +352,11 @@ DROP TABLE IF EXISTS `platform_catalog`; @@ -351,11 +352,11 @@ DROP TABLE IF EXISTS `platform_catalog`;
351 /*!40101 SET @saved_cs_client = @@character_set_client */; 352 /*!40101 SET @saved_cs_client = @@character_set_client */;
352 /*!50503 SET character_set_client = utf8mb4 */; 353 /*!50503 SET character_set_client = utf8mb4 */;
353 CREATE TABLE `platform_catalog` ( 354 CREATE TABLE `platform_catalog` (
354 - `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
355 - `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
356 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
357 - `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
358 - PRIMARY KEY (`id`) USING BTREE 355 + `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  356 + `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  357 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  358 + `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  359 + PRIMARY KEY (`id`) USING BTREE
359 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 360 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
360 /*!40101 SET character_set_client = @saved_cs_client */; 361 /*!40101 SET character_set_client = @saved_cs_client */;
361 362
@@ -376,11 +377,11 @@ DROP TABLE IF EXISTS `platform_gb_channel`; @@ -376,11 +377,11 @@ DROP TABLE IF EXISTS `platform_gb_channel`;
376 /*!40101 SET @saved_cs_client = @@character_set_client */; 377 /*!40101 SET @saved_cs_client = @@character_set_client */;
377 /*!50503 SET character_set_client = utf8mb4 */; 378 /*!50503 SET character_set_client = utf8mb4 */;
378 CREATE TABLE `platform_gb_channel` ( 379 CREATE TABLE `platform_gb_channel` (
379 - `id` int NOT NULL AUTO_INCREMENT,  
380 - `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
381 - `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
382 - `deviceChannelId` int NOT NULL,  
383 - PRIMARY KEY (`id`) USING BTREE 380 + `id` int NOT NULL AUTO_INCREMENT,
  381 + `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  382 + `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  383 + `deviceChannelId` int NOT NULL,
  384 + PRIMARY KEY (`id`) USING BTREE
384 ) ENGINE=InnoDB AUTO_INCREMENT=4889 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 385 ) ENGINE=InnoDB AUTO_INCREMENT=4889 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
385 /*!40101 SET character_set_client = @saved_cs_client */; 386 /*!40101 SET character_set_client = @saved_cs_client */;
386 387
@@ -401,12 +402,12 @@ DROP TABLE IF EXISTS `platform_gb_stream`; @@ -401,12 +402,12 @@ DROP TABLE IF EXISTS `platform_gb_stream`;
401 /*!40101 SET @saved_cs_client = @@character_set_client */; 402 /*!40101 SET @saved_cs_client = @@character_set_client */;
402 /*!50503 SET character_set_client = utf8mb4 */; 403 /*!50503 SET character_set_client = utf8mb4 */;
403 CREATE TABLE `platform_gb_stream` ( 404 CREATE TABLE `platform_gb_stream` (
404 - `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
405 - `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
406 - `gbStreamId` int NOT NULL,  
407 - `id` int NOT NULL AUTO_INCREMENT,  
408 - PRIMARY KEY (`id`) USING BTREE,  
409 - UNIQUE KEY `platform_gb_stream_pk` (`platformId`,`catalogId`,`gbStreamId`) USING BTREE 405 + `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  406 + `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  407 + `gbStreamId` int NOT NULL,
  408 + `id` int NOT NULL AUTO_INCREMENT,
  409 + PRIMARY KEY (`id`) USING BTREE,
  410 + UNIQUE KEY `platform_gb_stream_pk` (`platformId`,`catalogId`,`gbStreamId`) USING BTREE
410 ) ENGINE=InnoDB AUTO_INCREMENT=302077 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 411 ) ENGINE=InnoDB AUTO_INCREMENT=302077 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
411 /*!40101 SET character_set_client = @saved_cs_client */; 412 /*!40101 SET character_set_client = @saved_cs_client */;
412 413
@@ -427,26 +428,26 @@ DROP TABLE IF EXISTS `stream_proxy`; @@ -427,26 +428,26 @@ DROP TABLE IF EXISTS `stream_proxy`;
427 /*!40101 SET @saved_cs_client = @@character_set_client */; 428 /*!40101 SET @saved_cs_client = @@character_set_client */;
428 /*!50503 SET character_set_client = utf8mb4 */; 429 /*!50503 SET character_set_client = utf8mb4 */;
429 CREATE TABLE `stream_proxy` ( 430 CREATE TABLE `stream_proxy` (
430 - `id` int NOT NULL AUTO_INCREMENT,  
431 - `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
432 - `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
433 - `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
434 - `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
435 - `src_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
436 - `dst_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
437 - `timeout_ms` int DEFAULT NULL,  
438 - `ffmpeg_cmd_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
439 - `rtp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
440 - `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
441 - `enable_hls` bit(1) DEFAULT NULL,  
442 - `enable_mp4` bit(1) DEFAULT NULL,  
443 - `enable` bit(1) NOT NULL,  
444 - `status` bit(1) NOT NULL,  
445 - `enable_remove_none_reader` bit(1) NOT NULL,  
446 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
447 - `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
448 - PRIMARY KEY (`id`) USING BTREE,  
449 - UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE 431 + `id` int NOT NULL AUTO_INCREMENT,
  432 + `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  433 + `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  434 + `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  435 + `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  436 + `src_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  437 + `dst_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  438 + `timeout_ms` int DEFAULT NULL,
  439 + `ffmpeg_cmd_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  440 + `rtp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  441 + `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  442 + `enable_hls` bit(1) DEFAULT NULL,
  443 + `enable_mp4` bit(1) DEFAULT NULL,
  444 + `enable` bit(1) NOT NULL,
  445 + `status` bit(1) NOT NULL,
  446 + `enable_remove_none_reader` bit(1) NOT NULL,
  447 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  448 + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  449 + PRIMARY KEY (`id`) USING BTREE,
  450 + UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE
450 ) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 451 ) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
451 /*!40101 SET character_set_client = @saved_cs_client */; 452 /*!40101 SET character_set_client = @saved_cs_client */;
452 453
@@ -467,19 +468,19 @@ DROP TABLE IF EXISTS `stream_push`; @@ -467,19 +468,19 @@ DROP TABLE IF EXISTS `stream_push`;
467 /*!40101 SET @saved_cs_client = @@character_set_client */; 468 /*!40101 SET @saved_cs_client = @@character_set_client */;
468 /*!50503 SET character_set_client = utf8mb4 */; 469 /*!50503 SET character_set_client = utf8mb4 */;
469 CREATE TABLE `stream_push` ( 470 CREATE TABLE `stream_push` (
470 - `id` int NOT NULL AUTO_INCREMENT,  
471 - `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
472 - `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
473 - `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
474 - `originType` int DEFAULT NULL,  
475 - `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
476 - `createStamp` bigint DEFAULT NULL,  
477 - `aliveSecond` int DEFAULT NULL,  
478 - `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,  
479 - `serverId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
480 - PRIMARY KEY (`id`) USING BTREE,  
481 - UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE  
482 -) ENGINE=InnoDB AUTO_INCREMENT=305291 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 471 + `id` int NOT NULL AUTO_INCREMENT,
  472 + `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  473 + `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  474 + `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  475 + `originType` int DEFAULT NULL,
  476 + `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  477 + `createStamp` bigint DEFAULT NULL,
  478 + `aliveSecond` int DEFAULT NULL,
  479 + `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  480 + `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  481 + PRIMARY KEY (`id`) USING BTREE,
  482 + UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE
  483 +) ENGINE=InnoDB AUTO_INCREMENT=305304 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
483 /*!40101 SET character_set_client = @saved_cs_client */; 484 /*!40101 SET character_set_client = @saved_cs_client */;
484 485
485 -- 486 --
@@ -499,14 +500,14 @@ DROP TABLE IF EXISTS `user`; @@ -499,14 +500,14 @@ DROP TABLE IF EXISTS `user`;
499 /*!40101 SET @saved_cs_client = @@character_set_client */; 500 /*!40101 SET @saved_cs_client = @@character_set_client */;
500 /*!50503 SET character_set_client = utf8mb4 */; 501 /*!50503 SET character_set_client = utf8mb4 */;
501 CREATE TABLE `user` ( 502 CREATE TABLE `user` (
502 - `id` int NOT NULL AUTO_INCREMENT,  
503 - `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
504 - `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
505 - `roleId` int NOT NULL,  
506 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
507 - `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
508 - PRIMARY KEY (`id`) USING BTREE,  
509 - UNIQUE KEY `user_username_uindex` (`username`) USING BTREE 503 + `id` int NOT NULL AUTO_INCREMENT,
  504 + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  505 + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  506 + `roleId` int NOT NULL,
  507 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  508 + `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  509 + PRIMARY KEY (`id`) USING BTREE,
  510 + UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
510 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 511 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
511 /*!40101 SET character_set_client = @saved_cs_client */; 512 /*!40101 SET character_set_client = @saved_cs_client */;
512 513
@@ -528,12 +529,12 @@ DROP TABLE IF EXISTS `user_role`; @@ -528,12 +529,12 @@ DROP TABLE IF EXISTS `user_role`;
528 /*!40101 SET @saved_cs_client = @@character_set_client */; 529 /*!40101 SET @saved_cs_client = @@character_set_client */;
529 /*!50503 SET character_set_client = utf8mb4 */; 530 /*!50503 SET character_set_client = utf8mb4 */;
530 CREATE TABLE `user_role` ( 531 CREATE TABLE `user_role` (
531 - `id` int NOT NULL AUTO_INCREMENT,  
532 - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
533 - `authority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
534 - `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
535 - `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,  
536 - PRIMARY KEY (`id`) USING BTREE 532 + `id` int NOT NULL AUTO_INCREMENT,
  533 + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  534 + `authority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  535 + `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  536 + `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  537 + PRIMARY KEY (`id`) USING BTREE
537 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 538 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
538 /*!40101 SET character_set_client = @saved_cs_client */; 539 /*!40101 SET character_set_client = @saved_cs_client */;
539 540
@@ -556,4 +557,4 @@ UNLOCK TABLES; @@ -556,4 +557,4 @@ UNLOCK TABLES;
556 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 557 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
557 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; 558 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
558 559
559 --- Dump completed on 2022-06-26 17:33:30 560 +-- Dump completed on 2022-07-04 1:07:19
sql/update.sql
@@ -18,4 +18,13 @@ alter table device_channel @@ -18,4 +18,13 @@ alter table device_channel
18 add businessGroupId varchar(50) default null; 18 add businessGroupId varchar(50) default null;
19 19
20 20
  21 +alter table device_mobile_position change cnLng longitudeGcj02 double default null;
  22 +alter table device_mobile_position change cnLat latitudeGcj02 double default null;
  23 +alter table device_mobile_position
  24 + add longitudeWgs84 double default null;
  25 +alter table device_mobile_position
  26 + add latitudeWgs84 double default null;
  27 +alter table device_mobile_position drop geodeticSystem;
  28 +
  29 +
21 30
src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java
@@ -58,19 +58,24 @@ public class MobilePosition { @@ -58,19 +58,24 @@ public class MobilePosition {
58 private String reportSource; 58 private String reportSource;
59 59
60 /** 60 /**
61 - * 国内地理坐标系(GCJ-02 / BD-09) 61 + * 国内坐标系:经度坐标
  62 + */
  63 + private double longitudeGcj02;
  64 +
  65 + /**
  66 + * 国内坐标系:纬度坐标
62 */ 67 */
63 - private String GeodeticSystem; 68 + private double latitudeGcj02;
64 69
65 /** 70 /**
66 * 国内坐标系:经度坐标 71 * 国内坐标系:经度坐标
67 */ 72 */
68 - private String cnLng; 73 + private double longitudeWgs84;
69 74
70 /** 75 /**
71 * 国内坐标系:纬度坐标 76 * 国内坐标系:纬度坐标
72 */ 77 */
73 - private String cnLat; 78 + private double latitudeWgs84;
74 79
75 80
76 public String getDeviceId() { 81 public String getDeviceId() {
@@ -145,35 +150,43 @@ public class MobilePosition { @@ -145,35 +150,43 @@ public class MobilePosition {
145 this.reportSource = reportSource; 150 this.reportSource = reportSource;
146 } 151 }
147 152
148 - public String getGeodeticSystem() {  
149 - return GeodeticSystem; 153 + public String getChannelId() {
  154 + return channelId;
150 } 155 }
151 156
152 - public void setGeodeticSystem(String geodeticSystem) {  
153 - GeodeticSystem = geodeticSystem; 157 + public void setChannelId(String channelId) {
  158 + this.channelId = channelId;
154 } 159 }
155 160
156 - public String getCnLng() {  
157 - return cnLng; 161 + public double getLongitudeGcj02() {
  162 + return longitudeGcj02;
158 } 163 }
159 164
160 - public void setCnLng(String cnLng) {  
161 - this.cnLng = cnLng; 165 + public void setLongitudeGcj02(double longitudeGcj02) {
  166 + this.longitudeGcj02 = longitudeGcj02;
162 } 167 }
163 168
164 - public String getCnLat() {  
165 - return cnLat; 169 + public double getLatitudeGcj02() {
  170 + return latitudeGcj02;
166 } 171 }
167 172
168 - public void setCnLat(String cnLat) {  
169 - this.cnLat = cnLat; 173 + public void setLatitudeGcj02(double latitudeGcj02) {
  174 + this.latitudeGcj02 = latitudeGcj02;
170 } 175 }
171 176
172 - public String getChannelId() {  
173 - return channelId; 177 + public double getLongitudeWgs84() {
  178 + return longitudeWgs84;
174 } 179 }
175 180
176 - public void setChannelId(String channelId) {  
177 - this.channelId = channelId; 181 + public void setLongitudeWgs84(double longitudeWgs84) {
  182 + this.longitudeWgs84 = longitudeWgs84;
  183 + }
  184 +
  185 + public double getLatitudeWgs84() {
  186 + return latitudeWgs84;
  187 + }
  188 +
  189 + public void setLatitudeWgs84(double latitudeWgs84) {
  190 + this.latitudeWgs84 = latitudeWgs84;
178 } 191 }
179 } 192 }
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -173,16 +173,39 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements @@ -173,16 +173,39 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
173 mobilePosition.getLongitude(), mobilePosition.getLatitude()); 173 mobilePosition.getLongitude(), mobilePosition.getLatitude());
174 mobilePosition.setReportSource("Mobile Position"); 174 mobilePosition.setReportSource("Mobile Position");
175 // 默认来源坐标系为WGS-84处理 175 // 默认来源坐标系为WGS-84处理
176 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
177 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
178 - mobilePosition.setGeodeticSystem("GCJ-02");  
179 - mobilePosition.setCnLng(gcj02Point[0] + "");  
180 - mobilePosition.setCnLat(gcj02Point[1] + "");  
181 - if (!userSetting.getSavePositionHistory()) {  
182 - storager.clearMobilePositionsByDeviceId(deviceId); 176 + if ("WGS84".equals(device.getGeoCoordSys())) {
  177 + mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
  178 + mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
  179 + Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  180 + mobilePosition.setLongitudeGcj02(position[0]);
  181 + mobilePosition.setLatitudeGcj02(position[1]);
  182 + }else if ("GCJ02".equals(device.getGeoCoordSys())) {
  183 + mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
  184 + mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
  185 + Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  186 + mobilePosition.setLongitudeWgs84(position[0]);
  187 + mobilePosition.setLatitudeWgs84(position[1]);
  188 + }else {
  189 + mobilePosition.setLongitudeGcj02(0.00);
  190 + mobilePosition.setLatitudeGcj02(0.00);
  191 + mobilePosition.setLongitudeWgs84(0.00);
  192 + mobilePosition.setLatitudeWgs84(0.00);
183 } 193 }
184 - storager.insertMobilePosition(mobilePosition);  
185 - storager.updateChannelPotion(deviceId, channelId, mobilePosition.getLongitude(), mobilePosition.getLatitude() ); 194 + if (userSetting.getSavePositionHistory()) {
  195 + storager.insertMobilePosition(mobilePosition);
  196 + }
  197 +
  198 + // 更新device channel 的经纬度
  199 + DeviceChannel deviceChannel = new DeviceChannel();
  200 + deviceChannel.setDeviceId(device.getDeviceId());
  201 + deviceChannel.setChannelId(channelId);
  202 + deviceChannel.setLongitude(mobilePosition.getLongitude());
  203 + deviceChannel.setLatitude(mobilePosition.getLatitude());
  204 + deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
  205 + deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
  206 + deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
  207 + deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
  208 + storager.updateChannelPosition(deviceChannel);
186 // 发送redis消息。 通知位置信息的变化 209 // 发送redis消息。 通知位置信息的变化
187 JSONObject jsonObject = new JSONObject(); 210 JSONObject jsonObject = new JSONObject();
188 jsonObject.put("time", time); 211 jsonObject.put("time", time);
@@ -209,9 +232,12 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements @@ -209,9 +232,12 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
209 return; 232 return;
210 } 233 }
211 try { 234 try {
  235 + FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
  236 + String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader);
  237 +
212 Element rootElement = getRootElement(evt); 238 Element rootElement = getRootElement(evt);
213 Element deviceIdElement = rootElement.element("DeviceID"); 239 Element deviceIdElement = rootElement.element("DeviceID");
214 - String deviceId = deviceIdElement.getText().toString(); 240 + String channelId = deviceIdElement.getText().toString();
215 241
216 Device device = redisCatchStorage.getDevice(deviceId); 242 Device device = redisCatchStorage.getDevice(deviceId);
217 if (device == null) { 243 if (device == null) {
@@ -252,16 +278,38 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements @@ -252,16 +278,38 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
252 mobilePosition.setLongitude(deviceAlarm.getLongitude()); 278 mobilePosition.setLongitude(deviceAlarm.getLongitude());
253 mobilePosition.setLatitude(deviceAlarm.getLatitude()); 279 mobilePosition.setLatitude(deviceAlarm.getLatitude());
254 mobilePosition.setReportSource("GPS Alarm"); 280 mobilePosition.setReportSource("GPS Alarm");
255 - // 默认来源坐标系为WGS-84处理  
256 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
257 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
258 - mobilePosition.setGeodeticSystem("GCJ-02");  
259 - mobilePosition.setCnLng(gcj02Point[0] + "");  
260 - mobilePosition.setCnLat(gcj02Point[1] + "");  
261 - if (!userSetting.getSavePositionHistory()) {  
262 - storager.clearMobilePositionsByDeviceId(deviceId); 281 + if ("WGS84".equals(device.getGeoCoordSys())) {
  282 + mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
  283 + mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
  284 + Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  285 + mobilePosition.setLongitudeGcj02(position[0]);
  286 + mobilePosition.setLatitudeGcj02(position[1]);
  287 + }else if ("GCJ02".equals(device.getGeoCoordSys())) {
  288 + mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
  289 + mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
  290 + Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  291 + mobilePosition.setLongitudeWgs84(position[0]);
  292 + mobilePosition.setLatitudeWgs84(position[1]);
  293 + }else {
  294 + mobilePosition.setLongitudeGcj02(0.00);
  295 + mobilePosition.setLatitudeGcj02(0.00);
  296 + mobilePosition.setLongitudeWgs84(0.00);
  297 + mobilePosition.setLatitudeWgs84(0.00);
263 } 298 }
264 - storager.insertMobilePosition(mobilePosition); 299 + if (userSetting.getSavePositionHistory()) {
  300 + storager.insertMobilePosition(mobilePosition);
  301 + }
  302 + // 更新device channel 的经纬度
  303 + DeviceChannel deviceChannel = new DeviceChannel();
  304 + deviceChannel.setDeviceId(device.getDeviceId());
  305 + deviceChannel.setChannelId(channelId);
  306 + deviceChannel.setLongitude(mobilePosition.getLongitude());
  307 + deviceChannel.setLatitude(mobilePosition.getLatitude());
  308 + deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
  309 + deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
  310 + deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
  311 + deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
  312 + storager.updateChannelPosition(deviceChannel);
265 } 313 }
266 // TODO: 需要实现存储报警信息、报警分类 314 // TODO: 需要实现存储报警信息、报警分类
267 315
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -80,7 +80,6 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -80,7 +80,6 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
80 Element deviceIdElement = rootElement.element("DeviceID"); 80 Element deviceIdElement = rootElement.element("DeviceID");
81 String channelId = deviceIdElement.getText().toString(); 81 String channelId = deviceIdElement.getText().toString();
82 82
83 -  
84 DeviceAlarm deviceAlarm = new DeviceAlarm(); 83 DeviceAlarm deviceAlarm = new DeviceAlarm();
85 deviceAlarm.setDeviceId(device.getDeviceId()); 84 deviceAlarm.setDeviceId(device.getDeviceId());
86 deviceAlarm.setChannelId(channelId); 85 deviceAlarm.setChannelId(channelId);
@@ -118,16 +117,38 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -118,16 +117,38 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
118 mobilePosition.setLongitude(deviceAlarm.getLongitude()); 117 mobilePosition.setLongitude(deviceAlarm.getLongitude());
119 mobilePosition.setLatitude(deviceAlarm.getLatitude()); 118 mobilePosition.setLatitude(deviceAlarm.getLatitude());
120 mobilePosition.setReportSource("GPS Alarm"); 119 mobilePosition.setReportSource("GPS Alarm");
121 - // 默认来源坐标系为WGS-84处理  
122 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
123 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
124 - mobilePosition.setGeodeticSystem("GCJ-02");  
125 - mobilePosition.setCnLng(gcj02Point[0] + "");  
126 - mobilePosition.setCnLat(gcj02Point[1] + "");  
127 - if (!userSetting.getSavePositionHistory()) {  
128 - storager.clearMobilePositionsByDeviceId(device.getDeviceId()); 120 + if ("WGS84".equals(device.getGeoCoordSys())) {
  121 + mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
  122 + mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
  123 + Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  124 + mobilePosition.setLongitudeGcj02(position[0]);
  125 + mobilePosition.setLatitudeGcj02(position[1]);
  126 + }else if ("GCJ02".equals(device.getGeoCoordSys())) {
  127 + mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
  128 + mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
  129 + Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  130 + mobilePosition.setLongitudeWgs84(position[0]);
  131 + mobilePosition.setLatitudeWgs84(position[1]);
  132 + }else {
  133 + mobilePosition.setLongitudeGcj02(0.00);
  134 + mobilePosition.setLatitudeGcj02(0.00);
  135 + mobilePosition.setLongitudeWgs84(0.00);
  136 + mobilePosition.setLatitudeWgs84(0.00);
  137 + }
  138 + if (userSetting.getSavePositionHistory()) {
  139 + storager.insertMobilePosition(mobilePosition);
129 } 140 }
130 - storager.insertMobilePosition(mobilePosition); 141 + // 更新device channel 的经纬度
  142 + DeviceChannel deviceChannel = new DeviceChannel();
  143 + deviceChannel.setDeviceId(device.getDeviceId());
  144 + deviceChannel.setChannelId(channelId);
  145 + deviceChannel.setLongitude(mobilePosition.getLongitude());
  146 + deviceChannel.setLatitude(mobilePosition.getLatitude());
  147 + deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
  148 + deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
  149 + deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
  150 + deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
  151 + storager.updateChannelPosition(deviceChannel);
131 } 152 }
132 } 153 }
133 if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) { 154 if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java
1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd; 1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd;
2 2
3 import com.genersoft.iot.vmp.conf.UserSetting; 3 import com.genersoft.iot.vmp.conf.UserSetting;
4 -import com.genersoft.iot.vmp.gb28181.bean.BaiduPoint;  
5 -import com.genersoft.iot.vmp.gb28181.bean.Device;  
6 -import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;  
7 -import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; 4 +import com.genersoft.iot.vmp.gb28181.bean.*;
8 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent; 5 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
9 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler; 6 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
10 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler; 7 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
@@ -80,16 +77,38 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen @@ -80,16 +77,38 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
80 mobilePosition.setAltitude(0.0); 77 mobilePosition.setAltitude(0.0);
81 } 78 }
82 mobilePosition.setReportSource("Mobile Position"); 79 mobilePosition.setReportSource("Mobile Position");
83 - // 默认来源坐标系为WGS-84处理  
84 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
85 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
86 - mobilePosition.setGeodeticSystem("GCJ-02");  
87 - mobilePosition.setCnLng(gcj02Point[0] + "");  
88 - mobilePosition.setCnLat(gcj02Point[1] + "");  
89 - if (!userSetting.getSavePositionHistory()) {  
90 - storager.clearMobilePositionsByDeviceId(device.getDeviceId()); 80 + if ("WGS84".equals(device.getGeoCoordSys())) {
  81 + mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
  82 + mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
  83 + Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  84 + mobilePosition.setLongitudeGcj02(position[0]);
  85 + mobilePosition.setLatitudeGcj02(position[1]);
  86 + }else if ("GCJ02".equals(device.getGeoCoordSys())) {
  87 + mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
  88 + mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
  89 + Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  90 + mobilePosition.setLongitudeWgs84(position[0]);
  91 + mobilePosition.setLatitudeWgs84(position[1]);
  92 + }else {
  93 + mobilePosition.setLongitudeGcj02(0.00);
  94 + mobilePosition.setLatitudeGcj02(0.00);
  95 + mobilePosition.setLongitudeWgs84(0.00);
  96 + mobilePosition.setLatitudeWgs84(0.00);
91 } 97 }
92 - storager.insertMobilePosition(mobilePosition); 98 + if (userSetting.getSavePositionHistory()) {
  99 + storager.insertMobilePosition(mobilePosition);
  100 + }
  101 + // 更新device channel 的经纬度
  102 + DeviceChannel deviceChannel = new DeviceChannel();
  103 + deviceChannel.setDeviceId(device.getDeviceId());
  104 + deviceChannel.setChannelId(mobilePosition.getChannelId());
  105 + deviceChannel.setLongitude(mobilePosition.getLongitude());
  106 + deviceChannel.setLatitude(mobilePosition.getLatitude());
  107 + deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
  108 + deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
  109 + deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
  110 + deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
  111 + storager.updateChannelPosition(deviceChannel);
93 //回复 200 OK 112 //回复 200 OK
94 responseAck(evt, Response.OK); 113 responseAck(evt, Response.OK);
95 } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) { 114 } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) {
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/CatalogResponseMessageHandler.java
@@ -171,71 +171,6 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp @@ -171,71 +171,6 @@ public class CatalogResponseMessageHandler extends SIPRequestProcessorParent imp
171 171
172 } 172 }
173 173
174 - /**  
175 - * 处理设备位置的更新  
176 - *  
177 - * @param evt, itemDevice  
178 - */  
179 - private void processNotifyMobilePosition(RequestEvent evt, Element itemDevice) {  
180 - try {  
181 - // 回复 200 OK  
182 - Element rootElement = getRootElement(evt);  
183 - MobilePosition mobilePosition = new MobilePosition();  
184 - Element deviceIdElement = rootElement.element("DeviceID");  
185 - String deviceId = deviceIdElement.getTextTrim().toString();  
186 - Device device = redisCatchStorage.getDevice(deviceId);  
187 - if (device != null) {  
188 - if (!StringUtils.isEmpty(device.getName())) {  
189 - mobilePosition.setDeviceName(device.getName());  
190 - }  
191 - }  
192 - mobilePosition.setDeviceId(XmlUtil.getText(rootElement, "DeviceID"));  
193 -  
194 - String time = XmlUtil.getText(itemDevice, "Time");  
195 - if(time==null){  
196 - time = XmlUtil.getText(itemDevice, "EndTime");  
197 - }  
198 - mobilePosition.setTime(time);  
199 - String longitude = XmlUtil.getText(itemDevice, "Longitude");  
200 - if(longitude!=null) {  
201 - mobilePosition.setLongitude(Double.parseDouble(longitude));  
202 - }  
203 - String latitude = XmlUtil.getText(itemDevice, "Latitude");  
204 - if(latitude!=null) {  
205 - mobilePosition.setLatitude(Double.parseDouble(latitude));  
206 - }  
207 - if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Speed"))) {  
208 - mobilePosition.setSpeed(Double.parseDouble(XmlUtil.getText(itemDevice, "Speed")));  
209 - } else {  
210 - mobilePosition.setSpeed(0.0);  
211 - }  
212 - if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Direction"))) {  
213 - mobilePosition.setDirection(Double.parseDouble(XmlUtil.getText(itemDevice, "Direction")));  
214 - } else {  
215 - mobilePosition.setDirection(0.0);  
216 - }  
217 - if (NumericUtil.isDouble(XmlUtil.getText(itemDevice, "Altitude"))) {  
218 - mobilePosition.setAltitude(Double.parseDouble(XmlUtil.getText(itemDevice, "Altitude")));  
219 - } else {  
220 - mobilePosition.setAltitude(0.0);  
221 - }  
222 - mobilePosition.setReportSource("Mobile Position");  
223 - // 默认来源坐标系为WGS-84处理  
224 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
225 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
226 - mobilePosition.setGeodeticSystem("GCJ-02");  
227 - mobilePosition.setCnLng(gcj02Point[0] + "");  
228 - mobilePosition.setCnLat(gcj02Point[1] + "");  
229 - if (!userSetting.getSavePositionHistory()) {  
230 - storager.clearMobilePositionsByDeviceId(deviceId);  
231 - }  
232 - storager.insertMobilePosition(mobilePosition);  
233 - responseAck(evt, Response.OK);  
234 - } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) {  
235 - e.printStackTrace();  
236 - }  
237 - }  
238 -  
239 public SyncStatus getChannelSyncProgress(String deviceId) { 174 public SyncStatus getChannelSyncProgress(String deviceId) {
240 if (catalogDataCatch.get(deviceId) == null) { 175 if (catalogDataCatch.get(deviceId) == null) {
241 return null; 176 return null;
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd; 1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd;
2 2
3 import com.genersoft.iot.vmp.conf.UserSetting; 3 import com.genersoft.iot.vmp.conf.UserSetting;
4 -import com.genersoft.iot.vmp.gb28181.bean.BaiduPoint;  
5 -import com.genersoft.iot.vmp.gb28181.bean.Device;  
6 -import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;  
7 -import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; 4 +import com.genersoft.iot.vmp.gb28181.bean.*;
8 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent; 5 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
9 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler; 6 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
10 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.ResponseMessageHandler; 7 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.ResponseMessageHandler;
@@ -80,16 +77,38 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar @@ -80,16 +77,38 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar
80 mobilePosition.setAltitude(0.0); 77 mobilePosition.setAltitude(0.0);
81 } 78 }
82 mobilePosition.setReportSource("Mobile Position"); 79 mobilePosition.setReportSource("Mobile Position");
83 - // 默认来源坐标系为WGS-84处理  
84 - Double[] gcj02Point = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());  
85 - logger.info("GCJ02坐标:" + gcj02Point[0] + ", " + gcj02Point[1]);  
86 - mobilePosition.setGeodeticSystem("GCJ-02");  
87 - mobilePosition.setCnLng(gcj02Point[0] + "");  
88 - mobilePosition.setCnLat(gcj02Point[1] + "");  
89 - if (!userSetting.getSavePositionHistory()) {  
90 - storager.clearMobilePositionsByDeviceId(device.getDeviceId()); 80 + if ("WGS84".equals(device.getGeoCoordSys())) {
  81 + mobilePosition.setLongitudeWgs84(mobilePosition.getLongitude());
  82 + mobilePosition.setLatitudeWgs84(mobilePosition.getLatitude());
  83 + Double[] position = Coordtransform.WGS84ToGCJ02(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  84 + mobilePosition.setLongitudeGcj02(position[0]);
  85 + mobilePosition.setLatitudeGcj02(position[1]);
  86 + }else if ("GCJ02".equals(device.getGeoCoordSys())) {
  87 + mobilePosition.setLongitudeGcj02(mobilePosition.getLongitude());
  88 + mobilePosition.setLatitudeGcj02(mobilePosition.getLatitude());
  89 + Double[] position = Coordtransform.GCJ02ToWGS84(mobilePosition.getLongitude(), mobilePosition.getLatitude());
  90 + mobilePosition.setLongitudeWgs84(position[0]);
  91 + mobilePosition.setLatitudeWgs84(position[1]);
  92 + }else {
  93 + mobilePosition.setLongitudeGcj02(0.00);
  94 + mobilePosition.setLatitudeGcj02(0.00);
  95 + mobilePosition.setLongitudeWgs84(0.00);
  96 + mobilePosition.setLatitudeWgs84(0.00);
91 } 97 }
92 - storager.insertMobilePosition(mobilePosition); 98 + if (userSetting.getSavePositionHistory()) {
  99 + storager.insertMobilePosition(mobilePosition);
  100 + }
  101 + // 更新device channel 的经纬度
  102 + DeviceChannel deviceChannel = new DeviceChannel();
  103 + deviceChannel.setDeviceId(device.getDeviceId());
  104 + deviceChannel.setChannelId(mobilePosition.getChannelId());
  105 + deviceChannel.setLongitude(mobilePosition.getLongitude());
  106 + deviceChannel.setLatitude(mobilePosition.getLatitude());
  107 + deviceChannel.setLongitudeWgs84(mobilePosition.getLongitudeWgs84());
  108 + deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
  109 + deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
  110 + deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
  111 + storager.updateChannelPosition(deviceChannel);
93 //回复 200 OK 112 //回复 200 OK
94 responseAck(evt, Response.OK); 113 responseAck(evt, Response.OK);
95 } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) { 114 } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) {
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
@@ -463,5 +463,5 @@ public interface IVideoManagerStorage { @@ -463,5 +463,5 @@ public interface IVideoManagerStorage {
463 463
464 List<ChannelSourceInfo> getChannelSource(String platformId, String gbId); 464 List<ChannelSourceInfo> getChannelSource(String platformId, String gbId);
465 465
466 - void updateChannelPotion(String deviceId, String channelId, double longitude, double latitude); 466 + void updateChannelPosition(DeviceChannel deviceChannel);
467 } 467 }
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java
@@ -276,8 +276,19 @@ public interface DeviceChannelMapper { @@ -276,8 +276,19 @@ public interface DeviceChannelMapper {
276 " and channelId = #{channelId}") 276 " and channelId = #{channelId}")
277 int updateChannelSubCount(String deviceId, String channelId); 277 int updateChannelSubCount(String deviceId, String channelId);
278 278
279 - @Update(value = {"UPDATE device_channel SET latitude=${latitude}, longitude=${longitude} WHERE deviceId=#{deviceId} AND channelId=#{channelId}"})  
280 - void updatePotion(String deviceId, String channelId, double longitude, double latitude); 279 + @Update(value = {" <script>" +
  280 + "UPDATE device_channel " +
  281 + "SET " +
  282 + "latitude=${latitude}, " +
  283 + "longitude=${longitude}, " +
  284 + "longitudeGcj02=${longitudeGcj02}," +
  285 + "latitudeGcj02=${latitudeGcj02}," +
  286 + "longitudeWgs84=${longitudeWgs84}," +
  287 + "latitudeWgs84=${latitudeWgs84} " +
  288 + "WHERE deviceId=#{deviceId} " +
  289 + " <if test='channelId != null' > AND channelId=#{channelId}</if>" +
  290 + " </script>"})
  291 + void updatePosition(DeviceChannel deviceChannel);
281 292
282 @Select("SELECT * FROM device_channel WHERE length(trim(streamId)) > 0") 293 @Select("SELECT * FROM device_channel WHERE length(trim(streamId)) > 0")
283 List<DeviceChannel> getAllChannelInPlay(); 294 List<DeviceChannel> getAllChannelInPlay();
@@ -313,4 +324,6 @@ public interface DeviceChannelMapper { @@ -313,4 +324,6 @@ public interface DeviceChannelMapper {
313 324
314 @Select("select * from device_channel where deviceId=#{deviceId} and SUBSTRING(channelId, 11, 3)=#{typeCode}") 325 @Select("select * from device_channel where deviceId=#{deviceId} and SUBSTRING(channelId, 11, 3)=#{typeCode}")
315 List<DeviceChannel> getBusinessGroups(String deviceId, String typeCode); 326 List<DeviceChannel> getBusinessGroups(String deviceId, String typeCode);
  327 +
  328 +
316 } 329 }
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java
@@ -4,19 +4,18 @@ import java.util.List; @@ -4,19 +4,18 @@ import java.util.List;
4 4
5 import com.genersoft.iot.vmp.gb28181.bean.MobilePosition; 5 import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;
6 import org.apache.ibatis.annotations.*; 6 import org.apache.ibatis.annotations.*;
7 -//import org.springframework.stereotype.Repository;  
8 7
9 @Mapper 8 @Mapper
10 -//@Repository  
11 public interface DeviceMobilePositionMapper { 9 public interface DeviceMobilePositionMapper {
12 10
13 - @Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, geodeticSystem, cnLng, cnLat) " +  
14 - "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', '${geodeticSystem}', '${cnLng}', '${cnLat}')") 11 + @Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, longitudeGcj02, latitudeGcj02, longitudeWgs84, latitudeWgs84) " +
  12 + "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84})")
15 int insertNewPosition(MobilePosition mobilePosition); 13 int insertNewPosition(MobilePosition mobilePosition);
16 14
17 @Select(value = {" <script>" + 15 @Select(value = {" <script>" +
18 "SELECT * FROM device_mobile_position" + 16 "SELECT * FROM device_mobile_position" +
19 - " WHERE deviceId = #{deviceId} and channelId = #{channelId} " + 17 + " WHERE deviceId = #{deviceId}" +
  18 + "<if test=\"channelId != null\"> and channelId = #{channelId}</if>" +
20 "<if test=\"startTime != null\"> AND time&gt;=#{startTime}</if>" + 19 "<if test=\"startTime != null\"> AND time&gt;=#{startTime}</if>" +
21 "<if test=\"endTime != null\"> AND time&lt;=#{endTime}</if>" + 20 "<if test=\"endTime != null\"> AND time&lt;=#{endTime}</if>" +
22 " ORDER BY time ASC" + 21 " ORDER BY time ASC" +
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -472,6 +472,9 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage { @@ -472,6 +472,9 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
472 */ 472 */
473 @Override 473 @Override
474 public synchronized boolean insertMobilePosition(MobilePosition mobilePosition) { 474 public synchronized boolean insertMobilePosition(MobilePosition mobilePosition) {
  475 + if (mobilePosition.getDeviceId().equals(mobilePosition.getChannelId())) {
  476 + mobilePosition.setChannelId(null);
  477 + }
475 return deviceMobilePositionMapper.insertNewPosition(mobilePosition) > 0; 478 return deviceMobilePositionMapper.insertNewPosition(mobilePosition) > 0;
476 } 479 }
477 480
@@ -1119,7 +1122,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage { @@ -1119,7 +1122,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
1119 } 1122 }
1120 1123
1121 @Override 1124 @Override
1122 - public void updateChannelPotion(String deviceId, String channelId, double longitude, double latitude) {  
1123 - deviceChannelMapper.updatePotion(deviceId, channelId, longitude, latitude); 1125 + public void updateChannelPosition(DeviceChannel deviceChannel) {
  1126 + if (deviceChannel.getChannelId().equals(deviceChannel.getDeviceId())) {
  1127 + deviceChannel.setChannelId(null);
  1128 + }
  1129 + deviceChannelMapper.updatePosition(deviceChannel);
1124 } 1130 }
1125 } 1131 }
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java
@@ -63,12 +63,13 @@ public class MobilePositionController { @@ -63,12 +63,13 @@ public class MobilePositionController {
63 @ApiOperation("查询历史轨迹") 63 @ApiOperation("查询历史轨迹")
64 @ApiImplicitParams({ 64 @ApiImplicitParams({
65 @ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class), 65 @ApiImplicitParam(name = "deviceId", value = "设备ID", required = true, dataTypeClass = String.class),
66 - @ApiImplicitParam(name = "start", value = "开始时间", required = true, dataTypeClass = String.class),  
67 - @ApiImplicitParam(name = "end", value = "结束时间", required = true, dataTypeClass = String.class), 66 + @ApiImplicitParam(name = "channelId", value = "通道ID", required = false, dataTypeClass = String.class),
  67 + @ApiImplicitParam(name = "start", value = "开始时间", required = false, dataTypeClass = String.class),
  68 + @ApiImplicitParam(name = "end", value = "结束时间", required = false, dataTypeClass = String.class),
68 }) 69 })
69 - @GetMapping("/history/{deviceId}/{channelId}") 70 + @GetMapping("/history/{deviceId}")
70 public ResponseEntity<WVPResult<List<MobilePosition>>> positions(@PathVariable String deviceId, 71 public ResponseEntity<WVPResult<List<MobilePosition>>> positions(@PathVariable String deviceId,
71 - @PathVariable String channelId, 72 + @RequestParam(required = false) String channelId,
72 @RequestParam(required = false) String start, 73 @RequestParam(required = false) String start,
73 @RequestParam(required = false) String end) { 74 @RequestParam(required = false) String end) {
74 // if (logger.isDebugEnabled()) { 75 // if (logger.isDebugEnabled()) {
web_src/src/components/common/MapComponent.vue
@@ -11,6 +11,7 @@ import VectorSource from &#39;ol/source/Vector&#39;; @@ -11,6 +11,7 @@ import VectorSource from &#39;ol/source/Vector&#39;;
11 import Tile from 'ol/layer/Tile'; 11 import Tile from 'ol/layer/Tile';
12 import VectorLayer from 'ol/layer/Vector'; 12 import VectorLayer from 'ol/layer/Vector';
13 import Style from 'ol/style/Style'; 13 import Style from 'ol/style/Style';
  14 +import Stroke from 'ol/style/Stroke';
14 import Icon from 'ol/style/Icon'; 15 import Icon from 'ol/style/Icon';
15 import View from 'ol/View'; 16 import View from 'ol/View';
16 import Feature from 'ol/Feature'; 17 import Feature from 'ol/Feature';
@@ -230,7 +231,12 @@ export default { @@ -230,7 +231,12 @@ export default {
230 } 231 }
231 let line = new LineString(points) 232 let line = new LineString(points)
232 let lineFeature = new Feature(line); 233 let lineFeature = new Feature(line);
233 - 234 + lineFeature.setStyle(new Style({
  235 + stroke: new Stroke({
  236 + width: 4 ,
  237 + color: "#0c6d6a",
  238 + })
  239 + }))
234 let source = new VectorSource(); 240 let source = new VectorSource();
235 source.addFeature(lineFeature); 241 source.addFeature(lineFeature);
236 let vectorLayer = new VectorLayer({ 242 let vectorLayer = new VectorLayer({
web_src/src/components/dialog/queryTrace.vue
@@ -10,8 +10,8 @@ @@ -10,8 +10,8 @@
10 @close="close()" 10 @close="close()"
11 > 11 >
12 <div v-loading="isLoging"> 12 <div v-loading="isLoging">
13 - <el-date-picker v-model="searchFrom" type="datetime" placeholder="选择开始日期时间" default-time="00:00:00" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker>  
14 - <el-date-picker v-model="searchTo" type="datetime" placeholder="选择结束日期时间" default-time="00:00:00" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker> 13 + <el-date-picker v-model="searchFrom" type="datetime" placeholder="选择开始日期时间" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker>
  14 + <el-date-picker v-model="searchTo" type="datetime" placeholder="选择结束日期时间" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss" size="mini" style="width: 11rem;" align="right" :picker-options="pickerOptions"></el-date-picker>
15 <el-button icon="el-icon-search" size="mini" type="primary" @click="onSubmit">查询</el-button> 15 <el-button icon="el-icon-search" size="mini" type="primary" @click="onSubmit">查询</el-button>
16 </div> 16 </div>
17 17
@@ -72,7 +72,11 @@ export default { @@ -72,7 +72,11 @@ export default {
72 onSubmit: function () { 72 onSubmit: function () {
73 console.log("onSubmit"); 73 console.log("onSubmit");
74 this.isLoging = true; 74 this.isLoging = true;
75 - this.$axios.get(`/api/position/history/${this.channel.deviceId}/${this.channel.channelId}`, { 75 + let url = `/api/position/history/${this.channel.deviceId}?start=${this.searchFrom}&end=${this.searchTo}`;
  76 + if (this.channel.channelId) {
  77 + url+="&channelId=${this.channel.channelId}"
  78 + }
  79 + this.$axios.get(url, {
76 }).then((res)=> { 80 }).then((res)=> {
77 this.isLoging = false; 81 this.isLoging = false;
78 if (typeof this.callback == "function") { 82 if (typeof this.callback == "function") {
web_src/src/components/map.vue
@@ -186,6 +186,14 @@ export default { @@ -186,6 +186,14 @@ export default {
186 this.deviceService.getAllSubChannel(false, data.deviceId, data.channelId, this.channelsHandler) 186 this.deviceService.getAllSubChannel(false, data.deviceId, data.channelId, this.channelsHandler)
187 } 187 }
188 } 188 }
  189 + },
  190 + {
  191 + label: "查询轨迹",
  192 + icon: "el-icon-map-location",
  193 + disabled: false,
  194 + onClick: () => {
  195 + this.getTrace(data)
  196 + }
189 } 197 }
190 ], 198 ],
191 event, // 鼠标事件信息 199 event, // 鼠标事件信息
@@ -320,8 +328,8 @@ export default { @@ -320,8 +328,8 @@ export default {
320 } else { 328 } else {
321 let positions = []; 329 let positions = [];
322 for (let i = 0; i < channelPositions.length; i++) { 330 for (let i = 0; i < channelPositions.length; i++) {
323 - if (channelPositions[i].cnLng * channelPositions[i].cnLat > 0) {  
324 - positions.push([channelPositions[i].cnLng, channelPositions[i].cnLat]) 331 + if (channelPositions[i][this.longitudeStr] * channelPositions[i][this.latitudeStr] > 0) {
  332 + positions.push([channelPositions[i][this.longitudeStr], channelPositions[i][this.latitudeStr]])
325 } 333 }
326 334
327 } 335 }