From 3a069dad69f83d5f9b840a7357768cc9fedc8f8b Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期三, 16 四月 2025 14:11:20 +0800 Subject: [PATCH] 删除工单,物理删除图片 --- ycl-server/src/main/java/com/ycl/task/HKTask.java | 88 ++++++++++++++++++++++++++------------------ 1 files changed, 52 insertions(+), 36 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 759cf0e..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,38 +188,56 @@ 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()); - }); - List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> { - UpdateOnlineVO vo = new UpdateOnlineVO(); - vo.setOnline(item.getDataCount() > 0 ? 1 : -1); - vo.setIp(map.get(item.getExternalIndexCode()).getIp()); - vo.setUpdateTime(now); - return vo; - }).collect(Collectors.toList()); - monitorMapper.updateOnlineFromUyOrHk(willUpdateList); - //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� - List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream() - .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount() > 0 ? 1 : -1)) - .collect(Collectors.toMap( - SnapshotDataMonitorResult::getIp, - Function.identity(), - (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� - )).values()); - uyErrorTypeCheckService.hkOnlineCheck(workOrders); + //鍏堟嬁浼樹簯鐨勫湪绾匡紝杩囨护鎺変紭浜戝凡鏈夌殑鍥芥爣鐮� + 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); +// vo.setIp(map.get(item.getExternalIndexCode()).getIp()); +// vo.setUpdateTime(now); +// return vo; +// }).collect(Collectors.toList()); +// monitorMapper.updateOnlineFromUyOrHk(willUpdateList); +// //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� +// List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream() +// .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount() > 0 ? 1 : -1)) +// .collect(Collectors.toMap( +// SnapshotDataMonitorResult::getIp, +// Function.identity(), +// (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� +// )).values()); +// uyErrorTypeCheckService.hkOnlineCheck(workOrders); + } } log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); } @@ -581,24 +598,23 @@ car.setViewConnectStability(new BigDecimal(score.getDownCarDataUploadScoreString() == null ? "1" : score.getDownCarDataUploadScoreString())); car.setSiteOnline(new BigDecimal(score.getDownCrossQualityCarScoreString() == null ? "1" : score.getDownCrossQualityCarScoreString())); car.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString())); - //TODO:寰呭畬鍠� + //TODO:娌℃壘鍒拌�冩牳椤� car.setVehicleInformationCollectionAccuracy(new BigDecimal("1")); - //TODO:寰呭畬鍠� 閲嶇偣鎬庝箞鍔犺繘鍘� car.setVehicleCaptureIntegrity(new BigDecimal(score.getDownCrossAllCarDataIntegrityScoreString() == null ? "1" : score.getDownCrossAllCarDataIntegrityScoreString())); - //TODO:寰呭畬鍠� 涓や釜椤瑰悎鎴愪竴涓� + //娴峰悍鏄涓�1鐨勶紝浣嗘槸鎺ュ彛鎺ㄧ殑鍘熷鏁版嵁 car.setVehicleCaptureAccuracy(new BigDecimal("1")); car.setVehicleTimingAccuracy(new BigDecimal(score.getDownCrossCarInvertScoreString() == null ? "1" : score.getDownCrossCarInvertScoreString())); car.setVehicleUploadTimeliness(new BigDecimal(score.getDownCrossAllCarDelayScoreString() == null ? "1" : score.getDownCrossAllCarDelayScoreString())); - //TODO:寰呭畬鍠� + //TODO:娌℃壘鍒拌�冩牳椤� car.setVehicleUrlAvailability(new BigDecimal("1")); car.setVehiclePictureAvailability(new BigDecimal(score.getDownCrossPictureQualityCarScoreString() == null ? "1" : score.getDownCrossPictureQualityCarScoreString())); face.setViewConnectStability(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString())); face.setSiteOnline(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString())); - face.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString())); - //TODO:寰呭畬鍠� + face.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushFaceScoreString() == null ? "1" : score.getDownCrossNumPushFaceScoreString())); + //TODO:娌℃壘鍒拌�冩牳椤� face.setFaceInformationCollectionAccuracy(new BigDecimal("1")); - //TODO:寰呭畬鍠� + //TODO:娌℃壘鍒拌�冩牳椤� face.setFacePictureQualification(new BigDecimal("1")); face.setFaceTimingAccuracy(new BigDecimal(score.getDownCrossFaceInvertScoreString() == null ? "1" : score.getDownCrossFaceInvertScoreString())); face.setFaceUploadTimeliness(new BigDecimal(score.getDownCrossAllFaceDelayScoreString() == null ? "1" : score.getDownCrossAllFaceDelayScoreString())); -- Gitblit v1.8.0