From 3add1f8ab325dff968d5c2b94985700419ea1ccb Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 19 二月 2025 09:46:32 +0800
Subject: [PATCH] 运维监控报表接口统计sql重新编写
---
ycl-server/src/main/java/com/ycl/task/HKTask.java | 42 +++++++++++++++++++++++++++++-------------
1 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index 91b9159..c6cad22 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -173,7 +173,6 @@
faceParam.setDataType(ApiConstants.HK_DataType_FACE);
List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, SnapshotDataMonitorResult.class);
if (!CollectionUtils.isEmpty(faceList)) {
- log.info("缁撴灉鏁版嵁澶у皬锛歿}", faceList.size());
//濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
@@ -189,22 +188,38 @@
faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
mongoTemplate.insertAll(faceList);
}
- //淇敼online鐘舵�佷互鍙婄敓鎴愬伐鍗�
+ //淇敼online鐘舵��
List<SnapshotDataMonitorResult> totalResult = new ArrayList<>();
totalResult.addAll(carList);
totalResult.addAll(faceList);
if (!CollectionUtils.isEmpty(totalResult)) {
- List<String> numbers = totalResult.stream().map(SnapshotDataMonitorResult::getExternalIndexCode).collect(Collectors.toList());
- Map<String, TMonitor> map = monitorMapper.selectList(new QueryWrapper<TMonitor>().in("serial_number", numbers))
- .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
- Date now = new Date();
- //杩囨护
- totalResult = totalResult.stream().filter(item -> map.get(item.getExternalIndexCode()) != null).collect(Collectors.toList());
- totalResult.forEach(item -> {
- TMonitor monitor = map.get(item.getExternalIndexCode());
- item.setIp(monitor.getIp());
- });
- //娴峰悍涓嶅仛鍦ㄧ嚎鐩戞祴
+ //鍏堟嬁浼樹簯鐨勫湪绾匡紝杩囨护鎺変紭浜戝凡鏈夌殑鍥芥爣鐮�
+ Query query = new Query();
+ query.addCriteria(Criteria
+ .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+ List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class);
+ if (!CollectionUtils.isEmpty(results)) {
+ Date now = new Date();
+ List<String> uyNoList = results.stream().map(VideoOnlineResult::getNo).collect(Collectors.toList());
+ List<String> numbers = totalResult.stream().filter(result->!uyNoList.contains(result.getExternalIndexCode()))
+ .map(SnapshotDataMonitorResult::getExternalIndexCode).collect(Collectors.toList());
+ //鎺掗櫎鎺変紭浜戜笖涓嶅寘鍚棰戣澶囩殑鍥芥爣
+ Map<String, TMonitor> map = monitorMapper.selectList(new QueryWrapper<TMonitor>()
+ .in("serial_number", numbers))
+ .stream().filter(monitor -> monitor.getCameraFunType()!=null && !monitor.getCameraFunType().contains("1"))
+ .collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
+ List<UpdateOnlineVO> willUpdateList = new ArrayList<>();
+ totalResult.forEach(item -> {
+ TMonitor monitor = map.get(item.getExternalIndexCode());
+ if(monitor!=null) {
+ UpdateOnlineVO vo = new UpdateOnlineVO();
+ vo.setOnline(item.getDataCount() > 0 ? 1 : -1);
+ vo.setSerialNumber(monitor.getSerialNumber());
+ vo.setUpdateTime(now);
+ willUpdateList.add(vo);
+ }
+ });
+ if(!CollectionUtils.isEmpty(willUpdateList)) monitorMapper.updateOnlineFromHk(willUpdateList);
// List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> {
// UpdateOnlineVO vo = new UpdateOnlineVO();
// vo.setOnline(item.getDataCount() > 0 ? 1 : -1);
@@ -222,6 +237,7 @@
// (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛�
// )).values());
// uyErrorTypeCheckService.hkOnlineCheck(workOrders);
+ }
}
log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�");
}
--
Gitblit v1.8.0