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