From 8aa0bdf539582b9d710503121d911bb166ca7c8e Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 06 七月 2022 09:44:37 +0800 Subject: [PATCH] 数据库优化 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java | 3 src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 7 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java | 3 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java | 4 src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java | 13 ++ src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java | 4 src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 7 src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java | 13 ++ sql/mysql.sql | 29 +++- src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java | 3 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java | 47 +++++++ src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 2 src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java | 26 ++++ web_src/src/components/StreamProxyList.vue | 15 +- src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarm.java | 10 + src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceAlarmMapper.java | 4 src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java | 10 + src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java | 3 src/main/java/com/genersoft/iot/vmp/service/impl/RedisAlarmMsgListener.java | 1 src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java | 1 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 5 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java | 11 - src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java | 15 +- src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java | 4 src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java | 8 sql/update.sql | 36 +++++ src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java | 4 src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java | 5 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 22 ++- 29 files changed, 246 insertions(+), 69 deletions(-) diff --git a/sql/mysql.sql b/sql/mysql.sql index 83e8b87..ffe39c3 100644 --- a/sql/mysql.sql +++ b/sql/mysql.sql @@ -50,7 +50,7 @@ `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -80,6 +80,7 @@ `longitude` double DEFAULT NULL, `latitude` double DEFAULT NULL, `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; @@ -137,10 +138,11 @@ `longitudeWgs84` double DEFAULT NULL, `latitudeWgs84` double DEFAULT NULL, `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE, UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=19317 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=19324 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -175,8 +177,9 @@ `latitudeGcj02` double DEFAULT NULL, `longitudeWgs84` double DEFAULT NULL, `latitudeWgs84` double DEFAULT NULL, + `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1508 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=5649 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -206,11 +209,12 @@ `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `status` int DEFAULT NULL, - `createStamp` bigint DEFAULT NULL, + `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, + `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`gbStreamId`) USING BTREE, UNIQUE KEY `app` (`app`,`stream`) USING BTREE, UNIQUE KEY `gbId` (`gbId`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=301679 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=301681 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -240,7 +244,7 @@ `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=22051 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=29943 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -329,10 +333,12 @@ `startOfflinePush` int DEFAULT '0', `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `catalogGroup` int DEFAULT '1', + `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, + `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE, UNIQUE KEY `parent_platform_pk` (`serverGBId`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -446,9 +452,10 @@ `enable_remove_none_reader` bit(1) NOT NULL, `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -474,10 +481,12 @@ `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `originType` int DEFAULT NULL, `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, - `createStamp` bigint DEFAULT NULL, + `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, `aliveSecond` int DEFAULT NULL, `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, + `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, + `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=305304 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; @@ -557,4 +566,4 @@ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2022-07-04 1:07:19 +-- Dump completed on 2022-07-06 9:43:54 diff --git a/sql/update.sql b/sql/update.sql index 14d98c2..4341355 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -1,11 +1,13 @@ alter table stream_push add serverId varchar(50) not null; + alter table device add geoCoordSys varchar(50) not null; alter table device add treeType varchar(50) not null; update device set device.geoCoordSys='WGS84'; update device set device.treeType='CivilCode'; + alter table device_channel add longitudeGcj02 double default null; alter table device_channel @@ -16,15 +18,43 @@ add latitudeWgs84 double default null; alter table device_channel add businessGroupId varchar(50) default null; +alter table device_channel + add gpsTime varchar(50) default null; -alter table device_mobile_position change cnLng longitudeGcj02 double default null; -alter table device_mobile_position change cnLat latitudeGcj02 double default null; +alter table device_mobile_position + change cnLng longitudeGcj02 double default null; +alter table device_mobile_position + change cnLat latitudeGcj02 double default null; alter table device_mobile_position add longitudeWgs84 double default null; alter table device_mobile_position add latitudeWgs84 double default null; -alter table device_mobile_position drop geodeticSystem; +alter table device_mobile_position + drop geodeticSystem; +alter table device_mobile_position + add createTime varchar(50) default null; + +alter table device_alarm + add createTime varchar(50) default null; + +alter table gb_stream + change createStamp createTime varchar(50) default null; + +alter table parent_platform + add createTime varchar(50) default null; +alter table parent_platform + add updateTime varchar(50) default null; + +alter table stream_proxy + add updateTime varchar(50) default null; + +alter table stream_push + add pushTime varchar(50) default null; +alter table stream_push + add updateTime varchar(50) default null; +alter table stream_push + change createStamp createTime varchar(50) default null; diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarm.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarm.java index 530bce2..0f5f392 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarm.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarm.java @@ -77,6 +77,8 @@ */ private String alarmType; + private String createTime; + public String getId() { return id; @@ -157,4 +159,12 @@ public void setChannelId(String channelId) { this.channelId = channelId; } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java index 16ead73..0d98674 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java @@ -199,6 +199,11 @@ */ private String businessGroupId; + /** + * GPS鐨勬洿鏂版椂闂� + */ + private String gpsTime; + public int getId() { return id; } @@ -519,4 +524,12 @@ public void setBusinessGroupId(String businessGroupId) { this.businessGroupId = businessGroupId; } + + public String getGpsTime() { + return gpsTime; + } + + public void setGpsTime(String gpsTime) { + this.gpsTime = gpsTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java index 010e000..f9efeee 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/GbStream.java @@ -15,10 +15,8 @@ private double latitude; private String streamType; private boolean status; - /** - * GMT unix绯荤粺鏃堕棿鎴筹紝鍗曚綅绉� - */ - public Long createStamp; + + public String createTime; @Override public Integer getGbStreamId() { @@ -102,12 +100,11 @@ this.mediaServerId = mediaServerId; } - - public Long getCreateStamp() { - return createStamp; + public String getCreateTime() { + return createTime; } - public void setCreateStamp(Long createStamp) { - this.createStamp = createStamp; + public void setCreateTime(String createTime) { + this.createTime = createTime; } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java index f9c20e5..1900093 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/MobilePosition.java @@ -77,6 +77,11 @@ */ private double latitudeWgs84; + /** + * 鍒涘缓鏃堕棿 + */ + private String createTime; + public String getDeviceId() { return deviceId; @@ -189,4 +194,12 @@ public void setLatitudeWgs84(double latitudeWgs84) { this.latitudeWgs84 = latitudeWgs84; } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java index 7c23a2f..4377282 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/ParentPlatform.java @@ -144,6 +144,16 @@ */ private String administrativeDivision; + /** + * 鏇存柊鏃堕棿 + */ + private String updateTime; + + /** + * 鍒涘缓鏃堕棿 + */ + private String createTime; + public Integer getId() { return id; } @@ -368,4 +378,20 @@ public void setAdministrativeDivision(String administrativeDivision) { this.administrativeDivision = administrativeDivision; } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java index bfa5988..376d74b 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java @@ -140,6 +140,7 @@ Element rootElement = getRootElement(evt); MobilePosition mobilePosition = new MobilePosition(); + mobilePosition.setCreateTime(DateUtil.getNow()); Element deviceIdElement = rootElement.element("DeviceID"); String channelId = deviceIdElement.getTextTrim().toString(); Device device = redisCatchStorage.getDevice(deviceId); @@ -205,6 +206,7 @@ deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); + deviceChannel.setGpsTime(mobilePosition.getTime()); storager.updateChannelPosition(deviceChannel); // 鍙戦�乺edis娑堟伅銆� 閫氱煡浣嶇疆淇℃伅鐨勫彉鍖� JSONObject jsonObject = new JSONObject(); @@ -273,6 +275,7 @@ logger.info("[鏀跺埌Notify-Alarm]锛歿}/{}", device.getDeviceId(), deviceAlarm.getChannelId()); if ("4".equals(deviceAlarm.getAlarmMethod())) { MobilePosition mobilePosition = new MobilePosition(); + mobilePosition.setCreateTime(DateUtil.getNow()); mobilePosition.setDeviceId(deviceAlarm.getDeviceId()); mobilePosition.setTime(deviceAlarm.getAlarmTime()); mobilePosition.setLongitude(deviceAlarm.getLongitude()); @@ -309,6 +312,7 @@ deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); + deviceChannel.setGpsTime(mobilePosition.getTime()); storager.updateChannelPosition(deviceChannel); } // TODO: 闇�瑕佸疄鐜板瓨鍌ㄦ姤璀︿俊鎭�佹姤璀﹀垎绫� diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java index 08874b8..8dfd233 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java @@ -81,6 +81,7 @@ String channelId = deviceIdElement.getText().toString(); DeviceAlarm deviceAlarm = new DeviceAlarm(); + deviceAlarm.setCreateTime(DateUtil.getNow()); deviceAlarm.setDeviceId(device.getDeviceId()); deviceAlarm.setChannelId(channelId); deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); @@ -112,6 +113,7 @@ if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) { if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) { MobilePosition mobilePosition = new MobilePosition(); + mobilePosition.setCreateTime(DateUtil.getNow()); mobilePosition.setDeviceId(deviceAlarm.getDeviceId()); mobilePosition.setTime(deviceAlarm.getAlarmTime()); mobilePosition.setLongitude(deviceAlarm.getLongitude()); @@ -148,6 +150,7 @@ deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); + deviceChannel.setGpsTime(mobilePosition.getTime()); storager.updateChannelPosition(deviceChannel); } } @@ -198,6 +201,7 @@ DeviceAlarm deviceAlarm = new DeviceAlarm(); + deviceAlarm.setCreateTime(DateUtil.getNow()); deviceAlarm.setDeviceId(parentPlatform.getServerGBId()); deviceAlarm.setChannelId(channelId); deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java index 2ac3b83..aa91556 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java @@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.gb28181.utils.Coordtransform; import com.genersoft.iot.vmp.gb28181.utils.NumericUtil; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.utils.GpsUtil; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -53,6 +54,7 @@ rootElement = getRootElement(evt, device.getCharset()); MobilePosition mobilePosition = new MobilePosition(); + mobilePosition.setCreateTime(DateUtil.getNow()); if (!StringUtils.isEmpty(device.getName())) { mobilePosition.setDeviceName(device.getName()); } @@ -108,6 +110,7 @@ deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); + deviceChannel.setGpsTime(mobilePosition.getTime()); storager.updateChannelPosition(deviceChannel); //鍥炲 200 OK responseAck(evt, Response.OK); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java index a4aee9b..e562fa4 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java @@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.gb28181.utils.Coordtransform; import com.genersoft.iot.vmp.gb28181.utils.NumericUtil; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.utils.GpsUtil; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -53,6 +54,7 @@ rootElement = getRootElement(evt, device.getCharset()); MobilePosition mobilePosition = new MobilePosition(); + mobilePosition.setCreateTime(DateUtil.getNow()); if (!StringUtils.isEmpty(device.getName())) { mobilePosition.setDeviceName(device.getName()); } @@ -108,6 +110,7 @@ deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); + deviceChannel.setGpsTime(mobilePosition.getTime()); storager.updateChannelPosition(deviceChannel); //鍥炲 200 OK responseAck(evt, Response.OK); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java index 0d34c00..72206d8 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; +import com.genersoft.iot.vmp.utils.DateUtil; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; @@ -314,6 +315,7 @@ } else { deviceChannel.setLatitude(0.00); } + deviceChannel.setGpsTime(DateUtil.getNow()); if (deviceChannel.getLongitude()*deviceChannel.getLatitude() > 0) { if ("WGS84".equals(device.getGeoCoordSys())) { deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude()); diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java index 4ea9cf1..7f6ea02 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java @@ -339,9 +339,7 @@ @PostMapping(value = "/on_stream_changed", produces = "application/json;charset=UTF-8") public ResponseEntity<String> onStreamChanged(@RequestBody MediaItem item){ - if (logger.isDebugEnabled()) { - logger.debug("[ ZLM HOOK ]on_stream_changed API璋冪敤锛屽弬鏁帮細" + JSONObject.toJSONString(item)); - } + logger.info("[ ZLM HOOK ]on_stream_changed API璋冪敤锛屽弬鏁帮細" + JSONObject.toJSONString(item)); String mediaServerId = item.getMediaServerId(); JSONObject json = (JSONObject) JSON.toJSON(item); ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, json); @@ -389,7 +387,6 @@ if (mediaServerItem != null){ if (regist) { - StreamPushItem streamPushItem = null; StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, streamId, tracks); item.setStreamInfo(streamInfoByAppAndStream); @@ -455,10 +452,8 @@ @ResponseBody @PostMapping(value = "/on_stream_none_reader", produces = "application/json;charset=UTF-8") public ResponseEntity<String> onStreamNoneReader(@RequestBody JSONObject json){ - - if (logger.isDebugEnabled()) { - logger.debug("[ ZLM HOOK ]on_stream_none_reader API璋冪敤锛屽弬鏁帮細" + json.toString()); - } + + logger.info("[ ZLM HOOK ]on_stream_none_reader API璋冪敤锛屽弬鏁帮細" + json.toString()); String mediaServerId = json.getString("mediaServerId"); String streamId = json.getString("stream"); String app = json.getString("app"); diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java index 959c06e..35069aa 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java @@ -12,6 +12,7 @@ import com.genersoft.iot.vmp.storager.dao.GbStreamMapper; import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper; import com.genersoft.iot.vmp.storager.dao.StreamPushMapper; +import com.genersoft.iot.vmp.utils.DateUtil; import org.checkerframework.checker.units.qual.C; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -159,7 +160,8 @@ gbStreamMapper.update(transform); streamPushMapper.del(gbStreamList.get(0).getApp(), gbStreamList.get(0).getStream()); }else { - transform.setCreateStamp(System.currentTimeMillis()); + transform.setCreateTime(DateUtil.getNow()); + transform.setUpdateTime(DateUtil.getNow()); gbStreamMapper.add(transform); } if (transform != null) { diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java index ceb48b3..91fa619 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java @@ -1,7 +1,9 @@ package com.genersoft.iot.vmp.media.zlm.dto; import com.genersoft.iot.vmp.gb28181.bean.GbStream; +import com.genersoft.iot.vmp.utils.DateUtil; import org.jetbrains.annotations.NotNull; +import org.springframework.util.unit.DataUnit; import java.util.List; @@ -86,6 +88,21 @@ */ private String serverId; + /** + * 鎺ㄦ祦鏃堕棿 + */ + private String pushTime; + + /** + * 鏇存柊鏃堕棿 + */ + private String updateTime; + + /** + * 鍒涘缓鏃堕棿 + */ + private String createTime; + public String getVhost() { return vhost; } @@ -97,7 +114,8 @@ @Override public int compareTo(@NotNull StreamPushItem streamPushItem) { - return Long.valueOf(super.createStamp - streamPushItem.getCreateStamp().intValue()).intValue(); + return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(super.createTime) + - DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(streamPushItem.getCreateTime())).intValue(); } public static class MediaSchema { @@ -232,5 +250,32 @@ public void setServerId(String serverId) { this.serverId = serverId; } + + + public String getPushTime() { + return pushTime; + } + + public void setPushTime(String pushTime) { + this.pushTime = pushTime; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + @Override + public String getCreateTime() { + return createTime; + } + + @Override + public void setCreateTime(String createTime) { + this.createTime = createTime; + } } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisAlarmMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisAlarmMsgListener.java index ef5932d..4d1948a 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisAlarmMsgListener.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisAlarmMsgListener.java @@ -41,6 +41,7 @@ ParentPlatform platform = storage.queryParentPlatByServerGBId(gbId); DeviceAlarm deviceAlarm = new DeviceAlarm(); + deviceAlarm.setCreateTime(DateUtil.getNow()); deviceAlarm.setChannelId(gbId); deviceAlarm.setAlarmDescription(alarmChannelMessage.getAlarmDescription()); deviceAlarm.setAlarmMethod("" + alarmChannelMessage.getAlarmSn()); diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java index 2fa043a..67dfb6f 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java @@ -230,11 +230,12 @@ public boolean start(String app, String stream) { boolean result = false; StreamProxyItem streamProxy = videoManagerStorager.queryStreamProxy(app, stream); - if (!streamProxy.isEnable() && streamProxy != null) { + if (!streamProxy.isEnable() ) { JSONObject jsonObject = addStreamProxyToZlm(streamProxy); if (jsonObject == null) { return false; } + System.out.println(jsonObject); if (jsonObject.getInteger("code") == 0) { result = true; streamProxy.setEnable(true); @@ -250,7 +251,7 @@ StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream); if (streamProxyDto != null && streamProxyDto.isEnable()) { JSONObject jsonObject = removeStreamProxyFromZlm(streamProxyDto); - if (jsonObject.getInteger("code") == 0) { + if (jsonObject != null && jsonObject.getInteger("code") == 0) { streamProxyDto.setEnable(false); result = videoManagerStorager.updateStreamProxy(streamProxyDto); } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java index 1e00faa..a8ef108 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java @@ -15,6 +15,7 @@ import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.dao.*; +import com.genersoft.iot.vmp.utils.DateUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.slf4j.Logger; @@ -102,7 +103,7 @@ streamPushItem.setOriginType(item.getOriginType()); streamPushItem.setOriginTypeStr(item.getOriginTypeStr()); streamPushItem.setOriginUrl(item.getOriginUrl()); - streamPushItem.setCreateStamp(item.getCreateStamp() * 1000); + streamPushItem.setCreateTime(DateUtil.getNow()); streamPushItem.setAliveSecond(item.getAliveSecond()); streamPushItem.setStatus(true); streamPushItem.setStreamType("push"); @@ -127,7 +128,7 @@ public boolean saveToGB(GbStream stream) { stream.setStreamType("push"); stream.setStatus(true); - stream.setCreateStamp(System.currentTimeMillis()); + stream.setCreateTime(DateUtil.getNow()); int add = gbStreamMapper.add(stream); // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴 @@ -317,7 +318,7 @@ streamPushItem.setStreamType("push"); streamPushItem.setStatus(true); streamPushItem.setGbId("34020000004111" + gbId); - streamPushItem.setCreateStamp(System.currentTimeMillis()); + streamPushItem.setCreateTime(DateUtil.getNow()); gbId ++; } int limitCount = 30; diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java index 87e084b..45cbcf6 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java @@ -4,6 +4,7 @@ import com.alibaba.excel.event.AnalysisEventListener; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.service.IStreamPushService; +import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -94,7 +95,7 @@ streamPushItem.setGbId(streamPushExcelDto.getGbId()); streamPushItem.setStatus(false); streamPushItem.setStreamType("push"); - streamPushItem.setCreateStamp(System.currentTimeMillis()); + streamPushItem.setCreateTime(DateUtil.getNow()); streamPushItem.setMediaServerId(defaultMediaServerId); streamPushItem.setName(streamPushExcelDto.getName()); streamPushItem.setOriginType(2); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceAlarmMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceAlarmMapper.java index 7e4a544..bc651ce 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceAlarmMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceAlarmMapper.java @@ -15,8 +15,8 @@ @Repository public interface DeviceAlarmMapper { - @Insert("INSERT INTO device_alarm (deviceId, channelId, alarmPriority, alarmMethod, alarmTime, alarmDescription, longitude, latitude, alarmType ) " + - "VALUES ('${deviceId}', '${channelId}', '${alarmPriority}', '${alarmMethod}', '${alarmTime}', '${alarmDescription}', ${longitude}, ${latitude}, '${alarmType}')") + @Insert("INSERT INTO device_alarm (deviceId, channelId, alarmPriority, alarmMethod, alarmTime, alarmDescription, longitude, latitude, alarmType , createTime ) " + + "VALUES ('${deviceId}', '${channelId}', '${alarmPriority}', '${alarmMethod}', '${alarmTime}', '${alarmDescription}', ${longitude}, ${latitude}, '${alarmType}', '${createTime}')") int add(DeviceAlarm alarm); diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java index 725d8e3..ffa5cf1 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java @@ -19,11 +19,11 @@ @Insert("INSERT INTO device_channel (channelId, deviceId, name, manufacture, model, owner, civilCode, block, " + "address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " + "ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " + - "longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId) " + + "longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId, gpsTime) " + "VALUES ('${channelId}', '${deviceId}', '${name}', '${manufacture}', '${model}', '${owner}', '${civilCode}', '${block}'," + "'${address}', ${parental}, '${parentId}', ${safetyWay}, ${registerWay}, '${certNum}', ${certifiable}, ${errCode}, '${secrecy}', " + "'${ipAddress}', ${port}, '${password}', ${PTZType}, ${status}, '${streamId}', ${longitude}, ${latitude}, ${longitudeGcj02}, " + - "${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84},'${createTime}', '${updateTime}', '${businessGroupId}')") + "${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84},'${createTime}', '${updateTime}', '${businessGroupId}', '${gpsTime}')") int add(DeviceChannel channel); @Update(value = {" <script>" + @@ -58,6 +58,7 @@ "<if test='longitudeWgs84 != null'>, longitudeWgs84=${longitudeWgs84}</if>" + "<if test='latitudeWgs84 != null'>, latitudeWgs84=${latitudeWgs84}</if>" + "<if test='businessGroupId != null'>, businessGroupId=#{businessGroupId}</if>" + + "<if test='gpsTime != null'>, gpsTime=#{gpsTime}</if>" + "WHERE deviceId='${deviceId}' AND channelId='${channelId}'"+ " </script>"}) int update(DeviceChannel channel); @@ -147,7 +148,7 @@ "(channelId, deviceId, name, manufacture, model, owner, civilCode, block, subCount, " + " address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " + " ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " + - " longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId) " + + " longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId, gpsTime) " + "values " + "<foreach collection='addChannels' index='index' item='item' separator=','> " + "('${item.channelId}', '${item.deviceId}', '${item.name}', '${item.manufacture}', '${item.model}', " + @@ -157,7 +158,7 @@ "'${item.ipAddress}', ${item.port}, '${item.password}', ${item.PTZType}, ${item.status}, " + "'${item.streamId}', ${item.longitude}, ${item.latitude},${item.longitudeGcj02}, " + "${item.latitudeGcj02},${item.longitudeWgs84}, ${item.latitudeWgs84},'${item.createTime}', '${item.updateTime}', " + - "'${item.businessGroupId}') " + + "'${item.businessGroupId}', '${item.gpsTime}') " + "</foreach> " + "ON DUPLICATE KEY UPDATE " + "updateTime=VALUES(updateTime), " + @@ -189,7 +190,8 @@ "latitudeGcj02=VALUES(latitudeGcj02), " + "longitudeWgs84=VALUES(longitudeWgs84), " + "latitudeWgs84=VALUES(latitudeWgs84), " + - "businessGroupId=VALUES(businessGroupId) " + + "businessGroupId=VALUES(businessGroupId), " + + "gpsTime=VALUES(gpsTime)" + "</script>") int batchAdd(List<DeviceChannel> addChannels); @@ -228,6 +230,7 @@ "<if test='item.longitudeWgs84 != null'>, longitudeWgs84=${item.longitudeWgs84}</if>" + "<if test='item.latitudeWgs84 != null'>, latitudeWgs84=${item.latitudeWgs84}</if>" + "<if test='item.businessGroupId != null'>, businessGroupId=#{item.businessGroupId}</if>" + + "<if test='item.gpsTime != null'>, gpsTime=#{item.gpsTime}</if>" + "WHERE deviceId='${item.deviceId}' AND channelId='${item.channelId}'"+ "</foreach>" + "</script>"}) @@ -281,10 +284,11 @@ "SET " + "latitude=${latitude}, " + "longitude=${longitude}, " + - "longitudeGcj02=${longitudeGcj02}," + - "latitudeGcj02=${latitudeGcj02}," + - "longitudeWgs84=${longitudeWgs84}," + - "latitudeWgs84=${latitudeWgs84} " + + "longitudeGcj02=${longitudeGcj02}, " + + "latitudeGcj02=${latitudeGcj02}, " + + "longitudeWgs84=${longitudeWgs84}, " + + "latitudeWgs84=${latitudeWgs84}, " + + "gpsTime='${gpsTime}' " + "WHERE deviceId=#{deviceId} " + " <if test='channelId != null' > AND channelId=#{channelId}</if>" + " </script>"}) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java index 088f556..616b1b7 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMobilePositionMapper.java @@ -8,8 +8,8 @@ @Mapper public interface DeviceMobilePositionMapper { - @Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, longitudeGcj02, latitudeGcj02, longitudeWgs84, latitudeWgs84) " + - "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84})") + @Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, longitudeGcj02, latitudeGcj02, longitudeWgs84, latitudeWgs84, createTime) " + + "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84}, '${createTime}')") int insertNewPosition(MobilePosition mobilePosition); @Select(value = {" <script>" + diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java index 9ac90bb..fa8381c 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java @@ -15,10 +15,10 @@ public interface GbStreamMapper { @Insert("REPLACE INTO gb_stream (app, stream, gbId, name, " + - "longitude, latitude, streamType, mediaServerId, status, createStamp) VALUES" + + "longitude, latitude, streamType, mediaServerId, status, createTime) VALUES" + "('${app}', '${stream}', '${gbId}', '${name}', " + "'${longitude}', '${latitude}', '${streamType}', " + - "'${mediaServerId}', ${status}, ${createStamp})") + "'${mediaServerId}', ${status}, '${createTime}')") @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") int add(GbStream gbStream); @@ -120,12 +120,12 @@ @Insert("<script> " + "INSERT IGNORE into gb_stream " + "(app, stream, gbId, name, " + - "longitude, latitude, streamType, mediaServerId, status, createStamp)" + + "longitude, latitude, streamType, mediaServerId, status, createTime)" + "values " + "<foreach collection='subList' index='index' item='item' separator=','> " + "('${item.app}', '${item.stream}', '${item.gbId}', '${item.name}', " + "'${item.longitude}', '${item.latitude}', '${item.streamType}', " + - "'${item.mediaServerId}', ${item.status}, ${item.createStamp}) "+ + "'${item.mediaServerId}', ${item.status}, '${item.createTime}') "+ "</foreach> " + "</script>") @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java index 2cbb426..b57e103 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/ParentPlatformMapper.java @@ -16,10 +16,10 @@ @Insert("INSERT INTO parent_platform (enable, name, serverGBId, serverGBDomain, serverIP, serverPort, deviceGBId, deviceIp, " + " devicePort, username, password, expires, keepTimeout, transport, characterSet, ptz, rtcp, " + - " status, shareAllLiveStream, startOfflinePush, catalogId, administrativeDivision, catalogGroup) " + + " status, shareAllLiveStream, startOfflinePush, catalogId, administrativeDivision, catalogGroup, createTime, updateTime) " + " VALUES (${enable}, '${name}', '${serverGBId}', '${serverGBDomain}', '${serverIP}', ${serverPort}, '${deviceGBId}', '${deviceIp}', " + " '${devicePort}', '${username}', '${password}', '${expires}', '${keepTimeout}', '${transport}', '${characterSet}', ${ptz}, ${rtcp}, " + - " ${status}, ${shareAllLiveStream}, ${startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup})") + " ${status}, ${shareAllLiveStream}, ${startOfflinePush}, #{catalogId}, #{administrativeDivision}, #{catalogGroup}, #{createTime}, #{updateTime})") int addParentPlatform(ParentPlatform parentPlatform); @Update("UPDATE parent_platform " + @@ -45,6 +45,8 @@ "startOfflinePush=${startOfflinePush}, " + "catalogGroup=#{catalogGroup}, " + "administrativeDivision=#{administrativeDivision}, " + + "createTime=#{createTime}, " + + "updateTime=#{updateTime}, " + "catalogId=#{catalogId} " + "WHERE id=#{id}") int updateParentPlatform(ParentPlatform parentPlatform); @@ -86,10 +88,10 @@ @Update(value = {" <script>" + "UPDATE parent_platform " + - "SET catalogId=#{catalogId}" + + "SET catalogId=#{catalogId}, updateTime=#{updateTime}" + "WHERE serverGBId=#{platformId}"+ "</script>"}) - int setDefaultCatalog(String platformId, String catalogId); + int setDefaultCatalog(String platformId, String catalogId, String updateTime); @Select("select 'channel' as name, count(pgc.platformId) count from platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId where pgc.platformId=#{platformId} and dc.channelId =#{gbId} " + "union " + diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java index 14b2ce3..9a5be6e 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java @@ -714,7 +714,6 @@ streamProxyItem.setStatus(true); String now = DateUtil.getNow(); streamProxyItem.setCreateTime(now); - streamProxyItem.setCreateStamp(System.currentTimeMillis()); try { if (streamProxyMapper.add(streamProxyItem) > 0) { if (!StringUtils.isEmpty(streamProxyItem.getGbId())) { @@ -1009,7 +1008,7 @@ @Override public int setDefaultCatalog(String platformId, String catalogId) { - return platformMapper.setDefaultCatalog(platformId, catalogId); + return platformMapper.setDefaultCatalog(platformId, catalogId, DateUtil.getNow()); } @Override @@ -1126,6 +1125,10 @@ if (deviceChannel.getChannelId().equals(deviceChannel.getDeviceId())) { deviceChannel.setChannelId(null); } + if (deviceChannel.getGpsTime() == null) { + deviceChannel.setGpsTime(DateUtil.getNow()); + } + deviceChannelMapper.updatePosition(deviceChannel); } } diff --git a/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java b/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java index 2d588fa..d107331 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java @@ -8,7 +8,6 @@ import oshi.software.os.OperatingSystem; import oshi.util.FormatUtil; -import java.text.DecimalFormat; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java index a3f1d6a..44de6c9 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java @@ -11,6 +11,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.utils.DateUtil; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.UpdateChannelParam; @@ -169,6 +170,8 @@ wvpResult.setMsg("骞冲彴 " + parentPlatform.getServerGBId() + " 宸插瓨鍦�"); return new ResponseEntity<>(wvpResult, HttpStatus.OK); } + parentPlatform.setCreateTime(DateUtil.getNow()); + parentPlatform.setUpdateTime(DateUtil.getNow()); boolean updateResult = storager.updateParentPlatform(parentPlatform); if (updateResult) { @@ -232,7 +235,7 @@ } parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase()); ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId()); - + parentPlatform.setUpdateTime(DateUtil.getNow()); boolean updateResult = storager.updateParentPlatform(parentPlatform); if (updateResult) { diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java index f2e48d8..f21bfd1 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java @@ -131,6 +131,9 @@ public Object start(String app, String stream){ logger.info("鍚敤浠g悊锛� " + app + "/" + stream); boolean result = streamProxyService.start(app, stream); + if (!result) { + logger.info("鍚敤浠g悊澶辫触锛� " + app + "/" + stream); + } return result?"success":"fail"; } diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue index 9f7ed61..f99f8e9 100644 --- a/web_src/src/components/StreamProxyList.vue +++ b/web_src/src/components/StreamProxyList.vue @@ -87,7 +87,7 @@ <el-divider direction="vertical"></el-divider> <el-button size="medium" icon="el-icon-switch-button" type="text" v-if="scope.row.enable" @click="stop(scope.row)">鍋滅敤</el-button> <el-divider direction="vertical"></el-divider> - <el-button size="medium" icon="el-icon-check" type="text" :loading="startBtnLaoding" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button> + <el-button size="medium" icon="el-icon-check" type="text" :loading="scope.row.startBtnLoading" v-if="!scope.row.enable" @click="start(scope.row)">鍚敤</el-button> <el-divider v-if="!scope.row.enable" direction="vertical"></el-divider> <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c" @click="deleteStreamProxy(scope.row)">鍒犻櫎</el-button> </template> @@ -132,7 +132,7 @@ count:15, total:0, getListLoading: false, - startBtnLaoding: false + startBtnLoading: false }; }, computed: { @@ -169,7 +169,10 @@ } }).then(function (res) { that.total = res.data.total; - that.streamProxyList = res.data.list; + for (let i = 0; i < res.data.list.length; i++) { + res.data.list[i]["startBtnLoading"] = false; + } + that.streamProxyList = res.data.list; that.getListLoading = false; }).catch(function (error) { console.log(error); @@ -263,7 +266,7 @@ start: function(row){ let that = this; this.getListLoading = true; - this.startBtnLaoding = true; + this.$set(row, 'startBtnLoading', true) this.$axios({ method: 'get', url:`/api/proxy/start`, @@ -273,7 +276,7 @@ } }).then(function (res) { that.getListLoading = false; - that.startBtnLaoding = false; + that.$set(row, 'startBtnLoading', false) if (res.data == "success"){ that.initData() }else { @@ -287,7 +290,7 @@ }).catch(function (error) { console.log(error); that.getListLoading = false; - that.startBtnLaoding = false; + that.$set(row, 'startBtnLoading', false) }); }, stop: function(row){ -- Gitblit v1.8.0