From 0ccc9a0dcadfb32aa8c63b718518ec0d216fae8f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 05 九月 2024 17:06:16 +0800
Subject: [PATCH] 保存到mongo时设置标签信息
---
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java | 37 +++++++++
ycl-server/src/main/java/com/ycl/task/HKTask.java | 86 ++++++++++++++++++--
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 11 ++
ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java | 25 ++++++
ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java | 9 ++
ycl-server/src/main/java/com/ycl/task/UYTask.java | 46 ++++++-----
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 14 +++
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java | 10 ++
8 files changed, 207 insertions(+), 31 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
index ce6f3d4..6e9a164 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
@@ -17,4 +17,29 @@
*/
@CreatedDate
private LocalDate mongoCreateTime;
+
+ /**
+ * 鍥芥爣鐮�
+ */
+ private String no;
+
+ /**
+ * 鐪佸巺
+ */
+ private Boolean provinceTag;
+
+ /**
+ * 閮ㄧ骇
+ */
+ private Boolean deptTag;
+
+ /**
+ * 閲嶇偣
+ */
+ private Boolean importantTag;
+
+ /**
+ * 閲嶇偣鎸囨尌鍥惧儚
+ */
+ private Boolean importantCommandImageTag;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java
new file mode 100644
index 0000000..e6f6d0a
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java
@@ -0,0 +1,37 @@
+package com.ycl.platform.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/9/5 12:08
+ */
+@Data
+public class CheckTagVO {
+
+ /**
+ * 璁惧缂栧彿
+ */
+ private String no;
+
+ /**
+ * 鐪佸巺
+ */
+ private Boolean provinceTag;
+
+ /**
+ * 閮ㄧ骇
+ */
+ private Boolean deptTag;
+
+ /**
+ * 閲嶇偣
+ */
+ private Boolean importantTag;
+
+ /**
+ * 閲嶇偣鎸囨尌鍥惧儚
+ */
+ private Boolean importantCommandImageTag;
+
+}
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 f95bd46..9ec669c 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
@@ -6,6 +6,7 @@
import com.ycl.platform.domain.entity.ReportAuditingRecord;
import com.ycl.platform.domain.entity.YwPoint;
import com.ycl.platform.domain.query.YwPointQuery;
+import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.domain.excel.PointExport;
@@ -104,4 +105,12 @@
* @return
*/
ReportAuditingRecordVO getReportResult(@Param("serialNumber") String serialNumber, @Param("reportType") String reportType);
+
+ /**
+ * 閫氳繃鍥芥爣鑾峰彇鏍囩淇℃伅
+ *
+ * @param gbList
+ * @return
+ */
+ List<CheckTagVO> getTagsByGB(@Param("gbList") List<String> gbList);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index 02d6b0c..8a9ca65 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -6,6 +6,8 @@
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.query.YwPointQuery;
+import com.ycl.platform.domain.result.BaseResult;
+import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.system.Result;
import jakarta.servlet.http.HttpServletResponse;
@@ -131,4 +133,12 @@
* @return
*/
ReportAuditingRecordVO getReportResult(String serialNumber, String reportType);
+
+ /**
+ * 鏍规嵁鍥芥爣鑾峰彇tag
+ *
+ * @param dataList 鏁版嵁
+ * @return
+ */
+ <T extends BaseResult> void setDeviceTagByGB(List<T> dataList);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 95a973d..35bf6ab 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -13,6 +13,8 @@
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.query.YwPointQuery;
+import com.ycl.platform.domain.result.BaseResult;
+import com.ycl.platform.domain.vo.CheckTagVO;
import com.ycl.platform.domain.vo.ReportAuditingRecordVO;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.mapper.YwPeopleMapper;
@@ -310,4 +312,16 @@
log.error("鎬诲叡鑰楁椂锛�" + (endTime.getTime() - startTime.getTime()));
}
+ @Override
+ public <T extends BaseResult> void setDeviceTagByGB(List<T> dataList) {
+ List<String> gbList = dataList.stream().map(BaseResult::getNo).collect(Collectors.toList());
+ List<CheckTagVO> pointList = baseMapper.getTagsByGB(gbList);
+ Map<String, CheckTagVO> pointMap = pointList.stream().collect(Collectors.toMap(CheckTagVO::getNo, item -> item));
+ for (BaseResult data : dataList) {
+ CheckTagVO tag = pointMap.get(data.getNo());
+ if (Objects.nonNull(tag)) {
+ BeanUtils.copyProperties(tag, data);
+ }
+ }
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index d310a07..85c3811 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -3,16 +3,11 @@
import com.alibaba.fastjson2.JSONObject;
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.HkApiUtil;
-import com.ycl.feign.HkApiUtil;
import com.ycl.platform.domain.param.HK.*;
import com.ycl.platform.domain.result.HK.*;
-import com.ycl.platform.service.ICheckIndexCarService;
-import com.ycl.platform.service.ICheckIndexFaceService;
-import com.ycl.platform.service.ICheckIndexVideoService;
-import com.ycl.platform.service.IYwThresholdService;
+import com.ycl.platform.service.*;
import com.ycl.utils.DateUtils;
import constant.ApiConstants;
-import com.ycl.feign.HKClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -24,6 +19,7 @@
import java.util.Date;
import java.util.List;
+import java.util.Objects;
//娴峰悍瀵规帴鏁版嵁浠诲姟
@Slf4j
@@ -41,11 +37,7 @@
@Autowired
private IYwThresholdService ywThresholdService;
@Autowired
- private ICheckIndexFaceService checkIndexFaceService;
- @Autowired
- private ICheckIndexCarService checkIndexCarService;
- @Autowired
- private ICheckIndexVideoService checkIndexVideoService;
+ private YwPointService pointService;
//杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
public void vehicleDeviceInspectionTask() {
@@ -60,6 +52,12 @@
//濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class);
+ list.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(list);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(list);
//鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
@@ -83,6 +81,12 @@
//濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class);
+ list.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(list);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(list);
//鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
@@ -110,6 +114,12 @@
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
.and("dataType").is(ApiConstants.HK_DataType_CAR));
DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+ carList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(carList);
//瀛樻斁鍦╩ongo涓�
carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
mongoTemplate.insertAll(carList);
@@ -129,6 +139,12 @@
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
.and("dataType").is(ApiConstants.HK_DataType_FACE));
DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
mongoTemplate.insertAll(faceList);
@@ -150,6 +166,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, MonitoringDetailResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -170,6 +192,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -192,6 +220,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -214,6 +248,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -241,6 +281,12 @@
DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
//瀛樻斁鍦╩ongo涓�
carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
+ carList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(carList);
mongoTemplate.insertAll(carList);
}
@@ -281,6 +327,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -303,6 +355,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
@@ -324,6 +382,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class);
+ faceList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getExternalIndexCode())) {
+ item.setNo(item.getExternalIndexCode());
+ }
+ });
+ pointService.setDeviceTagByGB(faceList);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(faceList);
}
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 0554404..672b4ad 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -4,49 +4,37 @@
import com.mongodb.client.result.DeleteResult;
import com.ycl.feign.UYClient;
import com.ycl.platform.domain.param.UY.*;
-import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
-import com.ycl.platform.domain.result.UY.OneMachineFileResult;
-import com.ycl.platform.domain.result.UY.OsdMonitorResult;
import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
import com.ycl.platform.domain.result.UY.*;
-import com.ycl.platform.service.ITMonitorService;
-import com.ycl.platform.service.IYwThresholdService;
import com.ycl.platform.service.UYErrorTypeCheckService;
+import com.ycl.platform.service.YwPointService;
import com.ycl.utils.DateUtils;
import constant.ApiConstants;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
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.format.annotation.DateTimeFormat;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
//浼樹簯瀵规帴鏁版嵁浠诲姟
@Slf4j
@Component("UYTask")
+@RequiredArgsConstructor
public class UYTask {
- @Autowired
- private MongoTemplate mongoTemplate;
- @Autowired
- private UYClient uyClient;
- @Autowired
- private IYwThresholdService ywThresholdService;
- @Autowired
- private ITMonitorService monitorService;
- @Autowired
- private UYErrorTypeCheckService uyErrorTypeCheckService;
+ private final MongoTemplate mongoTemplate;
+ private final UYClient uyClient;
+ private final UYErrorTypeCheckService uyErrorTypeCheckService;
+ private final YwPointService pointService;
@Value("${youYun.tenantId}")
private String tenantId;
@@ -79,6 +67,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
+ records.stream().forEach(item -> {
+ if (Objects.nonNull(item.getDeviceId())) {
+ item.setNo(item.getDeviceId());
+ }
+ });
+ pointService.setDeviceTagByGB(records);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(records);
// 宸ュ崟鐢熸垚
@@ -122,6 +116,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, MonitorQualifyResult.class);
+ records.stream().forEach(item -> {
+ if (Objects.nonNull(item.getSerialNumber())) {
+ item.setNo(item.getSerialNumber().getShowValue());
+ }
+ });
+ pointService.setDeviceTagByGB(records);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(records);
// 宸ュ崟鐢熸垚
@@ -207,6 +207,12 @@
Query query = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class);
+ records.stream().forEach(item -> {
+ if (Objects.nonNull(item.getDeviceId())) {
+ item.setNo(item.getDeviceId());
+ }
+ });
+ pointService.setDeviceTagByGB(records);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(records);
// 宸ュ崟鐢熸垚
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index 86df1f8..e5dfe33 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -214,4 +214,15 @@
limit 1
</select>
+ <select id="getTagsByGB" resultType="com.ycl.platform.domain.vo.CheckTagVO">
+ SELECT
+ serial_number as no, province_tag, important_tag, important_command_image_tag, dept_tag
+ FROM
+ t_yw_point
+ WHERE
+ deleted = 0 AND serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach>
+ GROUP BY
+ serial_number, province_tag, important_tag, important_command_image_tag, dept_tag
+ </select>
+
</mapper>
--
Gitblit v1.8.0