package com.ycl.platform.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.form.VideoExportForm; import com.ycl.platform.domain.query.DashboardQuery; import com.ycl.platform.domain.query.DataCenterQuery; import com.ycl.platform.domain.query.HomeQuery; import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.platform.domain.vo.screen.MonitorRateVO; import com.ycl.platform.domain.vo.screen.MonitorTotalVO; import com.ycl.system.Result; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.text.ParseException; import java.util.List; import java.util.Map; /** * 设备资产Service接口 * * @author ruoyi * @date 2024-03-04 */ public interface ITMonitorService extends IService { /** * 查询设备资产 * * @param id 设备资产主键 * @return 设备资产 */ public TMonitor selectTMonitorById(Long id); /** * 查询设备资产列表 * * @param tMonitor 设备资产 * @return 设备资产集合 */ public List selectTMonitorList(TMonitorVO tMonitor); /** * 新增设备资产 * * @param tMonitor 设备资产 * @return 结果 */ public int insertTMonitor(TMonitor tMonitor); /** * 修改设备资产 * * @param tMonitor 设备资产 * @return 结果 */ public int updateTMonitor(TMonitor tMonitor); /** * 批量删除设备资产 * * @param ids 需要删除的设备资产主键集合 * @return 结果 */ public int deleteTMonitorByIds(Long[] ids); /** * 删除设备资产信息 * * @param id 设备资产主键 * @return 结果 */ public int deleteTMonitorById(Long id); /** * 获取指定摄像头功能类型下的视频数量。 * * @param tMonitor 条件 * @return 返回一个包含视频数量的Map对象,其中key为统计指标,value为对应功能类型下的统计数量。 */ Map getVideoCount(TMonitorVO tMonitor); /** * 获取异常恢复视频设备统计数 * @return 数据 */ Map recoveryException(TMonitorVO monitor); /** * 获取首页设备折线图 * @param monitorQuery 查询条件 * @return 数据 */ Map home(HomeQuery monitorQuery); /** * 大屏设备数据 * @param dashboardQuery 查询条件 * @return 数据 */ Map>> monitorTotal(DashboardQuery dashboardQuery); /** * 大屏设备正常率 * @return 数据 */ List monitorRate(DashboardQuery dashboardQuery); /** * 资产管理 * @param query * @return */ Result assetManagement(DataCenterQuery query); void exportVideoTotal(HttpServletResponse response, VideoExportForm exportForm) throws IOException; void exportVideoOnline(HttpServletResponse response, VideoExportForm exportForm) throws IOException, NoSuchFieldException, IllegalAccessException; void exportVideoRecord(HttpServletResponse response, VideoExportForm exportForm) throws IOException, NoSuchFieldException, IllegalAccessException; void exportVideoLoseTime(HttpServletResponse response, VideoExportForm exportForm) throws NoSuchFieldException, IllegalAccessException, IOException; Map faceHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException; Map carHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException; Map videoHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException; void export(HttpServletResponse response, TMonitorVO tMonitor); Result clearMonitor(); Result assetManagementCount(DataCenterQuery query); }