zxl
2025-05-12 49067588d021a8dce13d9857c4a032daaa68f646
ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
@@ -1,8 +1,20 @@
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;
@@ -12,7 +24,7 @@
 * @author ruoyi
 * @date 2024-03-04
 */
public interface ITMonitorService
public interface ITMonitorService extends IService<TMonitor>
{
    /**
     * 查询设备资产
@@ -28,7 +40,7 @@
     * @param tMonitor 设备资产
     * @return 设备资产集合
     */
    public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor);
    public List<TMonitorVO> selectTMonitorList(TMonitorVO tMonitor);
    /**
     * 新增设备资产
@@ -65,10 +77,61 @@
    /**
     * 获取指定摄像头功能类型下的视频数量。
     *
     * @param cameraFunType 摄像头功能类型,用于筛选视频。
     * @param tMonitor 条件
     * @return 返回一个包含视频数量的Map对象,其中key为统计指标,value为对应功能类型下的统计数量。
     */
    Map<String, String> getVideoCount(TMonitor tMonitor);
    Map<String, String> getVideoCount(TMonitorVO tMonitor);
    Map<String, String> recoveryException();
    /**
     * 获取异常恢复视频设备统计数
     * @return 数据
     */
    Map<String, String> recoveryException(TMonitorVO monitor);
    /**
     * 获取首页设备折线图
     * @param monitorQuery 查询条件
     * @return 数据
     */
    Map<String, Object> home(HomeQuery monitorQuery);
    /**
     * 大屏设备数据
     * @param dashboardQuery 查询条件
     * @return 数据
     */
    Map<String, List<Map<String, Object>>> monitorTotal(DashboardQuery dashboardQuery);
    /**
     * 大屏设备正常率
     * @return 数据
     */
    List<MonitorRateVO> 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<String, Object> faceHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
    Map<String, Object> carHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
    Map<String, Object> videoHome(HomeQuery monitorQuery) throws ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException;
    void export(HttpServletResponse response, TMonitorVO tMonitor);
    Result clearMonitor();
    Result assetManagementCount(DataCenterQuery query);
}