数据库优化

pull/353/head
648540858 2022-07-06 09:44:37 +08:00
parent 10cb58391a
commit 8aa0bdf539
29 changed files with 246 additions and 69 deletions

View File

@ -50,7 +50,7 @@ CREATE TABLE `device` (
`treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `device_deviceId_uindex` (`deviceId`) 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -80,6 +80,7 @@ CREATE TABLE `device_alarm` (
`longitude` double DEFAULT NULL, `longitude` double DEFAULT NULL,
`latitude` double DEFAULT NULL, `latitude` double DEFAULT NULL,
`alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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 PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -137,10 +138,11 @@ CREATE TABLE `device_channel` (
`longitudeWgs84` double DEFAULT NULL, `longitudeWgs84` double DEFAULT NULL,
`latitudeWgs84` double DEFAULT NULL, `latitudeWgs84` double DEFAULT NULL,
`businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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, PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE, UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -175,8 +177,9 @@ CREATE TABLE `device_mobile_position` (
`latitudeGcj02` double DEFAULT NULL, `latitudeGcj02` double DEFAULT NULL,
`longitudeWgs84` double DEFAULT NULL, `longitudeWgs84` double DEFAULT NULL,
`latitudeWgs84` double DEFAULT NULL, `latitudeWgs84` double DEFAULT NULL,
`createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -206,11 +209,12 @@ CREATE TABLE `gb_stream` (
`streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`status` int 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, PRIMARY KEY (`gbStreamId`) USING BTREE,
UNIQUE KEY `app` (`app`,`stream`) USING BTREE, UNIQUE KEY `app` (`app`,`stream`) USING BTREE,
UNIQUE KEY `gbId` (`gbId`) 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -240,7 +244,7 @@ CREATE TABLE `log` (
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -329,10 +333,12 @@ CREATE TABLE `parent_platform` (
`startOfflinePush` int DEFAULT '0', `startOfflinePush` int DEFAULT '0',
`administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`catalogGroup` int DEFAULT '1', `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, PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE, UNIQUE KEY `parent_platform_id_uindex` (`id`) USING BTREE,
UNIQUE KEY `parent_platform_pk` (`serverGBId`) 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -446,9 +452,10 @@ CREATE TABLE `stream_proxy` (
`enable_remove_none_reader` bit(1) NOT NULL, `enable_remove_none_reader` bit(1) NOT NULL,
`createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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, `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, PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) 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 */; /*!40101 SET character_set_client = @saved_cs_client */;
-- --
@ -474,10 +481,12 @@ CREATE TABLE `stream_push` (
`totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`originType` int DEFAULT NULL, `originType` int DEFAULT NULL,
`originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci 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, `aliveSecond` int DEFAULT NULL,
`mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`serverId` varchar(50) COLLATE utf8mb4_general_ci NOT 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, PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `stream_push_pk` (`app`,`stream`) 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; ) ENGINE=InnoDB AUTO_INCREMENT=305304 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
@ -557,4 +566,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!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

View File

@ -1,11 +1,13 @@
alter table stream_push alter table stream_push
add serverId varchar(50) not null; add serverId varchar(50) not null;
alter table device alter table device
add geoCoordSys varchar(50) not null; add geoCoordSys varchar(50) not null;
alter table device alter table device
add treeType varchar(50) not null; add treeType varchar(50) not null;
update device set device.geoCoordSys='WGS84'; update device set device.geoCoordSys='WGS84';
update device set device.treeType='CivilCode'; update device set device.treeType='CivilCode';
alter table device_channel alter table device_channel
add longitudeGcj02 double default null; add longitudeGcj02 double default null;
alter table device_channel alter table device_channel
@ -16,15 +18,43 @@ alter table device_channel
add latitudeWgs84 double default null; add latitudeWgs84 double default null;
alter table device_channel alter table device_channel
add businessGroupId varchar(50) default null; 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
alter table device_mobile_position change cnLat latitudeGcj02 double default null; change cnLng longitudeGcj02 double default null;
alter table device_mobile_position
change cnLat latitudeGcj02 double default null;
alter table device_mobile_position alter table device_mobile_position
add longitudeWgs84 double default null; add longitudeWgs84 double default null;
alter table device_mobile_position alter table device_mobile_position
add latitudeWgs84 double default null; 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;

View File

@ -77,6 +77,8 @@ public class DeviceAlarm {
*/ */
private String alarmType; private String alarmType;
private String createTime;
public String getId() { public String getId() {
return id; return id;
@ -157,4 +159,12 @@ public class DeviceAlarm {
public void setChannelId(String channelId) { public void setChannelId(String channelId) {
this.channelId = channelId; this.channelId = channelId;
} }
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
} }

View File

@ -199,6 +199,11 @@ public class DeviceChannel {
*/ */
private String businessGroupId; private String businessGroupId;
/**
* GPS
*/
private String gpsTime;
public int getId() { public int getId() {
return id; return id;
} }
@ -519,4 +524,12 @@ public class DeviceChannel {
public void setBusinessGroupId(String businessGroupId) { public void setBusinessGroupId(String businessGroupId) {
this.businessGroupId = businessGroupId; this.businessGroupId = businessGroupId;
} }
public String getGpsTime() {
return gpsTime;
}
public void setGpsTime(String gpsTime) {
this.gpsTime = gpsTime;
}
} }

View File

@ -15,10 +15,8 @@ public class GbStream extends PlatformGbStream{
private double latitude; private double latitude;
private String streamType; private String streamType;
private boolean status; private boolean status;
/**
* GMT unix public String createTime;
*/
public Long createStamp;
@Override @Override
public Integer getGbStreamId() { public Integer getGbStreamId() {
@ -102,12 +100,11 @@ public class GbStream extends PlatformGbStream{
this.mediaServerId = mediaServerId; this.mediaServerId = mediaServerId;
} }
public String getCreateTime() {
public Long getCreateStamp() { return createTime;
return createStamp;
} }
public void setCreateStamp(Long createStamp) { public void setCreateTime(String createTime) {
this.createStamp = createStamp; this.createTime = createTime;
} }
} }

View File

@ -77,6 +77,11 @@ public class MobilePosition {
*/ */
private double latitudeWgs84; private double latitudeWgs84;
/**
*
*/
private String createTime;
public String getDeviceId() { public String getDeviceId() {
return deviceId; return deviceId;
@ -189,4 +194,12 @@ public class MobilePosition {
public void setLatitudeWgs84(double latitudeWgs84) { public void setLatitudeWgs84(double latitudeWgs84) {
this.latitudeWgs84 = latitudeWgs84; this.latitudeWgs84 = latitudeWgs84;
} }
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
} }

View File

@ -144,6 +144,16 @@ public class ParentPlatform {
*/ */
private String administrativeDivision; private String administrativeDivision;
/**
*
*/
private String updateTime;
/**
*
*/
private String createTime;
public Integer getId() { public Integer getId() {
return id; return id;
} }
@ -368,4 +378,20 @@ public class ParentPlatform {
public void setAdministrativeDivision(String administrativeDivision) { public void setAdministrativeDivision(String administrativeDivision) {
this.administrativeDivision = 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;
}
} }

View File

@ -140,6 +140,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
Element rootElement = getRootElement(evt); Element rootElement = getRootElement(evt);
MobilePosition mobilePosition = new MobilePosition(); MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
Element deviceIdElement = rootElement.element("DeviceID"); Element deviceIdElement = rootElement.element("DeviceID");
String channelId = deviceIdElement.getTextTrim().toString(); String channelId = deviceIdElement.getTextTrim().toString();
Device device = redisCatchStorage.getDevice(deviceId); Device device = redisCatchStorage.getDevice(deviceId);
@ -205,6 +206,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
storager.updateChannelPosition(deviceChannel); storager.updateChannelPosition(deviceChannel);
// 发送redis消息。 通知位置信息的变化 // 发送redis消息。 通知位置信息的变化
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@ -273,6 +275,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
logger.info("[收到Notify-Alarm]{}/{}", device.getDeviceId(), deviceAlarm.getChannelId()); logger.info("[收到Notify-Alarm]{}/{}", device.getDeviceId(), deviceAlarm.getChannelId());
if ("4".equals(deviceAlarm.getAlarmMethod())) { if ("4".equals(deviceAlarm.getAlarmMethod())) {
MobilePosition mobilePosition = new MobilePosition(); MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
mobilePosition.setDeviceId(deviceAlarm.getDeviceId()); mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
mobilePosition.setTime(deviceAlarm.getAlarmTime()); mobilePosition.setTime(deviceAlarm.getAlarmTime());
mobilePosition.setLongitude(deviceAlarm.getLongitude()); mobilePosition.setLongitude(deviceAlarm.getLongitude());
@ -309,6 +312,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
storager.updateChannelPosition(deviceChannel); storager.updateChannelPosition(deviceChannel);
} }
// TODO: 需要实现存储报警信息、报警分类 // TODO: 需要实现存储报警信息、报警分类

View File

@ -81,6 +81,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
String channelId = deviceIdElement.getText().toString(); String channelId = deviceIdElement.getText().toString();
DeviceAlarm deviceAlarm = new DeviceAlarm(); DeviceAlarm deviceAlarm = new DeviceAlarm();
deviceAlarm.setCreateTime(DateUtil.getNow());
deviceAlarm.setDeviceId(device.getDeviceId()); deviceAlarm.setDeviceId(device.getDeviceId());
deviceAlarm.setChannelId(channelId); deviceAlarm.setChannelId(channelId);
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));
@ -112,6 +113,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) { if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) {
if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) { if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) {
MobilePosition mobilePosition = new MobilePosition(); MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
mobilePosition.setDeviceId(deviceAlarm.getDeviceId()); mobilePosition.setDeviceId(deviceAlarm.getDeviceId());
mobilePosition.setTime(deviceAlarm.getAlarmTime()); mobilePosition.setTime(deviceAlarm.getAlarmTime());
mobilePosition.setLongitude(deviceAlarm.getLongitude()); mobilePosition.setLongitude(deviceAlarm.getLongitude());
@ -148,6 +150,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
storager.updateChannelPosition(deviceChannel); storager.updateChannelPosition(deviceChannel);
} }
} }
@ -198,6 +201,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
DeviceAlarm deviceAlarm = new DeviceAlarm(); DeviceAlarm deviceAlarm = new DeviceAlarm();
deviceAlarm.setCreateTime(DateUtil.getNow());
deviceAlarm.setDeviceId(parentPlatform.getServerGBId()); deviceAlarm.setDeviceId(parentPlatform.getServerGBId());
deviceAlarm.setChannelId(channelId); deviceAlarm.setChannelId(channelId);
deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority"));

View File

@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.notify.
import com.genersoft.iot.vmp.gb28181.utils.Coordtransform; import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil; import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.utils.GpsUtil; import com.genersoft.iot.vmp.utils.GpsUtil;
import org.dom4j.DocumentException; import org.dom4j.DocumentException;
import org.dom4j.Element; import org.dom4j.Element;
@ -53,6 +54,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
rootElement = getRootElement(evt, device.getCharset()); rootElement = getRootElement(evt, device.getCharset());
MobilePosition mobilePosition = new MobilePosition(); MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
if (!StringUtils.isEmpty(device.getName())) { if (!StringUtils.isEmpty(device.getName())) {
mobilePosition.setDeviceName(device.getName()); mobilePosition.setDeviceName(device.getName());
} }
@ -108,6 +110,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
storager.updateChannelPosition(deviceChannel); storager.updateChannelPosition(deviceChannel);
//回复 200 OK //回复 200 OK
responseAck(evt, Response.OK); responseAck(evt, Response.OK);

View File

@ -8,6 +8,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.event.request.impl.message.respons
import com.genersoft.iot.vmp.gb28181.utils.Coordtransform; import com.genersoft.iot.vmp.gb28181.utils.Coordtransform;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil; import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.utils.GpsUtil; import com.genersoft.iot.vmp.utils.GpsUtil;
import org.dom4j.DocumentException; import org.dom4j.DocumentException;
import org.dom4j.Element; import org.dom4j.Element;
@ -53,6 +54,7 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar
rootElement = getRootElement(evt, device.getCharset()); rootElement = getRootElement(evt, device.getCharset());
MobilePosition mobilePosition = new MobilePosition(); MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
if (!StringUtils.isEmpty(device.getName())) { if (!StringUtils.isEmpty(device.getName())) {
mobilePosition.setDeviceName(device.getName()); mobilePosition.setDeviceName(device.getName());
} }
@ -108,6 +110,7 @@ public class MobilePositionResponseMessageHandler extends SIPRequestProcessorPar
deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84()); deviceChannel.setLatitudeWgs84(mobilePosition.getLatitudeWgs84());
deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02()); deviceChannel.setLongitudeGcj02(mobilePosition.getLongitudeGcj02());
deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02()); deviceChannel.setLatitudeGcj02(mobilePosition.getLatitudeGcj02());
deviceChannel.setGpsTime(mobilePosition.getTime());
storager.updateChannelPosition(deviceChannel); storager.updateChannelPosition(deviceChannel);
//回复 200 OK //回复 200 OK
responseAck(evt, Response.OK); responseAck(evt, Response.OK);

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.utils.DateUtil;
import org.dom4j.Attribute; import org.dom4j.Attribute;
import org.dom4j.Document; import org.dom4j.Document;
import org.dom4j.DocumentException; import org.dom4j.DocumentException;
@ -314,6 +315,7 @@ public class XmlUtil {
} else { } else {
deviceChannel.setLatitude(0.00); deviceChannel.setLatitude(0.00);
} }
deviceChannel.setGpsTime(DateUtil.getNow());
if (deviceChannel.getLongitude()*deviceChannel.getLatitude() > 0) { if (deviceChannel.getLongitude()*deviceChannel.getLatitude() > 0) {
if ("WGS84".equals(device.getGeoCoordSys())) { if ("WGS84".equals(device.getGeoCoordSys())) {
deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude()); deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude());

View File

@ -339,9 +339,7 @@ public class ZLMHttpHookListener {
@PostMapping(value = "/on_stream_changed", produces = "application/json;charset=UTF-8") @PostMapping(value = "/on_stream_changed", produces = "application/json;charset=UTF-8")
public ResponseEntity<String> onStreamChanged(@RequestBody MediaItem item){ public ResponseEntity<String> onStreamChanged(@RequestBody MediaItem item){
if (logger.isDebugEnabled()) { logger.info("[ ZLM HOOK ]on_stream_changed API调用参数" + JSONObject.toJSONString(item));
logger.debug("[ ZLM HOOK ]on_stream_changed API调用参数" + JSONObject.toJSONString(item));
}
String mediaServerId = item.getMediaServerId(); String mediaServerId = item.getMediaServerId();
JSONObject json = (JSONObject) JSON.toJSON(item); JSONObject json = (JSONObject) JSON.toJSON(item);
ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, json); ZLMHttpHookSubscribe.Event subscribe = this.subscribe.getSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, json);
@ -389,7 +387,6 @@ public class ZLMHttpHookListener {
if (mediaServerItem != null){ if (mediaServerItem != null){
if (regist) { if (regist) {
StreamPushItem streamPushItem = null;
StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, streamId, tracks); StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, streamId, tracks);
item.setStreamInfo(streamInfoByAppAndStream); item.setStreamInfo(streamInfoByAppAndStream);
@ -456,9 +453,7 @@ public class ZLMHttpHookListener {
@PostMapping(value = "/on_stream_none_reader", produces = "application/json;charset=UTF-8") @PostMapping(value = "/on_stream_none_reader", produces = "application/json;charset=UTF-8")
public ResponseEntity<String> onStreamNoneReader(@RequestBody JSONObject json){ public ResponseEntity<String> onStreamNoneReader(@RequestBody JSONObject json){
if (logger.isDebugEnabled()) { logger.info("[ ZLM HOOK ]on_stream_none_reader API调用参数" + json.toString());
logger.debug("[ ZLM HOOK ]on_stream_none_reader API调用参数" + json.toString());
}
String mediaServerId = json.getString("mediaServerId"); String mediaServerId = json.getString("mediaServerId");
String streamId = json.getString("stream"); String streamId = json.getString("stream");
String app = json.getString("app"); String app = json.getString("app");

View File

@ -12,6 +12,7 @@ import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper; import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper; import com.genersoft.iot.vmp.storager.dao.PlatformGbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.StreamPushMapper; import com.genersoft.iot.vmp.storager.dao.StreamPushMapper;
import com.genersoft.iot.vmp.utils.DateUtil;
import org.checkerframework.checker.units.qual.C; import org.checkerframework.checker.units.qual.C;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -159,7 +160,8 @@ public class ZLMMediaListManager {
gbStreamMapper.update(transform); gbStreamMapper.update(transform);
streamPushMapper.del(gbStreamList.get(0).getApp(), gbStreamList.get(0).getStream()); streamPushMapper.del(gbStreamList.get(0).getApp(), gbStreamList.get(0).getStream());
}else { }else {
transform.setCreateStamp(System.currentTimeMillis()); transform.setCreateTime(DateUtil.getNow());
transform.setUpdateTime(DateUtil.getNow());
gbStreamMapper.add(transform); gbStreamMapper.add(transform);
} }
if (transform != null) { if (transform != null) {

View File

@ -1,7 +1,9 @@
package com.genersoft.iot.vmp.media.zlm.dto; package com.genersoft.iot.vmp.media.zlm.dto;
import com.genersoft.iot.vmp.gb28181.bean.GbStream; import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.utils.DateUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.util.unit.DataUnit;
import java.util.List; import java.util.List;
@ -86,6 +88,21 @@ public class StreamPushItem extends GbStream implements Comparable<StreamPushIte
*/ */
private String serverId; private String serverId;
/**
*
*/
private String pushTime;
/**
*
*/
private String updateTime;
/**
*
*/
private String createTime;
public String getVhost() { public String getVhost() {
return vhost; return vhost;
} }
@ -97,7 +114,8 @@ public class StreamPushItem extends GbStream implements Comparable<StreamPushIte
@Override @Override
public int compareTo(@NotNull StreamPushItem streamPushItem) { 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 { public static class MediaSchema {
@ -232,5 +250,32 @@ public class StreamPushItem extends GbStream implements Comparable<StreamPushIte
public void setServerId(String serverId) { public void setServerId(String serverId) {
this.serverId = 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;
}
} }

View File

@ -41,6 +41,7 @@ public class RedisAlarmMsgListener implements MessageListener {
ParentPlatform platform = storage.queryParentPlatByServerGBId(gbId); ParentPlatform platform = storage.queryParentPlatByServerGBId(gbId);
DeviceAlarm deviceAlarm = new DeviceAlarm(); DeviceAlarm deviceAlarm = new DeviceAlarm();
deviceAlarm.setCreateTime(DateUtil.getNow());
deviceAlarm.setChannelId(gbId); deviceAlarm.setChannelId(gbId);
deviceAlarm.setAlarmDescription(alarmChannelMessage.getAlarmDescription()); deviceAlarm.setAlarmDescription(alarmChannelMessage.getAlarmDescription());
deviceAlarm.setAlarmMethod("" + alarmChannelMessage.getAlarmSn()); deviceAlarm.setAlarmMethod("" + alarmChannelMessage.getAlarmSn());

View File

@ -230,11 +230,12 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
public boolean start(String app, String stream) { public boolean start(String app, String stream) {
boolean result = false; boolean result = false;
StreamProxyItem streamProxy = videoManagerStorager.queryStreamProxy(app, stream); StreamProxyItem streamProxy = videoManagerStorager.queryStreamProxy(app, stream);
if (!streamProxy.isEnable() && streamProxy != null) { if (!streamProxy.isEnable() ) {
JSONObject jsonObject = addStreamProxyToZlm(streamProxy); JSONObject jsonObject = addStreamProxyToZlm(streamProxy);
if (jsonObject == null) { if (jsonObject == null) {
return false; return false;
} }
System.out.println(jsonObject);
if (jsonObject.getInteger("code") == 0) { if (jsonObject.getInteger("code") == 0) {
result = true; result = true;
streamProxy.setEnable(true); streamProxy.setEnable(true);
@ -250,7 +251,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream); StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream);
if (streamProxyDto != null && streamProxyDto.isEnable()) { if (streamProxyDto != null && streamProxyDto.isEnable()) {
JSONObject jsonObject = removeStreamProxyFromZlm(streamProxyDto); JSONObject jsonObject = removeStreamProxyFromZlm(streamProxyDto);
if (jsonObject.getInteger("code") == 0) { if (jsonObject != null && jsonObject.getInteger("code") == 0) {
streamProxyDto.setEnable(false); streamProxyDto.setEnable(false);
result = videoManagerStorager.updateStreamProxy(streamProxyDto); result = videoManagerStorager.updateStreamProxy(streamProxyDto);
} }

View File

@ -15,6 +15,7 @@ import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.dao.*; import com.genersoft.iot.vmp.storager.dao.*;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -102,7 +103,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
streamPushItem.setOriginType(item.getOriginType()); streamPushItem.setOriginType(item.getOriginType());
streamPushItem.setOriginTypeStr(item.getOriginTypeStr()); streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
streamPushItem.setOriginUrl(item.getOriginUrl()); streamPushItem.setOriginUrl(item.getOriginUrl());
streamPushItem.setCreateStamp(item.getCreateStamp() * 1000); streamPushItem.setCreateTime(DateUtil.getNow());
streamPushItem.setAliveSecond(item.getAliveSecond()); streamPushItem.setAliveSecond(item.getAliveSecond());
streamPushItem.setStatus(true); streamPushItem.setStatus(true);
streamPushItem.setStreamType("push"); streamPushItem.setStreamType("push");
@ -127,7 +128,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
public boolean saveToGB(GbStream stream) { public boolean saveToGB(GbStream stream) {
stream.setStreamType("push"); stream.setStreamType("push");
stream.setStatus(true); stream.setStatus(true);
stream.setCreateStamp(System.currentTimeMillis()); stream.setCreateTime(DateUtil.getNow());
int add = gbStreamMapper.add(stream); int add = gbStreamMapper.add(stream);
// 查找开启了全部直播流共享的上级平台 // 查找开启了全部直播流共享的上级平台
@ -317,7 +318,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
streamPushItem.setStreamType("push"); streamPushItem.setStreamType("push");
streamPushItem.setStatus(true); streamPushItem.setStatus(true);
streamPushItem.setGbId("34020000004111" + gbId); streamPushItem.setGbId("34020000004111" + gbId);
streamPushItem.setCreateStamp(System.currentTimeMillis()); streamPushItem.setCreateTime(DateUtil.getNow());
gbId ++; gbId ++;
} }
int limitCount = 30; int limitCount = 30;

View File

@ -4,6 +4,7 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.event.AnalysisEventListener;
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
import com.genersoft.iot.vmp.service.IStreamPushService; import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto; import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto;
import com.google.common.collect.BiMap; import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap; import com.google.common.collect.HashBiMap;
@ -94,7 +95,7 @@ public class StreamPushUploadFileHandler extends AnalysisEventListener<StreamPus
streamPushItem.setGbId(streamPushExcelDto.getGbId()); streamPushItem.setGbId(streamPushExcelDto.getGbId());
streamPushItem.setStatus(false); streamPushItem.setStatus(false);
streamPushItem.setStreamType("push"); streamPushItem.setStreamType("push");
streamPushItem.setCreateStamp(System.currentTimeMillis()); streamPushItem.setCreateTime(DateUtil.getNow());
streamPushItem.setMediaServerId(defaultMediaServerId); streamPushItem.setMediaServerId(defaultMediaServerId);
streamPushItem.setName(streamPushExcelDto.getName()); streamPushItem.setName(streamPushExcelDto.getName());
streamPushItem.setOriginType(2); streamPushItem.setOriginType(2);

View File

@ -15,8 +15,8 @@ import java.util.List;
@Repository @Repository
public interface DeviceAlarmMapper { public interface DeviceAlarmMapper {
@Insert("INSERT INTO device_alarm (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}')") "VALUES ('${deviceId}', '${channelId}', '${alarmPriority}', '${alarmMethod}', '${alarmTime}', '${alarmDescription}', ${longitude}, ${latitude}, '${alarmType}', '${createTime}')")
int add(DeviceAlarm alarm); int add(DeviceAlarm alarm);

View File

@ -19,11 +19,11 @@ public interface DeviceChannelMapper {
@Insert("INSERT INTO device_channel (channelId, deviceId, name, manufacture, model, owner, civilCode, block, " + @Insert("INSERT INTO device_channel (channelId, deviceId, name, manufacture, model, owner, civilCode, block, " +
"address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " + "address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " +
"ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " + "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}'," + "VALUES ('${channelId}', '${deviceId}', '${name}', '${manufacture}', '${model}', '${owner}', '${civilCode}', '${block}'," +
"'${address}', ${parental}, '${parentId}', ${safetyWay}, ${registerWay}, '${certNum}', ${certifiable}, ${errCode}, '${secrecy}', " + "'${address}', ${parental}, '${parentId}', ${safetyWay}, ${registerWay}, '${certNum}', ${certifiable}, ${errCode}, '${secrecy}', " +
"'${ipAddress}', ${port}, '${password}', ${PTZType}, ${status}, '${streamId}', ${longitude}, ${latitude}, ${longitudeGcj02}, " + "'${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); int add(DeviceChannel channel);
@Update(value = {" <script>" + @Update(value = {" <script>" +
@ -58,6 +58,7 @@ public interface DeviceChannelMapper {
"<if test='longitudeWgs84 != null'>, longitudeWgs84=${longitudeWgs84}</if>" + "<if test='longitudeWgs84 != null'>, longitudeWgs84=${longitudeWgs84}</if>" +
"<if test='latitudeWgs84 != null'>, latitudeWgs84=${latitudeWgs84}</if>" + "<if test='latitudeWgs84 != null'>, latitudeWgs84=${latitudeWgs84}</if>" +
"<if test='businessGroupId != null'>, businessGroupId=#{businessGroupId}</if>" + "<if test='businessGroupId != null'>, businessGroupId=#{businessGroupId}</if>" +
"<if test='gpsTime != null'>, gpsTime=#{gpsTime}</if>" +
"WHERE deviceId='${deviceId}' AND channelId='${channelId}'"+ "WHERE deviceId='${deviceId}' AND channelId='${channelId}'"+
" </script>"}) " </script>"})
int update(DeviceChannel channel); int update(DeviceChannel channel);
@ -147,7 +148,7 @@ public interface DeviceChannelMapper {
"(channelId, deviceId, name, manufacture, model, owner, civilCode, block, subCount, " + "(channelId, deviceId, name, manufacture, model, owner, civilCode, block, subCount, " +
" address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " + " address, parental, parentId, safetyWay, registerWay, certNum, certifiable, errCode, secrecy, " +
" ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " + " ipAddress, port, password, PTZType, status, streamId, longitude, latitude, longitudeGcj02, latitudeGcj02, " +
" longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId) " + " longitudeWgs84, latitudeWgs84, createTime, updateTime, businessGroupId, gpsTime) " +
"values " + "values " +
"<foreach collection='addChannels' index='index' item='item' separator=','> " + "<foreach collection='addChannels' index='index' item='item' separator=','> " +
"('${item.channelId}', '${item.deviceId}', '${item.name}', '${item.manufacture}', '${item.model}', " + "('${item.channelId}', '${item.deviceId}', '${item.name}', '${item.manufacture}', '${item.model}', " +
@ -157,7 +158,7 @@ public interface DeviceChannelMapper {
"'${item.ipAddress}', ${item.port}, '${item.password}', ${item.PTZType}, ${item.status}, " + "'${item.ipAddress}', ${item.port}, '${item.password}', ${item.PTZType}, ${item.status}, " +
"'${item.streamId}', ${item.longitude}, ${item.latitude},${item.longitudeGcj02}, " + "'${item.streamId}', ${item.longitude}, ${item.latitude},${item.longitudeGcj02}, " +
"${item.latitudeGcj02},${item.longitudeWgs84}, ${item.latitudeWgs84},'${item.createTime}', '${item.updateTime}', " + "${item.latitudeGcj02},${item.longitudeWgs84}, ${item.latitudeWgs84},'${item.createTime}', '${item.updateTime}', " +
"'${item.businessGroupId}') " + "'${item.businessGroupId}', '${item.gpsTime}') " +
"</foreach> " + "</foreach> " +
"ON DUPLICATE KEY UPDATE " + "ON DUPLICATE KEY UPDATE " +
"updateTime=VALUES(updateTime), " + "updateTime=VALUES(updateTime), " +
@ -189,7 +190,8 @@ public interface DeviceChannelMapper {
"latitudeGcj02=VALUES(latitudeGcj02), " + "latitudeGcj02=VALUES(latitudeGcj02), " +
"longitudeWgs84=VALUES(longitudeWgs84), " + "longitudeWgs84=VALUES(longitudeWgs84), " +
"latitudeWgs84=VALUES(latitudeWgs84), " + "latitudeWgs84=VALUES(latitudeWgs84), " +
"businessGroupId=VALUES(businessGroupId) " + "businessGroupId=VALUES(businessGroupId), " +
"gpsTime=VALUES(gpsTime)" +
"</script>") "</script>")
int batchAdd(List<DeviceChannel> addChannels); int batchAdd(List<DeviceChannel> addChannels);
@ -228,6 +230,7 @@ public interface DeviceChannelMapper {
"<if test='item.longitudeWgs84 != null'>, longitudeWgs84=${item.longitudeWgs84}</if>" + "<if test='item.longitudeWgs84 != null'>, longitudeWgs84=${item.longitudeWgs84}</if>" +
"<if test='item.latitudeWgs84 != null'>, latitudeWgs84=${item.latitudeWgs84}</if>" + "<if test='item.latitudeWgs84 != null'>, latitudeWgs84=${item.latitudeWgs84}</if>" +
"<if test='item.businessGroupId != null'>, businessGroupId=#{item.businessGroupId}</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}'"+ "WHERE deviceId='${item.deviceId}' AND channelId='${item.channelId}'"+
"</foreach>" + "</foreach>" +
"</script>"}) "</script>"})
@ -281,10 +284,11 @@ public interface DeviceChannelMapper {
"SET " + "SET " +
"latitude=${latitude}, " + "latitude=${latitude}, " +
"longitude=${longitude}, " + "longitude=${longitude}, " +
"longitudeGcj02=${longitudeGcj02}," + "longitudeGcj02=${longitudeGcj02}, " +
"latitudeGcj02=${latitudeGcj02}," + "latitudeGcj02=${latitudeGcj02}, " +
"longitudeWgs84=${longitudeWgs84}," + "longitudeWgs84=${longitudeWgs84}, " +
"latitudeWgs84=${latitudeWgs84} " + "latitudeWgs84=${latitudeWgs84}, " +
"gpsTime='${gpsTime}' " +
"WHERE deviceId=#{deviceId} " + "WHERE deviceId=#{deviceId} " +
" <if test='channelId != null' > AND channelId=#{channelId}</if>" + " <if test='channelId != null' > AND channelId=#{channelId}</if>" +
" </script>"}) " </script>"})

View File

@ -8,8 +8,8 @@ import org.apache.ibatis.annotations.*;
@Mapper @Mapper
public interface DeviceMobilePositionMapper { public interface DeviceMobilePositionMapper {
@Insert("INSERT INTO device_mobile_position (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})") "VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84}, '${createTime}')")
int insertNewPosition(MobilePosition mobilePosition); int insertNewPosition(MobilePosition mobilePosition);
@Select(value = {" <script>" + @Select(value = {" <script>" +

View File

@ -15,10 +15,10 @@ import java.util.List;
public interface GbStreamMapper { public interface GbStreamMapper {
@Insert("REPLACE INTO gb_stream (app, stream, gbId, name, " + @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}', " + "('${app}', '${stream}', '${gbId}', '${name}', " +
"'${longitude}', '${latitude}', '${streamType}', " + "'${longitude}', '${latitude}', '${streamType}', " +
"'${mediaServerId}', ${status}, ${createStamp})") "'${mediaServerId}', ${status}, '${createTime}')")
@Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId")
int add(GbStream gbStream); int add(GbStream gbStream);
@ -120,12 +120,12 @@ public interface GbStreamMapper {
@Insert("<script> " + @Insert("<script> " +
"INSERT IGNORE into gb_stream " + "INSERT IGNORE into gb_stream " +
"(app, stream, gbId, name, " + "(app, stream, gbId, name, " +
"longitude, latitude, streamType, mediaServerId, status, createStamp)" + "longitude, latitude, streamType, mediaServerId, status, createTime)" +
"values " + "values " +
"<foreach collection='subList' index='index' item='item' separator=','> " + "<foreach collection='subList' index='index' item='item' separator=','> " +
"('${item.app}', '${item.stream}', '${item.gbId}', '${item.name}', " + "('${item.app}', '${item.stream}', '${item.gbId}', '${item.name}', " +
"'${item.longitude}', '${item.latitude}', '${item.streamType}', " + "'${item.longitude}', '${item.latitude}', '${item.streamType}', " +
"'${item.mediaServerId}', ${item.status}, ${item.createStamp}) "+ "'${item.mediaServerId}', ${item.status}, '${item.createTime}') "+
"</foreach> " + "</foreach> " +
"</script>") "</script>")
@Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId") @Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gbStreamId")

View File

@ -16,10 +16,10 @@ public interface ParentPlatformMapper {
@Insert("INSERT INTO parent_platform (enable, name, serverGBId, serverGBDomain, serverIP, serverPort, deviceGBId, deviceIp, " + @Insert("INSERT INTO parent_platform (enable, name, serverGBId, serverGBDomain, serverIP, serverPort, deviceGBId, deviceIp, " +
" devicePort, username, password, expires, keepTimeout, transport, characterSet, ptz, rtcp, " + " 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}', " + " VALUES (${enable}, '${name}', '${serverGBId}', '${serverGBDomain}', '${serverIP}', ${serverPort}, '${deviceGBId}', '${deviceIp}', " +
" '${devicePort}', '${username}', '${password}', '${expires}', '${keepTimeout}', '${transport}', '${characterSet}', ${ptz}, ${rtcp}, " + " '${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); int addParentPlatform(ParentPlatform parentPlatform);
@Update("UPDATE parent_platform " + @Update("UPDATE parent_platform " +
@ -45,6 +45,8 @@ public interface ParentPlatformMapper {
"startOfflinePush=${startOfflinePush}, " + "startOfflinePush=${startOfflinePush}, " +
"catalogGroup=#{catalogGroup}, " + "catalogGroup=#{catalogGroup}, " +
"administrativeDivision=#{administrativeDivision}, " + "administrativeDivision=#{administrativeDivision}, " +
"createTime=#{createTime}, " +
"updateTime=#{updateTime}, " +
"catalogId=#{catalogId} " + "catalogId=#{catalogId} " +
"WHERE id=#{id}") "WHERE id=#{id}")
int updateParentPlatform(ParentPlatform parentPlatform); int updateParentPlatform(ParentPlatform parentPlatform);
@ -86,10 +88,10 @@ public interface ParentPlatformMapper {
@Update(value = {" <script>" + @Update(value = {" <script>" +
"UPDATE parent_platform " + "UPDATE parent_platform " +
"SET catalogId=#{catalogId}" + "SET catalogId=#{catalogId}, updateTime=#{updateTime}" +
"WHERE serverGBId=#{platformId}"+ "WHERE serverGBId=#{platformId}"+
"</script>"}) "</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} " + @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 " + "union " +

View File

@ -714,7 +714,6 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
streamProxyItem.setStatus(true); streamProxyItem.setStatus(true);
String now = DateUtil.getNow(); String now = DateUtil.getNow();
streamProxyItem.setCreateTime(now); streamProxyItem.setCreateTime(now);
streamProxyItem.setCreateStamp(System.currentTimeMillis());
try { try {
if (streamProxyMapper.add(streamProxyItem) > 0) { if (streamProxyMapper.add(streamProxyItem) > 0) {
if (!StringUtils.isEmpty(streamProxyItem.getGbId())) { if (!StringUtils.isEmpty(streamProxyItem.getGbId())) {
@ -1009,7 +1008,7 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
@Override @Override
public int setDefaultCatalog(String platformId, String catalogId) { public int setDefaultCatalog(String platformId, String catalogId) {
return platformMapper.setDefaultCatalog(platformId, catalogId); return platformMapper.setDefaultCatalog(platformId, catalogId, DateUtil.getNow());
} }
@Override @Override
@ -1126,6 +1125,10 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
if (deviceChannel.getChannelId().equals(deviceChannel.getDeviceId())) { if (deviceChannel.getChannelId().equals(deviceChannel.getDeviceId())) {
deviceChannel.setChannelId(null); deviceChannel.setChannelId(null);
} }
if (deviceChannel.getGpsTime() == null) {
deviceChannel.setGpsTime(DateUtil.getNow());
}
deviceChannelMapper.updatePosition(deviceChannel); deviceChannelMapper.updatePosition(deviceChannel);
} }
} }

View File

@ -8,7 +8,6 @@ import oshi.hardware.NetworkIF;
import oshi.software.os.OperatingSystem; import oshi.software.os.OperatingSystem;
import oshi.util.FormatUtil; import oshi.util.FormatUtil;
import java.text.DecimalFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@ -11,6 +11,7 @@ import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage; 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.bean.WVPResult;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.UpdateChannelParam; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.UpdateChannelParam;
@ -169,6 +170,8 @@ public class PlatformController {
wvpResult.setMsg("平台 " + parentPlatform.getServerGBId() + " 已存在"); wvpResult.setMsg("平台 " + parentPlatform.getServerGBId() + " 已存在");
return new ResponseEntity<>(wvpResult, HttpStatus.OK); return new ResponseEntity<>(wvpResult, HttpStatus.OK);
} }
parentPlatform.setCreateTime(DateUtil.getNow());
parentPlatform.setUpdateTime(DateUtil.getNow());
boolean updateResult = storager.updateParentPlatform(parentPlatform); boolean updateResult = storager.updateParentPlatform(parentPlatform);
if (updateResult) { if (updateResult) {
@ -232,7 +235,7 @@ public class PlatformController {
} }
parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase()); parentPlatform.setCharacterSet(parentPlatform.getCharacterSet().toUpperCase());
ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId()); ParentPlatform parentPlatformOld = storager.queryParentPlatByServerGBId(parentPlatform.getServerGBId());
parentPlatform.setUpdateTime(DateUtil.getNow());
boolean updateResult = storager.updateParentPlatform(parentPlatform); boolean updateResult = storager.updateParentPlatform(parentPlatform);
if (updateResult) { if (updateResult) {

View File

@ -131,6 +131,9 @@ public class StreamProxyController {
public Object start(String app, String stream){ public Object start(String app, String stream){
logger.info("启用代理: " + app + "/" + stream); logger.info("启用代理: " + app + "/" + stream);
boolean result = streamProxyService.start(app, stream); boolean result = streamProxyService.start(app, stream);
if (!result) {
logger.info("启用代理失败: " + app + "/" + stream);
}
return result?"success":"fail"; return result?"success":"fail";
} }

View File

@ -87,7 +87,7 @@
<el-divider direction="vertical"></el-divider> <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-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-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-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> <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c" @click="deleteStreamProxy(scope.row)"></el-button>
</template> </template>
@ -132,7 +132,7 @@
count:15, count:15,
total:0, total:0,
getListLoading: false, getListLoading: false,
startBtnLaoding: false startBtnLoading: false
}; };
}, },
computed: { computed: {
@ -169,7 +169,10 @@
} }
}).then(function (res) { }).then(function (res) {
that.total = res.data.total; 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; that.getListLoading = false;
}).catch(function (error) { }).catch(function (error) {
console.log(error); console.log(error);
@ -263,7 +266,7 @@
start: function(row){ start: function(row){
let that = this; let that = this;
this.getListLoading = true; this.getListLoading = true;
this.startBtnLaoding = true; this.$set(row, 'startBtnLoading', true)
this.$axios({ this.$axios({
method: 'get', method: 'get',
url:`/api/proxy/start`, url:`/api/proxy/start`,
@ -273,7 +276,7 @@
} }
}).then(function (res) { }).then(function (res) {
that.getListLoading = false; that.getListLoading = false;
that.startBtnLaoding = false; that.$set(row, 'startBtnLoading', false)
if (res.data == "success"){ if (res.data == "success"){
that.initData() that.initData()
}else { }else {
@ -287,7 +290,7 @@
}).catch(function (error) { }).catch(function (error) {
console.log(error); console.log(error);
that.getListLoading = false; that.getListLoading = false;
that.startBtnLaoding = false; that.$set(row, 'startBtnLoading', false)
}); });
}, },
stop: function(row){ stop: function(row){