wvp-gb28181-project/src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java

159 lines
3.3 KiB
Java
Raw Normal View History

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);
/**
* 添加移动位置订阅
* @param device 设备信息
2022-05-11 18:37:24 +08:00
* @return 布尔
*/
boolean addMobilePositionSubscribe(Device device);
/**
* 移除移动位置订阅
* @param device 设备信息
2022-05-11 18:37:24 +08:00
* @return 布尔
*/
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);
/**
* 查看是否仍在同步
* @param deviceId 设备ID
2022-05-11 18:37:24 +08:00
* @return 布尔
*/
Boolean isSyncRunning(String deviceId);
2022-04-12 21:06:21 +08:00
/**
* 通道同步
2022-05-11 18:37:24 +08:00
* @param device 设备信息
2022-04-12 21:06:21 +08:00
*/
void sync(Device device);
2022-05-11 18:37:24 +08:00
/**
* 查询设备信息
* @param deviceId 设备编号
* @return 设备信息
*/
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);
/**
* 检查设备编号是否已经存在
* @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
}