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