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/task/MonitorTask.java                            |    2 
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  100 +++++++++++++++++++++++++++++++++----------------
 ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java    |    3 -
 ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java          |    8 ++++
 4 files changed, 77 insertions(+), 36 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
index 4d748bb..55cb5e8 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
@@ -122,8 +122,7 @@
     @PostMapping("/videoMinistryVideoAvailable")
     public Result videoMinistryVideoAvailable(@RequestBody DataCenterQuery query) {
         query.setTime();
-        // TODO 鍋氶儴绾ф暟鎹尯鍒�
-        return dataCenterService.videoLabelingAccuracy(query);
+        return dataCenterService.deptVideoAvailabilityRate(query);
     }
 
     /**
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
index 00a96f8..8db5653 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
@@ -67,6 +67,14 @@
     Result videoAvailabilityRate(DataCenterQuery query);
 
     /**
+     * 瑙嗛锛氶儴绾х偣浣嶅綍鍍忓彲鐢ㄧ巼
+     *
+     * @param query
+     * @return
+     */
+    Result deptVideoAvailabilityRate(DataCenterQuery query);
+
+    /**
      * 瑙嗛锛氶噸鐐圭偣浣嶅綍鍍忓彲鐢ㄧ巼
      *
      * @param query
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);
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index 51ea36f..4262d99 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -64,7 +64,7 @@
         Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
         List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class);
         //mongo鍝佺墝鏁版嵁
-        Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))));
+        Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
         Map<String, OsdCheckResult> osdMap = mongoTemplate.find(query, OsdCheckResult.class).stream().collect(Collectors.toMap(OsdCheckResult::getDeviceNo, Function.identity()));
         //鏁版嵁搴搈onitor琛ㄦ暟鎹�
         Map<String, TMonitorVO> monitorVOMap = monitorMapper.selectMonitorVOList().stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));

--
Gitblit v1.8.0