package com.ruoyi.device.camera.service; import java.util.List; import java.util.Map; import java.util.TreeMap; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.domain.DeptAndCamerasDto; import com.ruoyi.scheduling.domian.SchedulingParam; /** * 相机设备Service接口 * * @author 刘苏义 * @date 2023-02-11 */ public interface IArdCamerasService { /** * 查询相机设备 * * @param id 相机设备主键 * @return 相机设备 */ public ArdCameras selectArdCamerasById(String id); /** * 查询相机设备列表 * * @param ardCameras 相机设备 * @return 相机设备集合 */ public List selectArdCamerasList(ArdCameras ardCameras); /** * 查询相机设备列表-不进行数据过滤 * * @param ardCameras 相机设备 * @return 相机设备集合 */ public List selectArdCamerasListNoDataScope(ArdCameras ardCameras); /** * 新增相机设备 * * @param ardCameras 相机设备 * @return 结果 */ public int insertArdCameras(ArdCameras ardCameras); /** * 修改相机设备 * * @param ardCameras 相机设备 * @return 结果 */ public int updateArdCameras(ArdCameras ardCameras); /** * 批量删除相机设备 * * @param ids 需要删除的相机设备主键集合 * @return 结果 */ public int deleteArdCamerasByIds(String[] ids); /** * 删除相机设备信息 * * @param id 相机设备主键 * @return 结果 */ public int deleteArdCamerasById(String id); /** * 导入相机设备信息 * * @param ardCamerasList 相机设备数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 操作用户 * @return 结果 */ public String importCameras(List ardCamerasList, Boolean isUpdateSupport, String operName); /** * 校验相机是否允许操作 * * @param ardCameras 相机信息 */ public void checkCameraAllowed(ArdCameras ardCameras); /** * 校验用户是否有数据权限 * * @param userId 用户id */ public void checkCameraDataScope(String userId); public List findOptions(ArdCameras ardCameras); /** * @描述 获取本部门以下的所有相机和部门 * @参数 [disabled] 复选框状态 * @返回值 java.util.Map * @创建人 刘苏义 * @创建时间 2023/6/2 10:58 * @修改人和其它信息 */ public Map getChildDeptAndCamera(Boolean disabled); public List> getChildDeptAndCameraOwn(Boolean disabled); public List getChildDeptAndCamera(); public TreeMap getNearCamerasBycoordinate(CameraCmd cmd); /** * 获取监控圈内所有在线光电(半径) * 刘苏义 * 2023/8/17 13:56:36 */ List getNearCameras(SchedulingParam param); /** * 获取监控圈内所有在线光电(多边形) * 刘苏义 * 2023/8/17 13:56:36 */ public List getNearCamerasWithPolygon(SchedulingParam param); /** * 校验相机是否唯一 * * @param camera 相机 * @return 结果 */ public String checkCameraIpAndPortUnique(ArdCameras camera); public List> getCamerasByDeptId(Long deptId,String userId); public Boolean getCameraOperationByCameraId(String id,String userId); public Map getChannelByCameraId(String id); }