| | |
| | | import com.ycl.platform.domain.vo.OnlineThreadVO; |
| | | import com.ycl.platform.mapper.TMonitorMapper; |
| | | import com.ycl.platform.service.UYErrorTypeCheckService; |
| | | import com.ycl.platform.service.YwPointService; |
| | | import com.ycl.thread.OSDCheckThread; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.StringUtils; |
| | |
| | | private TMonitorMapper monitorMapper; |
| | | @Autowired |
| | | private UYErrorTypeCheckService uyErrorTypeCheckService; |
| | | |
| | | @Autowired |
| | | private YwPointService pointService; |
| | | @Value("${HK.userName}") |
| | | public String HKUserName; |
| | | @Value("${HK.password}") |
| | | public String HKPassword; |
| | | @Value("${DH.userName}") |
| | | public String DHUserName; |
| | | @Value("${DH.password}") |
| | | public String DHPassword; |
| | | @Value("${YS.userName}") |
| | | public String YSUserName; |
| | | @Value("${YS.password}") |
| | | public String YSPassword; |
| | | /** |
| | | * 通过查mongoDB每日一机一档数据获取设备ip |
| | | * 通过设备ip、品牌调用不同api获取osd信息 |
| | |
| | | List<Future<OSDResult>> futureList = new ArrayList<>(48); |
| | | List<OSDResult> osdResultList = new ArrayList<>(); |
| | | for (TMonitor monitor : monitors) { |
| | | OSDCheckThread thread = new OSDCheckThread(monitor); |
| | | OSDCheckThread thread = new OSDCheckThread(monitor,HKUserName,HKPassword,DHUserName,DHPassword,YSUserName,YSPassword); |
| | | Future<OSDResult> future = executorService.submit(thread); |
| | | futureList.add(future); |
| | | } |
| | |
| | | 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); |
| | | log.info("校验结果:{}", osdCheckResult); |
| | | checkResults.add(osdCheckResult); |
| | | } |
| | | } |
| | | log.info("结果数据大小:{}", checkResults.size()); |
| | | //结果存入mongo |
| | |
| | | Query pyQuery = new Query(Criteria |
| | | .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); |
| | | DeleteResult result = mongoTemplate.remove(pyQuery, OsdCheckResult.class); |
| | | pointService.setDeviceTagByGB(checkResults); |
| | | //存放在mongo中 |
| | | mongoTemplate.insertAll(checkResults); |
| | | // 工单生成 |
| | |
| | | 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()); |
| | |
| | | //检查区县是否正确 |
| | | if (!StringUtils.isEmpty(osdResult.getOSD3())) { |
| | | AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromCode(monitor.getSerialNumber().substring(0, 6)); |
| | | if (areaDeptEnum != null && osdResult.getOSD3().equals(areaDeptEnum.getName())) { |
| | | if (areaDeptEnum != null && osdResult.getOSD3().equals(areaDeptEnum.getOsdName())) { |
| | | osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Correct); |
| | | } else { |
| | | osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Error); |