Commit 10cb58391ab402d0e761a7c17f3740c081dc9042

Authored by 648540858
1 parent 5d673fb0

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

sql/mysql.sql
1 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 5 -- Server version 8.0.29-0ubuntu0.22.04.2
6 6  
... ... @@ -23,34 +23,34 @@ DROP TABLE IF EXISTS `device`;
23 23 /*!40101 SET @saved_cs_client = @@character_set_client */;
24 24 /*!50503 SET character_set_client = utf8mb4 */;
25 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 54 /*!40101 SET character_set_client = @saved_cs_client */;
55 55  
56 56 --
... ... @@ -70,17 +70,17 @@ DROP TABLE IF EXISTS `device_alarm`;
70 70 /*!40101 SET @saved_cs_client = @@character_set_client */;
71 71 /*!50503 SET character_set_client = utf8mb4 */;
72 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 84 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
85 85 /*!40101 SET character_set_client = @saved_cs_client */;
86 86  
... ... @@ -101,46 +101,46 @@ DROP TABLE IF EXISTS `device_channel`;
101 101 /*!40101 SET @saved_cs_client = @@character_set_client */;
102 102 /*!50503 SET character_set_client = utf8mb4 */;
103 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 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 160 /*!40101 SET @saved_cs_client = @@character_set_client */;
161 161 /*!50503 SET character_set_client = utf8mb4 */;
162 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 180 /*!40101 SET character_set_client = @saved_cs_client */;
180 181  
181 182 --
... ... @@ -195,20 +196,20 @@ DROP TABLE IF EXISTS `gb_stream`;
195 196 /*!40101 SET @saved_cs_client = @@character_set_client */;
196 197 /*!50503 SET character_set_client = utf8mb4 */;
197 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 213 ) ENGINE=InnoDB AUTO_INCREMENT=301679 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
213 214 /*!40101 SET character_set_client = @saved_cs_client */;
214 215  
... ... @@ -229,17 +230,17 @@ DROP TABLE IF EXISTS `log`;
229 230 /*!40101 SET @saved_cs_client = @@character_set_client */;
230 231 /*!50503 SET character_set_client = utf8mb4 */;
231 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 244 /*!40101 SET character_set_client = @saved_cs_client */;
244 245  
245 246 --
... ... @@ -259,31 +260,31 @@ DROP TABLE IF EXISTS `media_server`;
259 260 /*!40101 SET @saved_cs_client = @@character_set_client */;
260 261 /*!50503 SET character_set_client = utf8mb4 */;
261 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 288 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
288 289 /*!40101 SET character_set_client = @saved_cs_client */;
289 290  
... ... @@ -304,33 +305,33 @@ DROP TABLE IF EXISTS `parent_platform`;
304 305 /*!40101 SET @saved_cs_client = @@character_set_client */;
305 306 /*!50503 SET character_set_client = utf8mb4 */;
306 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 335 ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
335 336 /*!40101 SET character_set_client = @saved_cs_client */;
336 337  
... ... @@ -351,11 +352,11 @@ DROP TABLE IF EXISTS `platform_catalog`;
351 352 /*!40101 SET @saved_cs_client = @@character_set_client */;
352 353 /*!50503 SET character_set_client = utf8mb4 */;
353 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 360 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
360 361 /*!40101 SET character_set_client = @saved_cs_client */;
361 362  
... ... @@ -376,11 +377,11 @@ DROP TABLE IF EXISTS `platform_gb_channel`;
376 377 /*!40101 SET @saved_cs_client = @@character_set_client */;
377 378 /*!50503 SET character_set_client = utf8mb4 */;
378 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 385 ) ENGINE=InnoDB AUTO_INCREMENT=4889 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
385 386 /*!40101 SET character_set_client = @saved_cs_client */;
386 387  
... ... @@ -401,12 +402,12 @@ DROP TABLE IF EXISTS `platform_gb_stream`;
401 402 /*!40101 SET @saved_cs_client = @@character_set_client */;
402 403 /*!50503 SET character_set_client = utf8mb4 */;
403 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 411 ) ENGINE=InnoDB AUTO_INCREMENT=302077 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
411 412 /*!40101 SET character_set_client = @saved_cs_client */;
412 413  
... ... @@ -427,26 +428,26 @@ DROP TABLE IF EXISTS `stream_proxy`;
427 428 /*!40101 SET @saved_cs_client = @@character_set_client */;
428 429 /*!50503 SET character_set_client = utf8mb4 */;
429 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 451 ) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
451 452 /*!40101 SET character_set_client = @saved_cs_client */;
452 453  
... ... @@ -467,19 +468,19 @@ DROP TABLE IF EXISTS `stream_push`;
467 468 /*!40101 SET @saved_cs_client = @@character_set_client */;
468 469 /*!50503 SET character_set_client = utf8mb4 */;
469 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 484 /*!40101 SET character_set_client = @saved_cs_client */;
484 485  
485 486 --
... ... @@ -499,14 +500,14 @@ DROP TABLE IF EXISTS `user`;
499 500 /*!40101 SET @saved_cs_client = @@character_set_client */;
500 501 /*!50503 SET character_set_client = utf8mb4 */;
501 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 511 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
511 512 /*!40101 SET character_set_client = @saved_cs_client */;
512 513  
... ... @@ -528,12 +529,12 @@ DROP TABLE IF EXISTS `user_role`;
528 529 /*!40101 SET @saved_cs_client = @@character_set_client */;
529 530 /*!50503 SET character_set_client = utf8mb4 */;
530 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 538 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
538 539 /*!40101 SET character_set_client = @saved_cs_client */;
539 540  
... ... @@ -556,4 +557,4 @@ UNLOCK TABLES;
556 557 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
557 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 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 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 81 public String getDeviceId() {
... ... @@ -145,35 +150,43 @@ public class MobilePosition {
145 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 173 mobilePosition.getLongitude(), mobilePosition.getLatitude());
174 174 mobilePosition.setReportSource("Mobile Position");
175 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 209 // 发送redis消息。 通知位置信息的变化
187 210 JSONObject jsonObject = new JSONObject();
188 211 jsonObject.put("time", time);
... ... @@ -209,9 +232,12 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
209 232 return;
210 233 }
211 234 try {
  235 + FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
  236 + String deviceId = SipUtils.getUserIdFromFromHeader(fromHeader);
  237 +
212 238 Element rootElement = getRootElement(evt);
213 239 Element deviceIdElement = rootElement.element("DeviceID");
214   - String deviceId = deviceIdElement.getText().toString();
  240 + String channelId = deviceIdElement.getText().toString();
215 241  
216 242 Device device = redisCatchStorage.getDevice(deviceId);
217 243 if (device == null) {
... ... @@ -252,16 +278,38 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
252 278 mobilePosition.setLongitude(deviceAlarm.getLongitude());
253 279 mobilePosition.setLatitude(deviceAlarm.getLatitude());
254 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 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 80 Element deviceIdElement = rootElement.element("DeviceID");
81 81 String channelId = deviceIdElement.getText().toString();
82 82  
83   -
84 83 DeviceAlarm deviceAlarm = new DeviceAlarm();
85 84 deviceAlarm.setDeviceId(device.getDeviceId());
86 85 deviceAlarm.setChannelId(channelId);
... ... @@ -118,16 +117,38 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
118 117 mobilePosition.setLongitude(deviceAlarm.getLongitude());
119 118 mobilePosition.setLatitude(deviceAlarm.getLatitude());
120 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 154 if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) {
... ...
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java
1 1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.cmd;
2 2  
3 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 5 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
9 6 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
10 7 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.NotifyMessageHandler;
... ... @@ -80,16 +77,38 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
80 77 mobilePosition.setAltitude(0.0);
81 78 }
82 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 112 //回复 200 OK
94 113 responseAck(evt, Response.OK);
95 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 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 174 public SyncStatus getChannelSyncProgress(String deviceId) {
240 175 if (catalogDataCatch.get(deviceId) == null) {
241 176 return null;
... ...
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
1 1 package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.cmd;
2 2  
3 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 5 import com.genersoft.iot.vmp.gb28181.transmit.event.request.SIPRequestProcessorParent;
9 6 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.IMessageHandler;
10 7 import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.response.ResponseMessageHandler;
... ... @@ -80,16 +77,38 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar
80 77 mobilePosition.setAltitude(0.0);
81 78 }
82 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 112 //回复 200 OK
94 113 responseAck(evt, Response.OK);
95 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 463  
464 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 276 " and channelId = #{channelId}")
277 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 293 @Select("SELECT * FROM device_channel WHERE length(trim(streamId)) > 0")
283 294 List<DeviceChannel> getAllChannelInPlay();
... ... @@ -313,4 +324,6 @@ public interface DeviceChannelMapper {
313 324  
314 325 @Select("select * from device_channel where deviceId=#{deviceId} and SUBSTRING(channelId, 11, 3)=#{typeCode}")
315 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 4  
5 5 import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;
6 6 import org.apache.ibatis.annotations.*;
7   -//import org.springframework.stereotype.Repository;
8 7  
9 8 @Mapper
10   -//@Repository
11 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 13 int insertNewPosition(MobilePosition mobilePosition);
16 14  
17 15 @Select(value = {" <script>" +
18 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 19 "<if test=\"startTime != null\"> AND time&gt;=#{startTime}</if>" +
21 20 "<if test=\"endTime != null\"> AND time&lt;=#{endTime}</if>" +
22 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 472 */
473 473 @Override
474 474 public synchronized boolean insertMobilePosition(MobilePosition mobilePosition) {
  475 + if (mobilePosition.getDeviceId().equals(mobilePosition.getChannelId())) {
  476 + mobilePosition.setChannelId(null);
  477 + }
475 478 return deviceMobilePositionMapper.insertNewPosition(mobilePosition) > 0;
476 479 }
477 480  
... ... @@ -1119,7 +1122,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
1119 1122 }
1120 1123  
1121 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 63 @ApiOperation("查询历史轨迹")
64 64 @ApiImplicitParams({
65 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 71 public ResponseEntity<WVPResult<List<MobilePosition>>> positions(@PathVariable String deviceId,
71   - @PathVariable String channelId,
  72 + @RequestParam(required = false) String channelId,
72 73 @RequestParam(required = false) String start,
73 74 @RequestParam(required = false) String end) {
74 75 // if (logger.isDebugEnabled()) {
... ...
web_src/src/components/common/MapComponent.vue
... ... @@ -11,6 +11,7 @@ import VectorSource from &#39;ol/source/Vector&#39;;
11 11 import Tile from 'ol/layer/Tile';
12 12 import VectorLayer from 'ol/layer/Vector';
13 13 import Style from 'ol/style/Style';
  14 +import Stroke from 'ol/style/Stroke';
14 15 import Icon from 'ol/style/Icon';
15 16 import View from 'ol/View';
16 17 import Feature from 'ol/Feature';
... ... @@ -230,7 +231,12 @@ export default {
230 231 }
231 232 let line = new LineString(points)
232 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 240 let source = new VectorSource();
235 241 source.addFeature(lineFeature);
236 242 let vectorLayer = new VectorLayer({
... ...
web_src/src/components/dialog/queryTrace.vue
... ... @@ -10,8 +10,8 @@
10 10 @close="close()"
11 11 >
12 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 15 <el-button icon="el-icon-search" size="mini" type="primary" @click="onSubmit">查询</el-button>
16 16 </div>
17 17  
... ... @@ -72,7 +72,11 @@ export default {
72 72 onSubmit: function () {
73 73 console.log("onSubmit");
74 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 80 }).then((res)=> {
77 81 this.isLoging = false;
78 82 if (typeof this.callback == "function") {
... ...
web_src/src/components/map.vue
... ... @@ -186,6 +186,14 @@ export default {
186 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 199 event, // 鼠标事件信息
... ... @@ -320,8 +328,8 @@ export default {
320 328 } else {
321 329 let positions = [];
322 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 }
... ...