xiangpei
2024-09-02 c7738ff5df85e5ba0dd7fd16ca2770b950cdd8f8
ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -1,14 +1,9 @@
package com.ycl.task;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mongodb.client.result.DeleteResult;
import com.ycl.api.DH.module.LoginModule;
import com.ycl.api.DH.utils.DHApi;
import com.ycl.api.HK.HKApi;
import com.ycl.api.YS.YSApi;
import com.ycl.api.YS.YSInit;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.result.OSDResult;
import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
@@ -70,9 +65,7 @@
     */
    public void getOSD() {
        log.info("开始获取OSD");
//            YSApi.getOsd("51.95.66.42",YSUserName,YSPassword);
//        DHApi.getOsd("51.95.67.189",DHUserName,DHPassword);
//        YSApi.getOsd("51.95.66.42",YSUserName,YSPassword);
        //批量修改海康品牌集合
        List<String> hkList = new ArrayList<>();
        //批量修改大华品牌集合
@@ -95,7 +88,7 @@
            );
            List<TMonitor> monitors = monitorMapper.selectByNumbers(serialNumbers);
            monitors = monitors.stream().filter(monitor -> !StringUtils.isEmpty(monitor.getIp()) && !"127.0.0.1".equals(monitor.getIp())).collect(Collectors.toList());
            log.info("处理数据大小{}", monitors.size());
//            log.info("处理数据大小{}", monitors.size());
            for (TMonitor monitor : monitors) {
                executorService.submit(() -> {
                    if (DeviceType.HK.getType().equals(monitor.getDeviceType())) {
@@ -144,6 +137,7 @@
                //封装OsdCheckResult
                OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor);
                checkCorrect(osdResult, monitor, osdCheckResult);
                log.info("校验结果:{}",osdCheckResult);
                checkResults.add(osdCheckResult);
            }
            log.info("结果数据大小:{}", checkResults.size());
@@ -201,10 +195,17 @@
            }
        }
        //检查通道名是否正确
        //TODO:校验规则,这里暂时不比较全景和细节两字。
        if (!StringUtils.isEmpty(osdResult.getName()) && !StringUtils.isEmpty(monitor.getName())) {
            if (monitor.getName().equals(osdResult.getName())) {
            if (monitor.getName().equals(osdResult.getName()) || monitor.getName().replace("全景","细节").equals(osdResult.getName()) || monitor.getName().replace("细节","全景").equals(osdResult.getName())) {
                //OSD4和5都可能为名字、比较其中一条正确即可,正确了改为正确名字
                osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
            } else {
                osdCheckResult.setOsdName(osdResult.getName());
            }else if (monitor.getName().equals(osdResult.getName2()) || monitor.getName().replace("全景","细节").equals(osdResult.getName2()) || monitor.getName().replace("细节","全景").equals(osdResult.getName2())) {
                //OSD4和5都可能为名字、比较其中一条正确即可,正确了改为正确名字
                osdCheckResult.setOsdName(osdResult.getName2());
                osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
            }else {
                osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Error);
            }
        }