From d03ef8779645bdcc106d99d34b2720bd0e59ddd6 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 03 九月 2024 22:40:42 +0800
Subject: [PATCH] 视频mongo重构

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  100 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 67 insertions(+), 33 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 23ffdc8..a840d9e 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
@@ -51,7 +51,6 @@
      */
     @Override
     public Result videoPointOnlineRate(DataCenterQuery params) {
-        params.setTime();
         // 鐢熸垚鏌ヨ
         Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, null);
 
@@ -74,7 +73,6 @@
      */
     @Override
     public Result deptVideoPointOnlineRate(DataCenterQuery params) {
-        params.setTime();
         // 鍏堟煡鍑洪儴绾х偣浣嶇殑鍥芥爣
         List<String> deptGBList = pointMapper.getDeptPointGB(0);
 
@@ -100,7 +98,6 @@
      */
     @Override
     public Result videoImportantPointOnlineRate(DataCenterQuery params) {
-        params.setTime();
         // 鍏堟煡鍑洪噸鐐圭偣浣嶇殑鍥芥爣
         List<String> deptGBList = pointMapper.getDeptPointGB(1);
 
@@ -129,7 +126,6 @@
      */
     @Override
     public Result videoImportantPointImageOnlineRate(DataCenterQuery params) {
-        params.setTime();
         // 鍏堟煡鍑洪噸鐐规寚鎸ュ浘鍍忕偣浣嶇殑鍥芥爣
         List<String> deptGBList = pointMapper.getDeptPointGB(2);
 
@@ -159,16 +155,17 @@
     @Override
     public Result videoOneMachineDocumentRegister(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null);
 
-        long total = mongoTemplate.count(query, OneMachineFileResult.class);
-        List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class);
+        long total = mongoTemplate.count(query, MonitorQualifyResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class);
         // 缁熻鏁�
-        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class);
-        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class);
-        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class);
-        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class);
-        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class);
+        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class);
+        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class);
+        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class);
+        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class);
+        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class);
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(nonNetwork, network, video, car, face));
         map.put("list", resultList);
@@ -184,9 +181,10 @@
     @Override
     public Result videoOneMachineDocumentQualified(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null);
 
         long total = mongoTemplate.count(query, MonitorQualifyResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
         List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class);
         // 缁熻鏁�
         HashMap<String, Object> map = new HashMap<>();
@@ -203,17 +201,18 @@
      */
     @Override
     public Result videoAssessmentFileRatio(DataCenterQuery params) {
+        // TODO 鏂板涓�寮犺〃璁板綍姣忔鐨勬。妗堣�冩牳
+        Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null);
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
-
-        long total = mongoTemplate.count(query, OneMachineFileResult.class);
-        List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class);
+        long total = mongoTemplate.count(query, MonitorQualifyResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class);
         // 缁熻鏁�
-        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class);
-        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class);
-        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class);
-        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class);
-        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class);
+        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class);
+        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class);
+        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class);
+        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class);
+        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class);
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(nonNetwork, network, video, car, face));
         map.put("list", resultList);
@@ -229,9 +228,36 @@
     @Override
     public Result videoAvailabilityRate(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        Query query = MongoUtil.getQuery(params, "deviceId", "createTime", null);
 
         long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
+        MongoUtil.setPage(query, params, "createTime");
+        List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class);
+        // 缁熻鏁�
+        long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), RecordMetaDSumResult.class);
+        long two = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("2")), RecordMetaDSumResult.class);
+        long three = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("-1")), RecordMetaDSumResult.class);
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("count", Arrays.asList(one, two, three));
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
+    }
+
+    /**
+     * 瑙嗛锛氶儴绾у綍鍍忓彲鐢ㄧ巼
+     *
+     * @param params
+     * @return
+     */
+    @Override
+    public Result deptVideoAvailabilityRate(DataCenterQuery params) {
+
+        List<String> deptGBList = pointMapper.getDeptPointGB(0);
+
+        Query query = MongoUtil.getQuery(params, "deviceId", "createTime", deptGBList);
+
+        long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
+        MongoUtil.setPage(query, params, "createTime");
         List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class);
         // 缁熻鏁�
         long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), RecordMetaDSumResult.class);
@@ -252,9 +278,12 @@
     @Override
     public Result videoImportantPointAvailabilityRate(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        List<String> deptGBList = pointMapper.getDeptPointGB(1);
+
+        Query query = MongoUtil.getQuery(params, "deviceId", "createTime", deptGBList);
 
         long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
+        MongoUtil.setPage(query, params, "createTime");
         List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class);
         // 缁熻鏁�
         long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), OneMachineFileResult.class);
@@ -300,9 +329,11 @@
     @Override
     public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        List<String> deptGBList = pointMapper.getDeptPointGB(1);
+        Query query = MongoUtil.getQuery(params, "deviceNo", "checkTime", deptGBList);
 
         long total = mongoTemplate.count(query, OsdCheckResult.class);
+        MongoUtil.setPage(query, params, "checkTime");
         List<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class);
         // 缁熻鏁�
         long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OsdCheckResult.class);
@@ -350,16 +381,19 @@
     @Override
     public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) {
 
-        Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>());
+        List<String> deptGBList = pointMapper.getDeptPointGB(1);
 
-        long total = mongoTemplate.count(query, OneMachineFileResult.class);
-        List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class);
+        Query query = MongoUtil.getQuery(params, "deviceId", "checkTime", deptGBList);
+
+        long total = mongoTemplate.count(query, OsdCheckResult.class);
+        MongoUtil.setPage(query, params, "checkTime");
+        List<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class);
         // 缁熻鏁�
-        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class);
-        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class);
-        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class);
-        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class);
-        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class);
+        long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OsdCheckResult.class);
+        long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OsdCheckResult.class);
+        long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OsdCheckResult.class);
+        long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OsdCheckResult.class);
+        long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OsdCheckResult.class);
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(nonNetwork, network, video, car, face));
         map.put("list", resultList);

--
Gitblit v1.8.0