From 842f40df34de7405567469c8454dd5d3011358fa Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 16 二月 2023 14:01:09 +0800
Subject: [PATCH] 修复更新通道是更新各个坐标系的位置信息
---
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java | 32 ++++++++++++++++++++------------
1 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
index ab406d3..e5f4227 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
@@ -1,7 +1,7 @@
package com.genersoft.iot.vmp.web.gb28181;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.service.IDeviceService;
@@ -10,8 +10,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
+import java.util.Arrays;
import java.util.List;
/**
@@ -40,7 +42,7 @@
// private DeviceOffLineDetector offLineDetector;
/**
- * 鍒嗛〉鑾峰彇璁惧鍒楄〃 TODO 鐜板湪鐩存帴杩斿洖锛屽皻鏈疄鐜板垎椤�
+ * 鍒嗛〉鑾峰彇璁惧鍒楄〃 鐜板湪鐩存帴杩斿洖锛屽皻鏈疄鐜板垎椤�
* @param start
* @param limit
* @param q
@@ -59,10 +61,10 @@
JSONObject result = new JSONObject();
List<Device> devices;
if (start == null || limit ==null) {
- devices = storager.queryVideoDeviceList();
+ devices = storager.queryVideoDeviceList(online);
result.put("DeviceCount", devices.size());
}else {
- PageInfo<Device> deviceList = storager.queryVideoDeviceList(start/limit, limit);
+ PageInfo<Device> deviceList = storager.queryVideoDeviceList(start/limit, limit,online);
result.put("DeviceCount", deviceList.getTotal());
devices = deviceList.getList();
}
@@ -94,6 +96,7 @@
@RequestMapping(value = "/channellist")
public JSONObject channellist( String serial,
+ @RequestParam(required = false)String code,
@RequestParam(required = false)String channel_type,
@RequestParam(required = false)String dir_serial ,
@RequestParam(required = false)Integer start,
@@ -113,12 +116,17 @@
return result;
}
List<DeviceChannel> deviceChannels;
- List<DeviceChannel> allDeviceChannelList = storager.queryChannelsByDeviceId(serial);
+ List<String> channelIds = null;
+ if (!StringUtils.isEmpty(code)) {
+ String[] split = code.trim().split(",");
+ channelIds = Arrays.asList(split);
+ }
+ List<DeviceChannel> allDeviceChannelList = storager.queryChannelsByDeviceId(serial,online,channelIds);
if (start == null || limit ==null) {
deviceChannels = allDeviceChannelList;
result.put("ChannelCount", deviceChannels.size());
}else {
- deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial, null, null, null,start, limit);
+ deviceChannels = storager.queryChannelsByDeviceIdWithStartAndLimit(serial, null, null, online,start, limit,channelIds);
int total = allDeviceChannelList.size();
result.put("ChannelCount", total);
}
@@ -130,11 +138,11 @@
deviceJOSNChannel.put("DeviceID", device.getDeviceId());
deviceJOSNChannel.put("DeviceName", device.getName());
deviceJOSNChannel.put("DeviceOnline", device.getOnline() == 1);
- deviceJOSNChannel.put("Channel", 0); // TODO 鑷畾涔夊簭鍙�
+ deviceJOSNChannel.put("Channel", 0); // 鑷畾涔夊簭鍙�
deviceJOSNChannel.put("Name", deviceChannel.getName());
deviceJOSNChannel.put("Custom", false);
deviceJOSNChannel.put("CustomName", "");
- deviceJOSNChannel.put("SubCount", deviceChannel.getSubCount()); // TODO ? 瀛愯妭鐐规暟, SubCount > 0 琛ㄧず璇ラ�氶亾涓哄瓙鐩綍
+ deviceJOSNChannel.put("SubCount", deviceChannel.getSubCount()); // 瀛愯妭鐐规暟, SubCount > 0 琛ㄧず璇ラ�氶亾涓哄瓙鐩綍
deviceJOSNChannel.put("SnapURL", "");
deviceJOSNChannel.put("Manufacturer ", deviceChannel.getManufacture());
deviceJOSNChannel.put("Model", deviceChannel.getModel());
@@ -148,9 +156,9 @@
// 1-IETF RFC3261,
// 2-鍩轰簬鍙d护鐨勫弻鍚戣璇�,
// 3-鍩轰簬鏁板瓧璇佷功鐨勫弻鍚戣璇�
- deviceJOSNChannel.put("Status", deviceChannel.getStatus());
- deviceJOSNChannel.put("Longitude", deviceChannel.getLongitudeWgs84());
- deviceJOSNChannel.put("Latitude", deviceChannel.getLatitudeWgs84());
+ deviceJOSNChannel.put("Status", deviceChannel.getStatus() == 1 ? "ON":"OFF");
+ deviceJOSNChannel.put("Longitude", deviceChannel.getLongitude());
+ deviceJOSNChannel.put("Latitude", deviceChannel.getLatitude());
deviceJOSNChannel.put("PTZType ", deviceChannel.getPTZType()); // 浜戝彴绫诲瀷, 0 - 鏈煡, 1 - 鐞冩満, 2 - 鍗婄悆,
// 3 - 鍥哄畾鏋満, 4 - 閬ユ帶鏋満
deviceJOSNChannel.put("CustomPTZType", "");
--
Gitblit v1.8.0