fuliqi
2024-09-30 b5df1cee65f3e9dcf554efcd3f1642a8c79d1e76
ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -12,6 +12,7 @@
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;
@@ -44,7 +45,20 @@
    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信息
@@ -73,7 +87,7 @@
            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);
            }
@@ -86,12 +100,14 @@
            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
@@ -101,6 +117,7 @@
                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);
                // 工单生成
@@ -113,6 +130,7 @@
    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());
@@ -167,7 +185,7 @@
        //检查区县是否正确
        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);