ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/ImageDetectionParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/ImageDetectionResult.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/PyOsdResult.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/feign/UYClient.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/UYTask.java | ●●●●● 补丁 | 查看 | 原始文档 | 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() { //一机一档合格率