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