From 35d325f87d78d942d78a538dd36d5317f0876313 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 15 十月 2024 19:03:55 +0800
Subject: [PATCH] 异常恢复的统计数bug

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  132 ++++++++++++++++++++++++++++++++------------
 1 files changed, 96 insertions(+), 36 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 ed9dc88..4dded27 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
@@ -10,6 +10,7 @@
 import com.ycl.platform.domain.entity.*;
 import com.ycl.platform.domain.query.DataCenterQuery;
 import com.ycl.platform.domain.result.HK.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
 import com.ycl.platform.domain.result.UY.*;
 import com.ycl.platform.domain.vo.PointDetailVO;
 import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper;
@@ -66,11 +67,21 @@
      */
     @Override
     public Result videoPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+        });
         params.setDeptTag(-1);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -87,8 +98,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "",this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -99,12 +110,22 @@
      */
     @Override
     public Result deptVideoPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+        });
+        // 缁熻璁惧鏁伴噺
         params.setDeptTag(1);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
-        // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
         Date now = new Date();
@@ -121,8 +142,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list",resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -133,14 +154,23 @@
      */
     @Override
     public Result videoImportantPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
         params.setDeptTag(3);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
-
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+        });
         Date now = new Date();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getKeySiteOnline)
@@ -155,8 +185,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -167,14 +197,24 @@
      */
     @Override
     public Result videoImportantPointImageOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+
         params.setDeptTag(4);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
-
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+        });
         Date now = new Date();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getKeyCommandImageOnline)
@@ -189,8 +229,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -867,19 +907,29 @@
      */
     @Override
     public Result vehiclePointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        //绯荤粺ping鐨勭粨鏋�
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+        //TODO锛氫紭浜戝湪绾跨粨鏋�
         params.setDeptTag(-1);
         params.setDeviceType(2);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
-
-        Date now = new Date();
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+        });
         List<CheckIndexCar> videoList = new LambdaQueryChainWrapper<>(checkIndexCarService.getBaseMapper())
                 .select(CheckIndexCar::getSiteOnline)
                 .eq(params.getDataType().equals(1), CheckIndexCar::getExamineTag, CheckConstants.Examine_Tag_Province)
-                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(now), DateUtils.getDayEnd(now))
+                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(params.getStartTime()), DateUtils.getDayEnd(params.getEndTime()))
                 .list();
         BigDecimal onlineRate = BigDecimal.ZERO;
         if (CollectionUtils.isNotEmpty(videoList)) {
@@ -889,8 +939,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -1365,11 +1415,21 @@
      */
     @Override
     public Result facePointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+        resultList.forEach(item->{
+            if(null != item.getPingOnline() && item.getPingOnline()){
+                item.setOnlineStr("鍦ㄧ嚎");
+            }else {
+                item.setOnlineStr("绂荤嚎");
+            }
+        });
         params.setDeptTag(-1);
         params.setDeviceType(3);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -1390,8 +1450,8 @@
         rList.add(this.remove0(onlineRate));
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", rList);
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**

--
Gitblit v1.8.0