From 46aaf9e30acf14a777cda37fe761b3b39e53f568 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 03 九月 2024 15:51:21 +0800 Subject: [PATCH] 数据中心优化 --- ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 48 ++++++++++++++++++++++++++++-------------------- 1 files changed, 28 insertions(+), 20 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 0385f2c..6f50941 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 @@ -5,10 +5,7 @@ import com.ycl.platform.domain.entity.ImageResourceSecurityDetail; import com.ycl.platform.domain.query.DataCenterQuery; import com.ycl.platform.domain.result.HK.*; -import com.ycl.platform.domain.result.UY.MonitorQualifyResult; -import com.ycl.platform.domain.result.UY.OneMachineFileResult; -import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; -import com.ycl.platform.domain.result.UY.VideoOnlineResult; +import com.ycl.platform.domain.result.UY.*; import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper; import com.ycl.platform.service.DataCenterService; import com.ycl.system.Result; @@ -62,9 +59,20 @@ long total = mongoTemplate.count(query, VideoOnlineResult.class); query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); - long count = mongoTemplate.count(new Query(), VideoOnlineResult.class); + + // 缁熻 + Criteria criteriaCount = new Criteria(); + // 鏅�氭煡璇� + if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { + criteriaCount.andOperator( + Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) + ); + } + Query countQuery = new Query(); + countQuery.addCriteria(criteriaCount); + long count = mongoTemplate.count(countQuery, VideoOnlineResult.class); HashMap<String, Object> map = new HashMap<>(); - map.put("total", count); + map.put("count", Arrays.asList(count)); map.put("list", resultList); return Result.ok().data(map).total(total); } @@ -283,15 +291,15 @@ ); } query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); + long total = mongoTemplate.count(query, OsdCheckResult.class); query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + 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); @@ -419,15 +427,15 @@ ); } query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); + long total = mongoTemplate.count(query, VideoOnlineResult.class); query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.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")), VideoOnlineResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), VideoOnlineResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex("/1/")), VideoOnlineResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex("/2/")), VideoOnlineResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex("/3/")), VideoOnlineResult.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