From 0b6b72ae4415afd79aaad53473bd5ce67c3bd788 Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期一, 25 四月 2022 17:13:22 +0800
Subject: [PATCH] 多级虚拟组织处理修复
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java | 82 +++++++++++++++++++++++++++++++++++++---
1 files changed, 75 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java
index b1b62b1..e785856 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java
@@ -1,8 +1,14 @@
package com.genersoft.iot.vmp.vmanager.gb28181.alarm;
+import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+import com.genersoft.iot.vmp.gb28181.bean.SubscribeInfo;
+import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
+import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
import com.genersoft.iot.vmp.service.IGbStreamService;
+import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
@@ -31,7 +37,17 @@
@Autowired
private IDeviceAlarmService deviceAlarmService;
+ @Autowired
+ private ISIPCommander commander;
+
+ @Autowired
+ private ISIPCommanderForPlatform commanderForPlatform;
+
+ @Autowired
+ private IVideoManagerStorage storage;
+
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ private SimpleDateFormat formatForGB = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
/**
* 鍒嗛〉鏌ヨ鎶ヨ
@@ -60,7 +76,8 @@
@ApiImplicitParam(name="endTime", value = "鏌ヨ鍐呭" ,dataTypeClass = String.class),
})
public ResponseEntity<PageInfo<DeviceAlarm>> getAll(
- int page, int count,
+ @RequestParam int page,
+ @RequestParam int count,
@RequestParam(required = false) String deviceId,
@RequestParam(required = false) String alarmPriority,
@RequestParam(required = false) String alarmMethod,
@@ -76,8 +93,8 @@
try {
- format.parse(startTime);
- format.parse(endTime);
+ if (startTime != null) format.parse(startTime);
+ if (endTime != null) format.parse(endTime);
} catch (ParseException e) {
return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
}
@@ -96,7 +113,7 @@
* @param time 缁撴潫鏃堕棿(杩欎釜鏃堕棿涔嬪墠鐨勬姤璀︿細琚垹闄�)
* @return
*/
- @ApiOperation("鍒嗛〉鏌ヨ鎶ヨ")
+ @ApiOperation("鍒犻櫎鎶ヨ")
@DeleteMapping("/delete")
@ApiImplicitParams({
@ApiImplicitParam(name="id", value = "ID", required = false ,dataTypeClass = Integer.class),
@@ -118,9 +135,60 @@
} catch (ParseException e) {
return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
}
- String[] deviceIdArray = deviceIds.split(",");
- List<String> deviceIdList = Arrays.asList(deviceIdArray);
- deviceAlarmService.clearAlarmBeforeTime(id, deviceIdList, time);
+ List<String> deviceIdList = null;
+ if (deviceIds != null) {
+ String[] deviceIdArray = deviceIds.split(",");
+ deviceIdList = Arrays.asList(deviceIdArray);
+ }
+
+ int count = deviceAlarmService.clearAlarmBeforeTime(id, deviceIdList, time);
+ WVPResult wvpResult = new WVPResult();
+ wvpResult.setCode(0);
+ wvpResult.setMsg("success");
+ wvpResult.setData(count);
+ return new ResponseEntity<WVPResult<String>>(wvpResult, HttpStatus.OK);
+ }
+
+ /**
+ * 娴嬭瘯鍚戜笂绾�/璁惧鍙戦�佹ā鎷熸姤璀﹂�氱煡
+ *
+ * @param deviceId 鎶ヨid
+ * @return
+ */
+ @ApiOperation("娴嬭瘯鍚戜笂绾�/璁惧鍙戦�佹ā鎷熸姤璀﹂�氱煡")
+ @GetMapping("/test/notify/alarm")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name="deviceId", value = "deviceId", required = true ,dataTypeClass = Integer.class)
+ })
+ public ResponseEntity<WVPResult<String>> delete(
+ @RequestParam(required = false) String deviceId
+ ) {
+ if (StringUtils.isEmpty(deviceId)) {
+ return new ResponseEntity<>(HttpStatus.NOT_FOUND);
+ }
+ Device device = storage.queryVideoDevice(deviceId);
+ ParentPlatform platform = storage.queryParentPlatByServerGBId(deviceId);
+ DeviceAlarm deviceAlarm = new DeviceAlarm();
+ deviceAlarm.setChannelId(deviceId);
+ deviceAlarm.setAlarmDescription("test");
+ deviceAlarm.setAlarmMethod("1");
+ deviceAlarm.setAlarmPriority("1");
+ deviceAlarm.setAlarmTime(formatForGB.format(System.currentTimeMillis()));
+ deviceAlarm.setAlarmType("1");
+ deviceAlarm.setLongitude(115.33333);
+ deviceAlarm.setLatitude(39.33333);
+
+ if (device != null && platform == null) {
+ commander.sendAlarmMessage(device, deviceAlarm);
+ }else if (device == null && platform != null){
+ commanderForPlatform.sendAlarmMessage(platform, deviceAlarm);
+ }else {
+ WVPResult wvpResult = new WVPResult();
+ wvpResult.setCode(0);
+ wvpResult.setMsg("鏃犳硶纭畾" + deviceId + "鏄钩鍙拌繕鏄澶�");
+ return new ResponseEntity<WVPResult<String>>(wvpResult, HttpStatus.OK);
+ }
+
WVPResult wvpResult = new WVPResult();
wvpResult.setCode(0);
wvpResult.setMsg("success");
--
Gitblit v1.8.0