2021-11-05 18:33:53 +08:00
|
|
|
package com.genersoft.iot.vmp.service;
|
|
|
|
|
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
2022-07-03 07:40:54 +08:00
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
|
2022-04-12 21:06:21 +08:00
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
|
2022-07-03 07:40:54 +08:00
|
|
|
import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
|
2021-11-05 18:33:53 +08:00
|
|
|
|
2022-05-11 18:37:24 +08:00
|
|
|
import java.util.List;
|
|
|
|
|
2021-11-05 18:33:53 +08:00
|
|
|
/**
|
|
|
|
* 设备相关业务处理
|
2022-05-11 18:37:24 +08:00
|
|
|
* @author lin
|
2021-11-05 18:33:53 +08:00
|
|
|
*/
|
|
|
|
public interface IDeviceService {
|
|
|
|
|
2022-05-11 18:37:24 +08:00
|
|
|
/**
|
|
|
|
* 设备上线
|
|
|
|
* @param device 设备信息
|
|
|
|
*/
|
|
|
|
void online(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 设备下线
|
|
|
|
* @param deviceId 设备编号
|
|
|
|
*/
|
|
|
|
void offline(String deviceId);
|
|
|
|
|
2021-11-05 18:33:53 +08:00
|
|
|
/**
|
|
|
|
* 添加目录订阅
|
|
|
|
* @param device 设备信息
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 布尔
|
2021-11-05 18:33:53 +08:00
|
|
|
*/
|
|
|
|
boolean addCatalogSubscribe(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 移除目录订阅
|
|
|
|
* @param device 设备信息
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 布尔
|
2021-11-05 18:33:53 +08:00
|
|
|
*/
|
|
|
|
boolean removeCatalogSubscribe(Device device);
|
|
|
|
|
2022-04-01 16:45:29 +08:00
|
|
|
/**
|
|
|
|
* 添加移动位置订阅
|
|
|
|
* @param device 设备信息
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 布尔
|
2022-04-01 16:45:29 +08:00
|
|
|
*/
|
|
|
|
boolean addMobilePositionSubscribe(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 移除移动位置订阅
|
|
|
|
* @param device 设备信息
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 布尔
|
2022-04-01 16:45:29 +08:00
|
|
|
*/
|
|
|
|
boolean removeMobilePositionSubscribe(Device device);
|
2022-04-12 21:06:21 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 移除移动位置订阅
|
|
|
|
* @param deviceId 设备ID
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 同步状态
|
2022-04-12 21:06:21 +08:00
|
|
|
*/
|
|
|
|
SyncStatus getChannelSyncStatus(String deviceId);
|
|
|
|
|
2022-04-18 12:55:54 +08:00
|
|
|
/**
|
|
|
|
* 查看是否仍在同步
|
|
|
|
* @param deviceId 设备ID
|
2022-05-11 18:37:24 +08:00
|
|
|
* @return 布尔
|
2022-04-18 12:55:54 +08:00
|
|
|
*/
|
|
|
|
Boolean isSyncRunning(String deviceId);
|
|
|
|
|
2022-04-12 21:06:21 +08:00
|
|
|
/**
|
2022-04-17 19:48:05 +08:00
|
|
|
* 通道同步
|
2022-05-11 18:37:24 +08:00
|
|
|
* @param device 设备信息
|
2022-04-12 21:06:21 +08:00
|
|
|
*/
|
2022-04-17 19:48:05 +08:00
|
|
|
void sync(Device device);
|
2022-05-11 18:37:24 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询设备信息
|
|
|
|
* @param deviceId 设备编号
|
|
|
|
* @return 设备信息
|
|
|
|
*/
|
2022-10-18 17:02:05 +08:00
|
|
|
Device getDevice(String deviceId);
|
2022-05-11 18:37:24 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取所有在线设备
|
|
|
|
* @return 设备列表
|
|
|
|
*/
|
|
|
|
List<Device> getAllOnlineDevice();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 判断是否注册已经失效
|
|
|
|
* @param device 设备信息
|
|
|
|
* @return 布尔
|
|
|
|
*/
|
|
|
|
boolean expire(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 检查设备状态
|
|
|
|
* @param device 设备信息
|
|
|
|
*/
|
|
|
|
void checkDeviceStatus(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据IP和端口获取设备信息
|
|
|
|
* @param host IP
|
|
|
|
* @param port 端口
|
|
|
|
* @return 设备信息
|
|
|
|
*/
|
|
|
|
Device getDeviceByHostAndPort(String host, int port);
|
2022-05-12 10:48:50 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 更新设备
|
|
|
|
* @param device 设备信息
|
|
|
|
*/
|
|
|
|
void updateDevice(Device device);
|
2022-07-03 07:40:54 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 树形查询接口
|
|
|
|
* @param deviceId 设备ID
|
|
|
|
* @param parentId 父ID
|
|
|
|
* @param onlyCatalog 只获取目录
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
List<BaseTree<DeviceChannel>> queryVideoDeviceTree(String deviceId, String parentId, boolean onlyCatalog);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询树节点下的通道
|
|
|
|
* @param deviceId 设备ID
|
|
|
|
* @param parentId 父ID
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
List<DeviceChannel> queryVideoDeviceInTreeNode(String deviceId, String parentId);
|
2022-10-18 17:02:05 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 检查设备编号是否已经存在
|
|
|
|
* @param deviceId 设备编号
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean isExist(String deviceId);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 添加设备
|
|
|
|
* @param device
|
|
|
|
*/
|
|
|
|
void addDevice(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 页面表单更新设备信息
|
|
|
|
* @param device
|
|
|
|
*/
|
|
|
|
void updateCustomDevice(Device device);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 删除设备
|
|
|
|
* @param deviceId
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean delete(String deviceId);
|
2021-11-05 18:33:53 +08:00
|
|
|
}
|