fuliqi
2024-08-09 9d5878687df1a39293c171a93b8f57f2fb4559a5
Merge remote-tracking branch 'origin/master'
3个文件已修改
2个文件已添加
264 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/ImageDetectionParam.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/ImageDetectionResult.java 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/PyOsdResult.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/feign/UYClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/ImageDetectionParam.java
New file
@@ -0,0 +1,35 @@
package com.ycl.platform.domain.param.UY;
import lombok.Data;
import lombok.experimental.Accessors;
/**
 * 摄像头参数
 *
 * @author gonghl
 * @since 2024/7/1 下午 4:52
 */
@Data
@Accessors(chain = true)
public class ImageDetectionParam {
    /**
     * 分页
     */
    private Integer pageNum;
    private Integer pageSize;
    /**
     * 异常类型
     */
    private String code = "1,2,3";
    /**
     * 状态:2全部  -1异常 1正常
     */
    private Integer status = 2;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/ImageDetectionResult.java
New file
@@ -0,0 +1,181 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.BaseResult;
import lombok.Data;
import org.springframework.data.mongodb.core.annotation.Collation;
import java.util.Date;
import java.util.List;
/**
 * @author:xp
 * @date:2024/8/8 20:36
 */
@Data
@Collation("uy_image_detection")
public class ImageDetectionResult extends BaseResult {
    /**
     * 行政区域
     */
    private String arealayerName;
    /**
     * 行政区域路径
     */
    private String arealayerPath;
    /**
     * 行政区域
     */
    private String arealayerno;
    private Integer blur;
    private Integer blurRaw;
    /**
     * 画面偏色:1正常 0异常
     */
    private Integer color;
    private Integer colorRaw;
    /**
     * 解码状态码
     */
    private Integer decodingCode;
    private String deviceId;
    private String deviceName;
    private Integer image;
    private String imagePath;
    private String ipAddr;
    /**
     * 亮度:1正常  0异常
     */
    private Integer light;
    private Integer lightRaw;
    /**
     * 最近持续离线故障次数
     */
    private Integer olErrEverduring;
    private Date olErrEverduringFirstTime;
    /**
     * 累计离线故障次数
     */
    private Integer olErrTotal;
    private String olErrTotalRate;
    private Integer olTotal;
    /**
     * 画面遮挡:1正常 0异常
     */
    private Integer shade;
    private Integer shadeRaw;
    private Integer shake;
    private Integer shakeRaw;
    /**
     * 信号状态:在线,0异常
     */
    private Integer signa1;
    private Integer signa1Raw;
    private Integer signal;
    /**
     * sip状态码
     */
    private Integer sipCode;
    /**
     * 雪花干扰:1正常 0异常
     */
    private Integer snow;
    private Integer snowRaw;
    /**
     * 状态:1在线
     */
    private Integer status;
    /**
     * 条纹干扰:1正常 0异常
     */
    private Integer stripe;
    private Integer stripeRaw;
    /**
     * 标签
     */
    private String tagStr;
    private List<String> tags;
    private String tenantId;
    private Integer vqdAtNight;
    private Integer vqdErrEverduring;
    private Date vqdErrEverduringFirstTime;
    private Integer vqdErrTotal;
    /**
     * 图像累计异常率
     */
    private String vqdErrTotalRate;
    private Date vqdTime;
    private Integer vqdTotal;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/PyOsdResult.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.result.UY;
import com.ycl.platform.domain.result.BaseResult;
import lombok.Data;
import org.springframework.data.mongodb.core.annotation.Collation;
@@ -11,7 +12,7 @@
 */
@Data
@Collation("py_osd")
public class PyOsdResult {
public class PyOsdResult extends BaseResult {
    /**
     * 国标码
ycl-server/src/main/java/com/ycl/feign/UYClient.java
@@ -29,6 +29,15 @@
    JSONObject oneMachineFile(@SpringQueryMap OneMachineFileParam oneMachineFileParam);
    /**
     * 图像检测
     *
     * @param imageDetectionParam 请求参数
     * @return
     */
    @GetMapping("/api/v1/vqdMonitor/list")
    JSONObject imageDetection(@SpringQueryMap ImageDetectionParam imageDetectionParam);
    /**
     * 点位在线
     *
     * @param onlineParam 请求参数
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -54,6 +54,42 @@
    @Value("${youYun.passwd}")
    private String passwd;
    // 图像检测
    public void imageDetection() {
        log.info("开始执行图像检测数据同步");
        ImageDetectionParam param = new ImageDetectionParam();
        param.setPageNum(ApiConstants.PageNo);
        param.setPageSize(ApiConstants.PageSize);
        JSONObject jsonObject = uyClient.imageDetection(param);
        if (jsonObject != null) {
            log.info("数据格式" + jsonObject);
            Integer statusCode = jsonObject.getInteger("statusCode");
            if (ApiConstants.UYSuccessCode.equals(statusCode)) {
                JSONObject data = jsonObject.getJSONObject("data");
                if (data != null) {
                    List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class);
                    if (!CollectionUtils.isEmpty(records)) {
                        //如果今天存在之前的数据先删除
                        Query query = new Query(Criteria
                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                        DeleteResult result = mongoTemplate.remove(query, QueryVqdResult.class);
                        //存放在mongo中
                        mongoTemplate.insertAll(records);
                    } else {
                        log.error("图像监测数据为空{}", data);
                    }
                } else {
                    log.error("图像监测数据为空{}", jsonObject);
                }
            } else {
                log.error("图像监测请求失败{}", jsonObject);
            }
        } else {
            log.error("图像监测数据为空");
        }
        log.info("结束执行图像监测数据同步");
    }
    //一机一档
    public void monitorTask() {
        //一机一档合格率