zxl
2025-10-29 fea22e82e7e49691f6e0c20a29b228d0ab3173e9
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson2.JSONObject;
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.UYClient;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.entity.WorkOrder;
import com.ycl.platform.domain.param.UY.ImageDetectionParam;
import com.ycl.platform.domain.param.UY.MonitorQualifyParam;
@@ -28,9 +27,6 @@
import com.ycl.utils.DateUtils;
import constant.ApiConstants;
import constant.CheckConstants;
import constant.RedisConstant;
import enumeration.ErrorType;
import enumeration.general.WorkOrderStatusEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -46,6 +42,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -185,6 +182,8 @@
     * online字段来自于优云,pingOnline为主动ping检测的。存入mongo给数据中心查阅
     */
    public void pointOnline() throws ExecutionException, InterruptedException {
        log.info("开始检测点位在线");
        Integer times = 2;
        SysConfig config = new SysConfig();
@@ -264,6 +263,11 @@
                unKnownList.add(item.getIp());
            }
        });
        if(!CollectionUtils.isEmpty(onLineList)){
            log.error("在线点位集合:{}",onLineList);
        }
        log.error("unKnownList:{}",unKnownList);
        if(!CollectionUtils.isEmpty(offLineList)) {
            log.error("修改离线的点位集合:{}",offLineList);
@@ -291,6 +295,10 @@
                            mongoData.setProvinceTag(mongoData.getProvinceTagCar());
                        }else if("3".equals(type)){
                            mongoData.setProvinceTag(mongoData.getProvinceTagFace());
                        }
                        //修改线上
                        if(mongoData.getPingOnline()){
                            mongoData.setOnline(1);
                        }
                        mongoList.add(mongoData);
                    }
@@ -354,6 +362,7 @@
                            }
                        });
                        pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
                        log.error("点位在线率插入数据大小{}",records.size());
                        //存放在mongo中
                        mongoTemplate.insertAll(records);
                        //更新point表在线状态
@@ -418,10 +427,13 @@
        instance.setTime(new Date());
        instance.add(Calendar.DAY_OF_MONTH, -1);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String yesterday = format.format(instance.getTime());
        param.setStatTime(yesterday);
        log.error("开始同步mongodb录像可用数据日期为{}",yesterday);
        JSONObject jsonObject = uyClient.recordMetaDSumList(param);
        double minTime = getSySMinTime();
        AtomicReference<Integer> count = new AtomicReference<>(0);
        if (jsonObject != null) {
            if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) {
                List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class);
@@ -434,8 +446,11 @@
                        if (Objects.nonNull(item.getDeviceId())) {
                            item.setNo(item.getDeviceId());
                        }
                        //判断 并修改录像缺少状态
                        if (item.getRecordStatus() != -1){
                            count.getAndSet(count.get() + 1);
                            if (item.getMissDuration() > minTime){
                                item.setRecordStatus(0);
                            }else if (item.getMissDuration() < minTime){
@@ -445,7 +460,9 @@
                    });
                    //打标签
                    pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
                    log.error("发生状态改变数量:{}",count);
                    //存放在mongo中
                    log.error("新增mongodb数据大小:{}",records.size());
                    mongoTemplate.insertAll(records);
//                    // 工单生成
//                    uyErrorTypeCheckService.recordMetaDSumCheck(records);