fuliqi
2024-08-19 9a4549c0c2dbe44c9568fe56fb4df8d6fbb44d4f
ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
@@ -13,6 +13,7 @@
import com.ycl.platform.service.ICheckIndexVideoService;
import com.ycl.platform.service.ITMonitorService;
import constant.ApiConstants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@@ -34,6 +35,7 @@
 * 更新或新增
 */
@Component
@Slf4j
public class VideoOnlineCalculation extends IndexCalculationServe implements CalculationStrategy<VideoOnlineResult> {
    @Autowired
    private CheckIndexVideoMapper checkIndexVideoMapper;
@@ -55,6 +57,7 @@
    @Override
    public void calculate(List<VideoOnlineResult> list) {
        if (CollectionUtils.isEmpty(list)) {
            log.info("数据为空");
            return;
        }
@@ -139,17 +142,25 @@
        BigDecimal siteOnline = siteOnline(param);
        checkIndexVideo.setSiteOnline(siteOnline);
        //调用点位在线率计算方法 计算重点点位在线率
        Map<String, Object> importantParam = new HashMap<>();
        param.put("totalSites", stats.importantSites);
        param.put("onlineSites", stats.importantOnlineSites);
        BigDecimal importantSiteOnline = siteOnline(importantParam);
        checkIndexVideo.setKeySiteOnline(importantSiteOnline);
        if(stats.importantSites!=0) {
            Map<String, Object> importantParam = new HashMap<>();
            importantParam.put("totalSites", stats.importantSites);
            importantParam.put("onlineSites", stats.importantOnlineSites);
            BigDecimal importantSiteOnline = siteOnline(importantParam);
            checkIndexVideo.setKeySiteOnline(importantSiteOnline);
        }else {
            log.info("重点点位数为0");
        }
        //调用点位在线率计算方法 计算指挥图像在线率
        Map<String, Object> commandParam = new HashMap<>();
        param.put("totalSites", stats.commandSites);
        param.put("onlineSites", stats.commandOnlineSites);
        BigDecimal commandSiteOnline = siteOnline(importantParam);
        checkIndexVideo.setKeyCommandImageOnline(commandSiteOnline);
        if(stats.commandSites!=0) {
            Map<String, Object> commandParam = new HashMap<>();
            commandParam.put("totalSites", stats.commandSites);
            commandParam.put("onlineSites", stats.commandOnlineSites);
            BigDecimal commandSiteOnline = siteOnline(commandParam);
            checkIndexVideo.setKeyCommandImageOnline(commandSiteOnline);
        }else {
            log.info("指挥图像点位数为0");
        }
        return checkIndexVideo;
    }
}