zxl
2025-05-29 71f61d13531b3e2a0099ba5afe3f268c99c5bacf
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.impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.entity.CheckIndexVideo;
import com.ycl.platform.domain.query.DashboardQuery;
import com.ycl.platform.domain.query.DataCenterQuery;
import com.ycl.platform.mapper.CheckIndexVideoMapper;
import com.ycl.platform.service.DataCenterService;
import com.ycl.platform.service.ICheckIndexVideoService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import utils.DateUtils;
 
import java.util.Date;
import java.util.List;
 
/**
 * 视频指标概率数据Service业务层处理
 *
 * @author ruoyi
 * @date 2024-04-29
 */
@Service
@RequiredArgsConstructor
public class CheckIndexVideoServiceImpl extends ServiceImpl<CheckIndexVideoMapper, CheckIndexVideo> implements ICheckIndexVideoService
{
    @Autowired
    private CheckIndexVideoMapper checkIndexVideoMapper;
 
    /**
     * 查询视频指标概率数据
     *
     * @param id 视频指标概率数据主键
     * @return 视频指标概率数据
     */
    @Override
    public CheckIndexVideo selectCheckIndexVideoById(Long id)
    {
        return checkIndexVideoMapper.selectCheckIndexVideoById(id);
    }
 
    /**
     * 查询视频指标概率数据列表
     *
     * @param checkIndexVideo 视频指标概率数据
     * @return 视频指标概率数据
     */
    @Override
    public List<CheckIndexVideo> selectCheckIndexVideoList(CheckIndexVideo checkIndexVideo)
    {
        return checkIndexVideoMapper.selectCheckIndexVideoList(checkIndexVideo);
    }
 
    /**
     * 新增视频指标概率数据
     *
     * @param checkIndexVideo 视频指标概率数据
     * @return 结果
     */
    @Override
    public int insertCheckIndexVideo(CheckIndexVideo checkIndexVideo)
    {
        checkIndexVideo.setCreateTime(DateUtils.getNowDate());
        return checkIndexVideoMapper.insertCheckIndexVideo(checkIndexVideo);
    }
 
    /**
     * 修改视频指标概率数据
     *
     * @param checkIndexVideo 视频指标概率数据
     * @return 结果
     */
    @Override
    public int updateCheckIndexVideo(CheckIndexVideo checkIndexVideo)
    {
        return checkIndexVideoMapper.updateCheckIndexVideo(checkIndexVideo);
    }
 
    /**
     * 批量删除视频指标概率数据
     *
     * @param ids 需要删除的视频指标概率数据主键
     * @return 结果
     */
    @Override
    public int deleteCheckIndexVideoByIds(Long[] ids)
    {
        return checkIndexVideoMapper.deleteCheckIndexVideoByIds(ids);
    }
 
    /**
     * 删除视频指标概率数据信息
     *
     * @param id 视频指标概率数据主键
     * @return 结果
     */
    @Override
    public int deleteCheckIndexVideoById(Long id)
    {
        return checkIndexVideoMapper.deleteCheckIndexVideoById(id);
    }
 
    public final DataCenterService dataCenterService;
    @Override
    public CheckIndexVideo dashboard(DashboardQuery dashboardQuery) {
        //修改 录像可用率 和 点位在线率在今天
        if(dashboardQuery.getDeptId() == null){
            DataCenterQuery dataCenterQuery = new DataCenterQuery();
            dataCenterQuery.setDate(new Date());
            dataCenterQuery.setTime();
            //区县 2  省厅 1  公安部3
            if(dashboardQuery.getDataScope() == 2){
                dataCenterQuery.setDataType(0);
            }else if(dashboardQuery.getDataScope() == 1){
                dataCenterQuery.setDataType(1);
            }else if(dashboardQuery.getDataScope() == 3){
                dataCenterQuery.setDataType(2);
            }
            //全部0 省厅1 公安部2
 
            CheckIndexVideo checkIndexVideo = checkIndexVideoMapper.dashboard(dashboardQuery);
            checkIndexVideo.setSiteOnline(dataCenterService.videoPointOnlineRateCount(dataCenterQuery));
 
            checkIndexVideo.setVideoAvailable(dataCenterService.videoAvailabilityRateCount(dataCenterQuery));
            return  checkIndexVideo;
 
        }
        return checkIndexVideoMapper.dashboard(dashboardQuery);
    }
}