| | |
| | | * 比对mongoDB一机一档信息,整理成result存入mongo |
| | | * 同步品牌到mysql |
| | | */ |
| | | //TODO:大华动态库linux换位置 |
| | | public void getOSD() throws ExecutionException, InterruptedException { |
| | | log.info("开始获取OSD"); |
| | | // //海康设备测试 |
| | | // //全景 |
| | | // OSDResult osd1 = HKApi.getOsdByIP("51031140001320359101","51.95.99.112", HKUserName, HKPassword); |
| | | // log.info("海康全景:{}",osd1); |
| | | // //细节 |
| | | // OSDResult osd2 = HKApi.getOsdByIP("51031140001321359101","51.95.99.112", HKUserName, HKPassword); |
| | | // log.info("海康细节:{}",osd2); |
| | | // //大华设备测试 |
| | | // OSDResult osd3 = DHApi.getOsd("51030244001320120201","51.95.4.3", DHUserName, DHPassword); |
| | | // log.info("大华全景:{}",osd3); |
| | | // OSDResult osd4 = DHApi.getOsd("51030244001321120201","51.95.4.3", DHUserName, DHPassword); |
| | | // log.info("大华细节:{}",osd4); |
| | | //查一机一档monitor |
| | | Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); |
| | | List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class); |
| | |
| | | List<OsdCheckResult> checkResults = new ArrayList<>(); |
| | | Map<String, TMonitor> monitorMap = monitors.stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity())); |
| | | for (OSDResult osdResult : osdResultList) { |
| | | TMonitor monitor = monitorMap.get(osdResult.getSerialNumber()); |
| | | //封装OsdCheckResult |
| | | OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor); |
| | | checkCorrect(osdResult, monitor, osdCheckResult); |
| | | log.info("校验结果:{}",osdCheckResult); |
| | | checkResults.add(osdCheckResult); |
| | | if(osdResult!=null) { |
| | | TMonitor monitor = monitorMap.get(osdResult.getSerialNumber()); |
| | | //封装OsdCheckResult |
| | | OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor); |
| | | checkCorrect(osdResult, monitor, osdCheckResult); |
| | | checkResults.add(osdCheckResult); |
| | | } |
| | | } |
| | | log.info("结果数据大小:{}", checkResults.size()); |
| | | //结果存入mongo |
| | |
| | | private OsdCheckResult getOsdCheckResult(OSDResult osdResult, TMonitor monitor) { |
| | | OsdCheckResult osdCheckResult = new OsdCheckResult(); |
| | | osdCheckResult.setDeviceNo(osdResult.getSerialNumber()); |
| | | osdCheckResult.setNo(osdResult.getSerialNumber()); |
| | | osdCheckResult.setIp(monitor.getIp()); |
| | | osdCheckResult.setDeviceType(monitor.getCameraFunType()); |
| | | osdCheckResult.setCheckTime(osdResult.getCheckTime()); |
| | |
| | | } else { |
| | | osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Error); |
| | | } |
| | | }else { |
| | | osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Unknown); |
| | | } |
| | | //检查通道名是否正确 |
| | | //校验规则,这里暂时不比较全景和细节两字。 |
| | | if (!StringUtils.isEmpty(osdResult.getName()) && !StringUtils.isEmpty(monitor.getName())) { |
| | | if (monitor.getName().equals(osdResult.getName()) || monitor.getName().replace("全景", "细节").equals(osdResult.getName()) || monitor.getName().replace("细节", "全景").equals(osdResult.getName())) { |
| | | if (monitor.getName().equals(osdResult.getName())) { |
| | | osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct); |
| | | osdCheckResult.setOsdName(osdResult.getName()); |
| | | } else { |
| | | osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Error); |
| | | } |
| | | }else { |
| | | osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Unknown); |
| | | } |
| | | //检查省是否正确 |
| | | if (!StringUtils.isEmpty(osdResult.getOSD1())) { |
| | |
| | | } else { |
| | | osdCheckResult.setOsdProvinceCorrect(ApiConstants.OSD_Error); |
| | | } |
| | | }else { |
| | | osdCheckResult.setOsdProvinceCorrect(ApiConstants.OSD_Unknown); |
| | | } |
| | | //检查市是否正确 |
| | | if (!StringUtils.isEmpty(osdResult.getOSD2())) { |
| | |
| | | } else { |
| | | osdCheckResult.setOsdCityCorrect(ApiConstants.OSD_Error); |
| | | } |
| | | }else { |
| | | osdCheckResult.setOsdCityCorrect(ApiConstants.OSD_Unknown); |
| | | } |
| | | //检查区县是否正确 |
| | | if (!StringUtils.isEmpty(osdResult.getOSD3())) { |
| | |
| | | } else { |
| | | osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Error); |
| | | } |
| | | }else { |
| | | osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Unknown); |
| | | } |
| | | } |
| | | |