From 29d3c47cc6c903c09b386649fabaebc81cbeca27 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 05 六月 2025 10:43:39 +0800 Subject: [PATCH] 报错日志添加 --- ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 126 ----------------------------------------- 1 files changed, 1 insertions(+), 125 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java index aff9843..4db2f09 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java @@ -632,49 +632,7 @@ } - //zxl - @Override - public BigDecimal videoPointOnlineRateCount(DataCenterQuery params){ - //鍗$墖缁熻 - int totalCount = 0; - int onlineCount = 0; - int offlineCount = 0; - int unknownCount = 0; - //鏋勫缓鏉′欢 - List<Criteria> criteriaList = new ArrayList<>(); - // 娣诲姞鍥哄畾鏉′欢 - criteriaList.add(Criteria.where("monitorType").regex(".*" + CheckConstants.Rule_Category_Video + ".*")); - criteriaList.add(Criteria.where("mongoCreateTime").gte(params.getStartTime()).lte(params.getEndTime())); - // 鏍规嵁dataType鍔ㄦ�佹坊鍔犳潯浠� - if (params.getDataType() == 1) { - criteriaList.add(Criteria.where("provinceTag").is(Boolean.TRUE)); - } else if (params.getDataType() == 2) { - criteriaList.add(Criteria.where("deptTag").is(Boolean.TRUE)); - } - // 鏋勫缓match鎿嶄綔 - MatchOperation match = Aggregation.match( - new Criteria().andOperator(criteriaList.toArray(new Criteria[0])) - ); - GroupOperation group = Aggregation.group() - .sum(ConditionalOperators.when(Criteria.where("online").is(ApiConstants.UY_OnlineSite_Online)).then(1).otherwise(0)).as("onlineCount") - .sum(ConditionalOperators.when(Criteria.where("online").is(ApiConstants.UY_OnlineSite_Offline)).then(1).otherwise(0)).as("offlineCount") - .sum(ConditionalOperators.when(Criteria.where("online").is(ApiConstants.UY_OnlineSite_Unknown)).then(1).otherwise(0)).as("unknownCount"); - // 灏嗗尮閰嶉樁娈靛拰鍒嗙粍闃舵缁勫悎璧锋潵 - Aggregation aggregation = Aggregation.newAggregation(match, group); - // 鎵ц鑱氬悎鏌ヨ - AggregationResults<Map> results = mongoTemplate.aggregate(aggregation, "t_monitor_online", Map.class); // 鏇挎崲涓轰綘鐨勯泦鍚堝悕绉� - for (Map<String, Object> result : results.getMappedResults()) { - offlineCount = (Integer) result.getOrDefault("offlineCount", 0L); - unknownCount = (Integer) result.getOrDefault("unknownCount", 0L); - onlineCount = (Integer) result.getOrDefault("onlineCount", 0L); - totalCount = offlineCount + unknownCount + onlineCount; - } - BigDecimal onlineRate = BigDecimal.ZERO; - if (totalCount!=0) { - onlineRate = new BigDecimal(onlineCount).divide(new BigDecimal(totalCount), 3,RoundingMode.DOWN).multiply(new BigDecimal("100")); - } - return onlineRate; - } + /** * 瑙嗛锛氱偣浣嶅湪绾跨巼 @@ -1415,88 +1373,6 @@ return recordingMinTime; } private final TMonitorMapper tMonitorMapper; - - //zxl - @Override - public BigDecimal videoAvailabilityRateCount(DataCenterQuery params){ - System.out.println("------------------------------------------------------------------------------------"); - System.out.println(params); - // 缁熻鏁伴噺 - List<String> noString = tMonitorMapper.getIdListVideo(); - MongoDatabase database = mongoTemplate.getDb(); - MongoCollection<Document> collection = database.getCollection("uy_record_meta_d_sum"); - List<Integer> status = Arrays.asList(1, 0, -1); - List<String> resultCount = status.stream().map(item -> { - List<Document> dList = new ArrayList<>(2); - - dList.add(new Document("recordStatus", new Document("$eq", item))); - dList.add(new Document("no", new Document("$in", noString))); - setTag(params, dList); - Document filter = new Document("$and", dList); - // 鏋勫缓鑱氬悎绠¢亾 - List<Document> pipeline = Arrays.asList( - new Document("$match", filter), - // $group 鍘婚噸 - new Document("$group", new Document("_id", "$deviceId")), - new Document("$count", "uniqueDeviceIds") - ); - // 鎵ц鑱氬悎鏌ヨ骞惰幏鍙栫粨鏋� - AggregateIterable<Document> result = collection.aggregate(pipeline); - Integer uniqueDeviceIdCount = 0; - for (Document doc : result) { - uniqueDeviceIdCount = doc.getInteger("uniqueDeviceIds"); - break; // 涓嶉渶瑕佺户缁亶鍘嗭紝鍥犱负 $count 鍙細浜х敓涓�涓粨鏋� - } - return uniqueDeviceIdCount + ""; - }).collect(Collectors.toList()); - - //璁$畻褰曞儚鍙敤鐜� - MongoDatabase databaes2 = mongoTemplate.getDb(); - MongoCollection<Document> collection2 = databaes2.getCollection("uy_record_meta_d_sum"); - - double finalRecordingMinTime = getSySMinTime(); - - List<Document> documentList = new ArrayList<>(2); - documentList.add(new Document("no", new Document("$in", noString))); - setTag(params, documentList); - Document recording = new Document("missDuration",new Document("$lte", finalRecordingMinTime)); - documentList.add(recording); - - Document filter = new Document("$and", documentList); - // 鏋勫缓鑱氬悎绠¢亾 - List<Document> pipeline = Arrays.asList( - new Document("$match", filter), - // $group 鍘婚噸 - new Document("$group", new Document("_id", "$deviceId")), - new Document("$count", "uniqueDeviceIds") - ); - AggregateIterable<Document> result = collection2.aggregate(pipeline); - - - Integer uniqueDeviceIdCount = 0; - for (Document doc : result) { - uniqueDeviceIdCount = doc.getInteger("uniqueDeviceIds"); - break; // 涓嶉渶瑕佺户缁亶鍘嗭紝鍥犱负 $count 鍙細浜х敓涓�涓粨鏋� - } - int totalCount = 0; - for (String s : resultCount) { - totalCount += Integer.parseInt(s); - } - resultCount.add(0, totalCount + ""); - - BigDecimal onlineRate = BigDecimal.ZERO; -// 1锛氬畬鏁� 0锛氶棿姝� -1锛氬紓甯� | - if (!StringUtils.isEmpty(resultCount.get(0)) && !"0".equals(resultCount.get(0))) { - //resultCount.get(0)鏄�绘暟 uniqueDeviceIdCount鏄洿鍏风郴缁熷弬鏁版煡璇㈠埌mongodb涓ぇ浜庣瓑浜� recordDuration瀛楁鐨勬�绘暟 - onlineRate = new BigDecimal(uniqueDeviceIdCount).divide(new BigDecimal(resultCount.get(0)), 3,RoundingMode.DOWN).multiply(new BigDecimal("100")); - } - System.out.println(resultCount); - System.out.println(onlineRate); - return onlineRate; - } - - - /** * 瑙嗛锛氬綍鍍忓彲鐢ㄧ巼 -- Gitblit v1.8.0