From bd97fda26e0432ae5634f6756b94f4169350c0f0 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 03 九月 2024 21:55:21 +0800 Subject: [PATCH] 视频点位在线率mongo重构 --- ycl-server/src/main/java/com/ycl/utils/MongoUtil.java | 58 ++++ ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 18 + ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java | 8 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 604 +++++++++++++++----------------------------------- ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java | 2 ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java | 9 6 files changed, 269 insertions(+), 430 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 e135d62..4d748bb 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 @@ -110,7 +110,7 @@ @PostMapping("/videoMinistrySiteOnline") public Result videoMinistrySiteOnline(@RequestBody DataCenterQuery query) { query.setTime(); - return dataCenterService.videoPointOnlineRate(query); + return dataCenterService.deptVideoPointOnlineRate(query); } /** diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java index 14afa13..9ab9d15 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java @@ -77,4 +77,12 @@ * @return */ YwPointVO countNotFinishedWorkOrderByGb(@Param("serialNumber") String serialNumber); + + /** + * 鏌ヨ鏈夐儴绾ф爣绛剧殑鐐逛綅鐨勫浗鏍囩爜 + * + * @param tagType 0 閮ㄧ骇 1 閲嶇偣 2 閲嶇偣鎸囨尌鍥惧儚 + * @return + */ + List<String> getDeptPointGB(@Param("tagType") Integer tagType); } 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 732fef8..00a96f8 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 @@ -26,6 +26,15 @@ Result videoPointOnlineRate(DataCenterQuery query); /** + * 瑙嗛锛氱偣浣嶅湪绾跨巼 + * + * @param query + * @return + */ + Result deptVideoPointOnlineRate(DataCenterQuery query); + + + /** * 瑙嗛锛氫竴鏈轰竴妗f敞鍐岀巼 * * @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 b983667..23ffdc8 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 @@ -1,14 +1,19 @@ package com.ycl.platform.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.ycl.platform.domain.entity.ImageResourceSecurityDetail; +import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.query.DataCenterQuery; import com.ycl.platform.domain.result.HK.*; import com.ycl.platform.domain.result.UY.*; import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper; +import com.ycl.platform.mapper.YwPointMapper; import com.ycl.platform.service.DataCenterService; +import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; +import com.ycl.system.page.PageUtil; import com.ycl.utils.MongoUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.collections.CollectionUtils; @@ -16,12 +21,10 @@ import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.TextCriteria; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 鏁版嵁涓績鎺ュ彛 @@ -35,6 +38,9 @@ private final MongoTemplate mongoTemplate; private final ImageResourceSecurityDetailMapper securityDetailMapper; + private final YwPointMapper pointMapper; + + private final static String TIME_FIELD = "mongoCreateTime"; /** @@ -45,34 +51,101 @@ */ @Override public Result videoPointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + params.setTime(); + // 鐢熸垚鏌ヨ + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, null); + + // 鍏堟煡鎬绘暟鍐嶅垎椤� long total = mongoTemplate.count(query, VideoOnlineResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<VideoOnlineResult> resultList = mongoTemplate.find(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("count", Arrays.asList(count)); + map.put("count", Arrays.asList(total)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶儴绾х偣浣嶅湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result deptVideoPointOnlineRate(DataCenterQuery params) { + params.setTime(); + // 鍏堟煡鍑洪儴绾х偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(0); + + // 鐢熸垚鏌ヨ + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + // 鍏堟煡鎬绘暟鍐嶅垎椤� + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); + + HashMap<String, Object> map = new HashMap<>(); + map.put("count", Arrays.asList(total)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶噸鐐圭偣浣嶅湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result videoImportantPointOnlineRate(DataCenterQuery params) { + params.setTime(); + // 鍏堟煡鍑洪噸鐐圭偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(1); + + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.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); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶噸鐐规寚鎸ュ浘鍍忓湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result videoImportantPointImageOnlineRate(DataCenterQuery params) { + params.setTime(); + // 鍏堟煡鍑洪噸鐐规寚鎸ュ浘鍍忕偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(2); + + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.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); return Result.ok().data(map).total(total); } @@ -85,19 +158,10 @@ */ @Override public Result videoOneMachineDocumentRegister(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -119,19 +183,10 @@ */ @Override public Result videoOneMachineDocumentQualified(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, MonitorQualifyResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -148,19 +203,10 @@ */ @Override public Result videoAssessmentFileRatio(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -182,19 +228,10 @@ */ @Override public Result videoAvailabilityRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), RecordMetaDSumResult.class); @@ -214,19 +251,10 @@ */ @Override public Result videoImportantPointAvailabilityRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), OneMachineFileResult.class); @@ -246,19 +274,10 @@ */ @Override public Result videoLabelingAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), RecordMetaDSumResult.class); @@ -280,19 +299,10 @@ */ @Override public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + 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<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OsdCheckResult.class); @@ -314,19 +324,10 @@ */ @Override public Result videoCheckTimeAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -348,19 +349,10 @@ */ @Override public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -373,76 +365,6 @@ map.put("list", resultList); return Result.ok().data(map).total(total); } - - /** - * 瑙嗛锛氶噸鐐圭偣浣嶅湪绾跨巼 - * - * @param params - * @return - */ - @Override - public Result videoImportantPointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.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); - // 缁熻鏁� - 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); - HashMap<String, Object> map = new HashMap<>(); - map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); - map.put("list", resultList); - return Result.ok().data(map).total(total); - } - - /** - * 瑙嗛锛氶噸鐐规寚鎸ュ浘鍍忓湪绾跨巼 - * - * @param params - * @return - */ - @Override - public Result videoImportantPointImageOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - 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 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); - return Result.ok().data(map).total(total); - } - - /** @@ -453,19 +375,10 @@ */ @Override public Result vehicleViewDockStable(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -486,19 +399,10 @@ */ @Override public Result vehiclePointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -519,19 +423,10 @@ */ @Override public Result vehicleNetDeviceDirectoryConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -553,19 +448,10 @@ */ @Override public Result vehicleCollectionConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, CrossDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<CrossDetailResult> resultList = mongoTemplate.find(query, CrossDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), CrossDetailResult.class); @@ -586,19 +472,10 @@ */ @Override public Result vehicleCollectionDataIntegrity(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, DataIntegrityMonitoringResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<DataIntegrityMonitoringResult> resultList = mongoTemplate.find(query, DataIntegrityMonitoringResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -615,19 +492,10 @@ */ @Override public Result vehicleCollectionDataCaptured(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, AttrRecognitionMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<AttrRecognitionMonitorResult> resultList = mongoTemplate.find(query, AttrRecognitionMonitorResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -644,19 +512,10 @@ */ @Override public Result vehicleClockAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, VehicleDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<VehicleDeviceInspectionResult> resultList = mongoTemplate.find(query, VehicleDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), VehicleDeviceInspectionResult.class); @@ -676,19 +535,10 @@ */ @Override public Result vehicleTimelyUploadAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, SnapshotDelayMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<SnapshotDelayMonitorResult> resultList = mongoTemplate.find(query, SnapshotDelayMonitorResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -705,19 +555,10 @@ */ @Override public Result vehicleUrlAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, PicAccessResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<PicAccessResult> resultList = mongoTemplate.find(query, PicAccessResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -734,19 +575,10 @@ */ @Override public Result vehicleBigImgAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, VehicleDeviceSamplingResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<VehicleDeviceSamplingResult> resultList = mongoTemplate.find(query, VehicleDeviceSamplingResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -763,19 +595,10 @@ */ @Override public Result faceViewDockStable(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -796,19 +619,10 @@ */ @Override public Result facePointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -829,19 +643,10 @@ */ @Override public Result faceDirectoryConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.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); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -863,19 +668,10 @@ */ @Override public Result faceCollectionConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, CrossDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<CrossDetailResult> resultList = mongoTemplate.find(query, CrossDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), CrossDetailResult.class); @@ -896,19 +692,10 @@ */ @Override public Result faceImgQualification(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, MonitoringDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<MonitoringDetailResult> resultList = mongoTemplate.find(query, MonitoringDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), MonitoringDetailResult.class); @@ -929,19 +716,10 @@ */ @Override public Result faceCapturesImagesAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, FaceDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<FaceDeviceInspectionResult> resultList = mongoTemplate.find(query, FaceDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), FaceDeviceInspectionResult.class); @@ -961,19 +739,10 @@ */ @Override public Result faceTimelyUpload(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, FaceDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<FaceDeviceInspectionResult> resultList = mongoTemplate.find(query, FaceDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), FaceDeviceInspectionResult.class); @@ -993,19 +762,10 @@ */ @Override public Result faceAvailabilityOfLargeImg(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, FaceDeviceSamplingResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<FaceDeviceSamplingResult> resultList = mongoTemplate.find(query, FaceDeviceSamplingResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); diff --git a/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java b/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java index 4f88595..0089c62 100644 --- a/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java +++ b/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java @@ -1,11 +1,17 @@ package com.ycl.utils; +import com.ycl.platform.domain.query.DataCenterQuery; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.TextCriteria; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.Objects; /** @@ -17,16 +23,54 @@ public class MongoUtil { /** - * 鏋勯�犲叏鏂囩储寮曠殑鏉′欢 + * 鏋勯�犳暟鎹腑蹇冩悳绱㈢殑鏉′欢 * - * @param query - * @param keyword + * @param params 鏁版嵁涓績璇锋眰鍙傛暟 + * @param gbFiled 鍥芥爣鐮佸瓧娈垫槸鍝竴涓� + * @param timeFiled 鏃堕棿瀛楁鏄摢涓�涓� + * @param gbList 鍥芥爣鐮� */ - public static void fullText(Query query, String keyword) { - if (StringUtils.hasText(keyword)) { - TextCriteria criteria = TextCriteria.forDefaultLanguage().matching(keyword); - query.addCriteria(criteria); + public static Query getQuery(DataCenterQuery params, String gbFiled, String timeFiled, List<String> gbList) { + // 鍏抽敭瀛� + TextCriteria text = null; + if (StringUtils.hasText(params.getKeyword())) { + text = TextCriteria.forDefaultLanguage().matching(params.getKeyword()); } + + Criteria in = null; + // in + if (! CollectionUtils.isEmpty(gbList)) { + in = Criteria.where(gbFiled).in(gbList); + } + + // 鏃堕棿 + Criteria time = Criteria.where(timeFiled).gte(params.getStartTime()).lte(params.getEndTime()); + + // 灏嗘煡璇㈡潯浠禷nd璧锋潵 + Criteria and = new Criteria(); + List<Criteria> qList = new ArrayList<>(3); + if (Objects.nonNull(text)) { + qList.add(Criteria.byExample(text)); + } + if (Objects.nonNull(in)) { + qList.add(in); + } + qList.add(time); + and.andOperator(qList); + // 杩斿洖鏌ヨ + return Query.query(and); + } + + /** + * 鏋勯�犳暟鎹腑蹇冩悳绱㈢殑鏉′欢 + * + * @param query 鏌ヨ鏉′欢 + * @param timeFiled 鏃堕棿瀛楁鏄摢涓�涓� + * @param params 璇锋眰鍙傛暟 + */ + public static void setPage(Query query,DataCenterQuery params, String timeFiled) { + // 鎺掑簭鍒嗛〉 + query.with(Sort.by(Sort.Order.desc(timeFiled))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); } } diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index 70e0166..5be7391 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -163,4 +163,22 @@ LIMIT 1 </select> + <select id="getDeptPointGB" resultType="string"> + SELECT + DISTINCT serial_number + FROM + t_yw_point + WHERE + <if test="tagType == 0"> + dept_tag = 1 + </if> + <if test="tagType == 1"> + important_tag = 1 + </if> + <if test="tagType == 2"> + important_command_image_tag = 1 + </if> + AND deleted = 0 + </select> + </mapper> -- Gitblit v1.8.0