fuliqi
2024-10-23 d74864fb938883b9c2b69abaf8b3ff740f03d930
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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<TMonitor>
{
    /**
     * 查询设备资产
     *
     * @param id 设备资产主键
     * @return 设备资产
     */
    public TMonitor selectTMonitorById(Long id);
 
    /**
     * 查询设备资产列表
     *
     * @param tMonitor 设备资产
     * @return 设备资产集合
     */
    public List<TMonitorVO> 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<String, String> getVideoCount(TMonitorVO tMonitor);
 
    /**
     * 获取异常恢复视频设备统计数
     * @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;
}