fuliqi
2024-09-03 3b6935b9eda0e267253280d1ebc78fc2d0e00728
ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -66,12 +66,6 @@
     */
    public void getOSD() {
        log.info("开始获取OSD");
        //批量修改海康品牌集合
        List<String> hkList = new ArrayList<>();
        //批量修改大华品牌集合
        List<String> dhList = new ArrayList<>();
        //批量修改宇视品牌集合
        List<String> ysList = new ArrayList<>();
        List<OSDResult> osdResultList = new ArrayList<>();
        //查一机一档monitor
        Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
@@ -114,7 +108,7 @@
                        }
                    }
                    //未知品牌或者api调用失败,挨个执行所有api
                    OSDResult osd = tryAllApi(monitor, hkList, dhList, ysList);
                    OSDResult osd = tryAllApi(monitor);
                    if (osd != null) {
                        synchronized (osdResultList) {
                            osdResultList.add(osd);
@@ -158,16 +152,6 @@
                // 工单生成
                uyErrorTypeCheckService.osdCheck(checkResults);
            }
            //修改数据库品牌
            if (!CollectionUtils.isEmpty(hkList)) {
                monitorMapper.batchUpdateDeviceType(hkList, DeviceType.HK.getType());
            }
            if (!CollectionUtils.isEmpty(dhList)) {
                monitorMapper.batchUpdateDeviceType(dhList, DeviceType.DH.getType());
            }
            if (!CollectionUtils.isEmpty(ysList)) {
                monitorMapper.batchUpdateDeviceType(ysList, DeviceType.YS.getType());
            }
        }
        log.info("结束获取OSD");
    }
@@ -184,6 +168,7 @@
        osdCheckResult.setOsdPart(osdResult.getOSD3());
        osdCheckResult.setOsdLB(osdResult.getOSD4());
        osdCheckResult.setOsdName(osdResult.getName());
        osdCheckResult.setDeviceBrand(osdResult.getDeviceBrand());
        return osdCheckResult;
    }
@@ -248,15 +233,12 @@
        }
    }
    private OSDResult tryAllApi(TMonitor monitor, List<String> hkList, List<String> dhList, List<String> ysList) {
    private OSDResult tryAllApi(TMonitor monitor) {
        //尝试海康的api
        OSDResult hkosd = HKApi.getOsdByIP(monitor.getIp(), HKUserName, HKPassword);
        if (hkosd != null) {
            hkosd.setSerialNumber(monitor.getSerialNumber());
            log.info("海康调用成功" + hkosd);
            synchronized (hkList) {
                hkList.add(monitor.getSerialNumber());
            }
            return hkosd;
        }
        //尝试大华的api
@@ -264,9 +246,6 @@
        if (dhosd != null) {
            dhosd.setSerialNumber(monitor.getSerialNumber());
            log.info("大华调用成功" + dhosd);
            synchronized (dhList) {
                dhList.add(monitor.getSerialNumber());
            }
            return dhosd;
        }
        //宇视api
@@ -274,9 +253,6 @@
        if (ysosd != null) {
            ysosd.setSerialNumber(monitor.getSerialNumber());
            log.info("宇视调用成功" + ysosd);
            synchronized (ysList) {
                ysList.add(monitor.getSerialNumber());
            }
            return ysosd;
        }
        return null;