From 9a4549c0c2dbe44c9568fe56fb4df8d6fbb44d4f Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 19 八月 2024 16:33:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/platform/service/UYErrorTypeCheckService.java | 39 +++ ycl-server/src/main/java/com/ycl/task/HKTask.java | 64 +++--- ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java | 17 + ycl-server/src/main/java/com/ycl/utils/ip/PingUtil.java | 33 +++ ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml | 3 ycl-server/src/main/java/com/ycl/platform/mapper/PlatformMapper.java | 4 ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/MonitorQualifyResult.java | 4 ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java | 28 ++ ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 138 +++++++++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java | 5 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 3 ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java | 5 ycl-server/src/main/java/com/ycl/task/UYTask.java | 185 ++++++++++-------- ycl-common/src/main/java/enumeration/ErrorType.java | 36 +++ 14 files changed, 447 insertions(+), 117 deletions(-) diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java new file mode 100644 index 0000000..d5dfa8f --- /dev/null +++ b/ycl-common/src/main/java/enumeration/ErrorType.java @@ -0,0 +1,36 @@ +package enumeration; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.Getter; + +/** + * @author锛歺p + * @date锛�2024/8/19 11:39 + */ +@Getter +public enum ErrorType { + + PLATFORM_OFFLINE("PLATFORM_OFFLINE", "骞冲彴绂荤嚎"), + DEVICE_OFFLINE("DEVICE_OFFLINE", "璁惧绂荤嚎"), + VIDEO_LOSS("VIDEO_LOSS", "褰曞儚缂哄け"), + VIDEO_NONE("VIDEO_NONE", "鏃犲綍鍍�"), + POINT_INFO_ERROR("POINT_INFO_ERROR", "鐐逛綅淇℃伅閿欒"), + SIGNAL_LOSS("SIGNAL_LOSS", "淇″彿缂哄け"), + SCREEN_COLOR_DEVIATION("SCREEN_COLOR_DEVIATION", "鐢婚潰鍋忚壊"), + SNOW_STORM("SNOW_STORM", "闆姳骞叉壈"), + STRIPE_INTERFERENCE("STRIPE_INTERFERENCE", "鏉$汗骞叉壈"), + SCREEN_OCCLUSION("SCREEN_OCCLUSION", "鐢婚潰閬尅"), + ABNORMAL_CLARITY("ABNORMAL_CLARITY", "娓呮櫚搴﹀紓甯�"), + ABNORMAL_BRIGHTNESS("ABNORMAL_BRIGHTNESS", "浜害寮傚父"), + UNKNOWN("UNKNOWN", "鏈煡"), + ; + + private String value; + + private String desc; + + ErrorType(String value, String desc) { + this.value = value; + this.desc = desc; + } +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/MonitorQualifyResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/MonitorQualifyResult.java index 6e24c3e..1bc167e 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/MonitorQualifyResult.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/MonitorQualifyResult.java @@ -59,6 +59,7 @@ * 绉熸埛id */ private QualifyResult tenantId; + @Data public static class QualifyResult { /** @@ -70,6 +71,9 @@ * 灞曠ず鍊� * */ private String showValue; + /** + * 鏁版嵁鍘熷鍊硷紝濡傚浗鏍囩爜绛� + */ private String value; } } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java index a2b62a9..c0c328b 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformVO.java @@ -22,6 +22,8 @@ /** 骞冲彴IP */ private String platformIP; + private Integer parentId; + /** 骞冲彴鑱旂郴浜� */ private String platformContact; @@ -43,6 +45,9 @@ /** 淇敼鏃堕棿 */ private Date updateTime; + /** 瀛愮骇鏁伴噺 */ + private Integer childNum; + public static PlatformVO getVoByEntity(@NonNull Platform entity, PlatformVO vo) { if(vo == null) { vo = new PlatformVO(); diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/PlatformMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/PlatformMapper.java index 4e8651a..a7ff1d3 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/PlatformMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/PlatformMapper.java @@ -9,6 +9,8 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 骞冲彴杩愯鐩戞帶 Mapper 鎺ュ彛 * @@ -28,6 +30,6 @@ /** * 鍒嗛〉 */ - IPage getPage(IPage page, @Param("query") PlatformQuery query); + List<PlatformVO> getPage(@Param("query") PlatformQuery query); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java b/ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java index dcb6491..d8cbad3 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/IYwThresholdService.java @@ -78,4 +78,9 @@ * 鍒ゆ柇瑙嗛闃堝�兼潯浠� */ public void videoCheck(List list); + + /** + * 闃堝�兼棤娉曞垽鏂殑锛屾牎楠屾晠闅滅被鍨嬬敓鎴愬伐鍗曘�備紭浜� + */ + public void errorTypeCheckUY(List list); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/UYErrorTypeCheckService.java b/ycl-server/src/main/java/com/ycl/platform/service/UYErrorTypeCheckService.java new file mode 100644 index 0000000..273fd41 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/UYErrorTypeCheckService.java @@ -0,0 +1,39 @@ +package com.ycl.platform.service; + +import com.ycl.platform.domain.result.UY.*; + +import java.util.List; + +/** + * 浼樹簯鏁呴殰妫�娴� + * + * @author锛歺p + * @date锛�2024/8/19 13:41 + */ +public interface UYErrorTypeCheckService { + + /** + * 鍥惧儚妫�娴� + */ + void imageDetectionCheck(List<ImageDetectionResult> dataList); + + /** + * 涓�鏈轰竴妗e悎鏍肩巼銆佷竴鏈轰竴妗f敞鍐岀巼 + */ + void monitorQualifyCheck(List<MonitorQualifyResult> dataList); + + /** + * 鐐逛綅鍦ㄧ嚎鐜� + */ + void videoOnlineCheck(List<VideoOnlineResult> dataList); + + /** + * 褰曞儚鍙敤 + */ + void recordMetaDSumCheck(List<RecordMetaDSumResult> dataList); + +// /** +// * 瑙嗛鏍囨敞 +// */ +// void osdMonitorCheck(List<OsdMonitorResult> dataList); +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java index a755dc6..b1bb3f9 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java @@ -1,6 +1,7 @@ package com.ycl.platform.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.Platform; import com.ycl.platform.domain.form.PlatformForm; @@ -18,6 +19,7 @@ import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -107,9 +109,18 @@ */ @Override public Result page(PlatformQuery query) { - IPage<PlatformVO> page = PageUtil.getPage(query, PlatformVO.class); - baseMapper.getPage(page, query); - return Result.ok().data(page.getRecords()).total(page.getTotal()); + List<PlatformVO> list = baseMapper.getPage(query); + List<PlatformVO> parentList = list.stream().filter(item -> item.getParentId() == 0).collect(Collectors.toList()); + List<PlatformVO> resultList = new ArrayList<>(4); + for (PlatformVO parent : parentList) { + List<PlatformVO> childList = list.stream().filter(item -> item.getParentId().equals(parent.getId())).collect(Collectors.toList()); + + parent.setChildNum(childList.size()); + resultList.add(parent); + resultList.addAll(childList); + } + // 鍓嶇涓嶇敤灞曠ず鍒嗛〉 + return Result.ok().data(resultList).total(0); } /** diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java new file mode 100644 index 0000000..d48d425 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java @@ -0,0 +1,138 @@ +package com.ycl.platform.service.impl; + +import com.ycl.platform.domain.entity.WorkOrder; +import com.ycl.platform.domain.result.UY.*; +import com.ycl.platform.service.UYErrorTypeCheckService; +import com.ycl.platform.service.WorkOrderService; +import com.ycl.utils.uuid.IdUtils; +import enumeration.ErrorType; +import enumeration.general.WorkOrderStatusEnum; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author锛歺p + * @date锛�2024/8/19 13:46 + */ +@Service +@RequiredArgsConstructor +public class UYErrorTypeCheckServiceImpl implements UYErrorTypeCheckService { + + private final WorkOrderService workOrderService; + + /** + * 鍥惧儚妫�娴嬬敓鎴愬伐鍗� + * + * @param dataList + */ + @Override + public void imageDetectionCheck(List<ImageDetectionResult> dataList) { + List<WorkOrder> workOrderList = dataList.stream().map(item -> { + WorkOrder workOrder = new WorkOrder(); + // 淇″彿缂哄け + if (0 == item.getSigna1()) { + this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId()); + } + // 鐢婚潰鍋忚壊 + if (0 == item.getColor()) { + this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId()); + } + // 闆姳骞叉壈 + if (0 == item.getSnow()) { + this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId()); + } + // 鏉$汗骞叉壈 + if (0 == item.getStripe()) { + this.genWorkOrder(workOrder, ErrorType.STRIPE_INTERFERENCE, item.getDeviceId()); + } + // 鐢婚潰閬尅 + if (0 == item.getShade()) { + this.genWorkOrder(workOrder, ErrorType.SCREEN_OCCLUSION, item.getDeviceId()); + } + // 娓呮櫚搴﹀紓甯� + if (0 == item.getBlur()) { + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_CLARITY, item.getDeviceId()); + } + // 浜害寮傚父 + if (0 == item.getLight()) { + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_BRIGHTNESS, item.getDeviceId()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + + /** + * 鐐逛綅淇℃伅寮傚父 + * + * @param dataList + */ + @Override + public void monitorQualifyCheck(List<MonitorQualifyResult> dataList) { + List<WorkOrder> workOrderList = dataList.stream().map(item -> { + WorkOrder workOrder = new WorkOrder(); + if (item.getSerialNumber().getError() + || item.getCivilCode().getError() + || item.getIntegrated_device().getError() + || item.getIp().getError() + || item.getJkdwlx().getError() + || item.getLatitude().getError() + || item.getLongitude().getError() + || item.getMacdz().getError() + || item.getSbzt().getError() + || item.getName().getError() + || item.getSxjcjqy().getError() + || item.getSxjgnlx().getError()) { + this.genWorkOrder(workOrder, ErrorType.POINT_INFO_ERROR, item.getSerialNumber().getValue()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + + @Override + public void videoOnlineCheck(List<VideoOnlineResult> dataList) { + List<WorkOrder> workOrderList = dataList.stream().map(item -> { + WorkOrder workOrder = new WorkOrder(); + if (-1 == item.getStatus()) { + this.genWorkOrder(workOrder, ErrorType.DEVICE_OFFLINE, item.getDeviceId()); + } else if (0 == item.getStatus()) { + this.genWorkOrder(workOrder, ErrorType.UNKNOWN, item.getDeviceId()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + + @Override + public void recordMetaDSumCheck(List<RecordMetaDSumResult> dataList) { + List<WorkOrder> workOrderList = dataList.stream().map(item -> { + WorkOrder workOrder = new WorkOrder(); + if (0 == item.getRecordStatus()) { + this.genWorkOrder(workOrder, ErrorType.VIDEO_LOSS, item.getDeviceId()); + } else if (-1 == item.getRecordStatus()) { + this.genWorkOrder(workOrder, ErrorType.VIDEO_NONE, item.getDeviceId()); + } + return workOrder; + }).collect(Collectors.toList()); + workOrderService.innerAddWorkOrder(workOrderList); + } + + + /** + * 宸ュ崟淇℃伅 + * + * @param workOrder + * @param errorType 鏁呴殰绫诲瀷 + * @param serialNumber 鍥芥爣鐮� + */ + private void genWorkOrder(WorkOrder workOrder, ErrorType errorType, String serialNumber) { + workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5)); + workOrder.setErrorType(errorType.getValue()); + workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); + workOrder.setSerialNumber(serialNumber); + } +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index b2fbbba..66e3094 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -93,6 +93,7 @@ Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder))); List<WorkOrder> waitAddList = new ArrayList<>(48); Integer updateNum = 0; + // TODO 鏌ヨ鏄惁鎶ュ杩囷紝鏇存柊鏁呴殰绫诲瀷 for (WorkOrder workOrder : workOrderList) { WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber()); if (Objects.nonNull(databaseWorkOrder)) { @@ -112,6 +113,8 @@ // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣 TODO } } else { + workOrder.setCreateTime(new Date()); + workOrder.setUpdateTime(new Date()); waitAddList.add(workOrder); } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java index c03051e..34df3f5 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwThresholdServiceImpl.java @@ -9,6 +9,7 @@ import com.ycl.platform.mapper.YwThresholdMapper; import com.ycl.platform.service.IYwThresholdService; import com.ycl.platform.service.WorkOrderService; +import com.ycl.utils.ip.PingUtil; import constant.YwThreadConstants; import enumeration.CompareType; import enumeration.general.BusinessTypeEnum; @@ -16,6 +17,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import utils.DateUtils; import java.util.*; @@ -117,6 +119,32 @@ } + @Override + public void errorTypeCheckUY(List list) { + // 骞冲彴绂荤嚎鏁呴殰妫�娴� + if (CollectionUtils.isEmpty(list)) { + Boolean ping = PingUtil.ping("", 5); + if (! ping) { + + } + } + // 璁惧绂荤嚎鏁呴殰妫�娴� + + // 淇″彿缂哄け鏁呴殰妫�娴� + + // 鐢婚潰鍋忚壊鏁呴殰妫�娴� + + // 闆姳骞叉壈鏁呴殰妫�娴� + + // 鏉$汗骞叉壈鏁呴殰妫�娴� + + // 鐢婚潰閬尅鏁呴殰妫�娴� + + // 娓呮櫚搴﹀紓甯告娴� + + // 浜害寮傚父鏁呴殰妫�娴� + } + /** * 鍒ゆ柇浜鸿劯闃堝�兼槸鍚︽弧瓒充笅鍙戞潯浠� * 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 79123b7..00b346a 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -43,42 +43,46 @@ //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 public void vehicleDeviceInspectionTask() { log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); - VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); - param.setPageNo(ApiConstants.PageNo); - param.setPageSize(ApiConstants.HKPageSize); - param.setDate(DateUtils.getDate()); - param.setDataType(ApiConstants.HK_DataType_CAR); - List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class); - if (!CollectionUtils.isEmpty(list)) { - //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 - Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class); - //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(list); - //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� - ywThresholdService.carCheck(list); - } +// VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); +// param.setPageNo(ApiConstants.PageNo); +// param.setPageSize(ApiConstants.HKPageSize); +// param.setDate(DateUtils.getDate()); +// param.setDataType(ApiConstants.HK_DataType_CAR); +// List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class); +// if (!CollectionUtils.isEmpty(list)) { +// //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 +// Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); +// DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class); +// //瀛樻斁鍦╩ongo涓� +// mongoTemplate.insertAll(list); +// //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� +// ywThresholdService.carCheck(list); +// } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + ywThresholdService.carCheck(mongoTemplate.find(query, VehicleDeviceInspectionResult.class)); log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 public void faceDeviceInspectionTask() { log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); - FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); - param.setPageNo(ApiConstants.PageNo); - param.setPageSize(ApiConstants.HKPageSize); - param.setDate(DateUtils.getDate()); - List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class); - if (!CollectionUtils.isEmpty(list)) { - //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 - Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class); - //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(list); - //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� - //TODO:鍙兘鏈夐噸澶嶅伐鍗� - ywThresholdService.faceCheck(list); - } +// FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); +// param.setPageNo(ApiConstants.PageNo); +// param.setPageSize(ApiConstants.HKPageSize); +// param.setDate(DateUtils.getDate()); +// List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class); +// if (!CollectionUtils.isEmpty(list)) { +// //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 +// Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); +// DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class); +// //瀛樻斁鍦╩ongo涓� +// mongoTemplate.insertAll(list); +// //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� +// //TODO:鍙兘鏈夐噸澶嶅伐鍗� +// ywThresholdService.faceCheck(list); +// } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + ywThresholdService.faceCheck(mongoTemplate.find(query, FaceDeviceInspectionResult.class)); log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); } 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 1c0d8af..1313214 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -4,12 +4,14 @@ 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.utils.DateUtils; import constant.ApiConstants; import lombok.extern.slf4j.Slf4j; @@ -43,6 +45,9 @@ private IYwThresholdService ywThresholdService; @Autowired private ITMonitorService monitorService; + @Autowired + private UYErrorTypeCheckService uyErrorTypeCheckService; + @Value("${youYun.tenantId}") private String tenantId; @Value("${youYun.apikey}") @@ -57,37 +62,41 @@ // 鍥惧儚妫�娴� public void imageDetection() { log.info("寮�濮嬫墽琛屽浘鍍忔娴嬫暟鎹悓姝�"); - ImageDetectionParam param = new ImageDetectionParam(); - param.setPageNum(ApiConstants.PageNo); - param.setPageSize(ApiConstants.PageSize); - param.setArealayerno(ApiConstants.AreaNo); - JSONObject jsonObject = uyClient.imageDetection(param); - if (jsonObject != null) { - log.info("鏁版嵁鏍煎紡" + jsonObject); - Integer statusCode = jsonObject.getInteger("statusCode"); - if (ApiConstants.UYSuccessCode.equals(statusCode)) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data != null) { - List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class); - if (!CollectionUtils.isEmpty(records)) { - //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 - Query query = new Query(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - DeleteResult result = mongoTemplate.remove(query, QueryVqdResult.class); - //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(records); - } else { - log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", data); - } - } else { - log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", jsonObject); - } - } else { - log.error("鍥惧儚鐩戞祴璇锋眰澶辫触{}", jsonObject); - } - } else { - log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖"); - } +// ImageDetectionParam param = new ImageDetectionParam(); +// param.setPageNum(ApiConstants.PageNo); +// param.setPageSize(ApiConstants.PageSize); +// param.setArealayerno(ApiConstants.AreaNo); +// JSONObject jsonObject = uyClient.imageDetection(param); +// if (jsonObject != null) { +// log.info("鏁版嵁鏍煎紡" + jsonObject); +// Integer statusCode = jsonObject.getInteger("statusCode"); +// if (ApiConstants.UYSuccessCode.equals(statusCode)) { +// JSONObject data = jsonObject.getJSONObject("data"); +// if (data != null) { +// List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class); +// if (!CollectionUtils.isEmpty(records)) { +// //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 +// Query query = new Query(Criteria +// .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); +// DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class); +// //瀛樻斁鍦╩ongo涓� +// mongoTemplate.insertAll(records); +// // 宸ュ崟鐢熸垚 +// uyErrorTypeCheckService.imageDetectionCheck(records); +// } else { +// log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", data); +// } +// } else { +// log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", jsonObject); +// } +// } else { +// log.error("鍥惧儚鐩戞祴璇锋眰澶辫触{}", jsonObject); +// } +// } else { +// log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖"); +// } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + uyErrorTypeCheckService.imageDetectionCheck(mongoTemplate.find(query, ImageDetectionResult.class)); log.info("缁撴潫鎵ц鍥惧儚鐩戞祴鏁版嵁鍚屾"); } @@ -97,33 +106,37 @@ // 涓�鏈轰竴妗f敞鍐岀巼 // 妗f鑰冩牳姣� log.info("寮�濮嬫墽琛屼竴鏈轰竴妗e悎鏍肩巼鏁版嵁鍚屾"); - MonitorQualifyParam param = new MonitorQualifyParam(); - param.setPageNum(ApiConstants.PageNo); - param.setPageSize(ApiConstants.PageSize); - JSONObject jsonObject = uyClient.monitorQualify(param); - if (jsonObject != null) { - String code = jsonObject.getString("code"); - if (ApiConstants.UYSuccessCodeStr.equals(code)) { - JSONObject data = jsonObject.getJSONObject("data"); - if (data != null) { - List<MonitorQualifyResult> records = data.getList("records", MonitorQualifyResult.class); - if (!CollectionUtils.isEmpty(records)) { - //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 - Query query = new Query(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - DeleteResult result = mongoTemplate.remove(query, MonitorQualifyResult.class); - //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(records); - } else { - log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖{}", data); - } - } - } else { - log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖{}", jsonObject); - } - } else { - log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖"); - } +// MonitorQualifyParam param = new MonitorQualifyParam(); +// param.setPageNum(ApiConstants.PageNo); +// param.setPageSize(ApiConstants.PageSize); +// JSONObject jsonObject = uyClient.monitorQualify(param); +// if (jsonObject != null) { +// String code = jsonObject.getString("code"); +// if (ApiConstants.UYSuccessCodeStr.equals(code)) { +// JSONObject data = jsonObject.getJSONObject("data"); +// if (data != null) { +// List<MonitorQualifyResult> records = data.getList("records", MonitorQualifyResult.class); +// if (!CollectionUtils.isEmpty(records)) { +// //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 +// Query query = new Query(Criteria +// .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); +// DeleteResult result = mongoTemplate.remove(query, MonitorQualifyResult.class); +// //瀛樻斁鍦╩ongo涓� +// mongoTemplate.insertAll(records); +// // 宸ュ崟鐢熸垚 +// uyErrorTypeCheckService.monitorQualifyCheck(records); +// } else { +// log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖{}", data); +// } +// } +// } else { +// log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖{}", jsonObject); +// } +// } else { +// log.error("涓�鏈轰竴妗e悎鏍肩巼鏁版嵁涓虹┖"); +// } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + uyErrorTypeCheckService.monitorQualifyCheck(mongoTemplate.find(query, MonitorQualifyResult.class)); log.info("缁撴潫涓�鏈轰竴妗e悎鏍肩巼鏁版嵁鍚屾"); } @@ -151,6 +164,8 @@ DeleteResult result = mongoTemplate.remove(query, VideoOnlineResult.class); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); + // 宸ュ崟鐢熸垚 + uyErrorTypeCheckService.videoOnlineCheck(records); } else { log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data); } @@ -163,6 +178,8 @@ } else { log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖"); } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + uyErrorTypeCheckService.videoOnlineCheck(mongoTemplate.find(query, VideoOnlineResult.class)); log.info("缁撴潫鎵ц鐐逛綅鍦ㄧ嚎鏁版嵁鍚屾"); } @@ -170,30 +187,34 @@ public void recordMetaDSumTask() { //褰曞儚鍙敤鐜� log.info("寮�濮嬫墽琛屽綍鍍忓彲鐢ㄦ暟鎹悓姝�"); - RecordMetaDSumParam param = new RecordMetaDSumParam(); - param.setTenantId(tenantId); - Calendar instance = Calendar.getInstance(); - instance.setTime(new Date()); - instance.add(Calendar.DAY_OF_MONTH, -1); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - String yesterday = format.format(instance.getTime()); - param.setStatTime(yesterday); - JSONObject jsonObject = uyClient.recordMetaDSumList(param); - if (jsonObject != null) { - if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) { - List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class); - if (!CollectionUtils.isEmpty(records)) { - //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 - Query query = new Query(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class); - //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(records); - } - } else { - log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject); - } - } +// RecordMetaDSumParam param = new RecordMetaDSumParam(); +// param.setTenantId(tenantId); +// Calendar instance = Calendar.getInstance(); +// instance.setTime(new Date()); +// instance.add(Calendar.DAY_OF_MONTH, -1); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); +// String yesterday = format.format(instance.getTime()); +// param.setStatTime(yesterday); +// JSONObject jsonObject = uyClient.recordMetaDSumList(param); +// if (jsonObject != null) { +// if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) { +// List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class); +// if (!CollectionUtils.isEmpty(records)) { +// //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 +// Query query = new Query(Criteria +// .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); +// DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class); +// //瀛樻斁鍦╩ongo涓� +// mongoTemplate.insertAll(records); +// // 宸ュ崟鐢熸垚 +// uyErrorTypeCheckService.recordMetaDSumCheck(records); +// } +// } else { +// log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject); +// } +// } + Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date()))); + uyErrorTypeCheckService.recordMetaDSumCheck(mongoTemplate.find(query, RecordMetaDSumResult.class)); log.info("缁撴潫鎵ц褰曞儚鍙敤鏁版嵁鍚屾"); } diff --git a/ycl-server/src/main/java/com/ycl/utils/ip/PingUtil.java b/ycl-server/src/main/java/com/ycl/utils/ip/PingUtil.java new file mode 100644 index 0000000..17be5a2 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/utils/ip/PingUtil.java @@ -0,0 +1,33 @@ +package com.ycl.utils.ip; + +import lombok.extern.slf4j.Slf4j; + +import java.io.IOException; +import java.net.InetAddress; + +/** + * ping + * + * @author锛歺p + * @date锛�2024/8/19 11:11 + */ +@Slf4j +public class PingUtil { + + /** + * ping + * + * @param ip 鐩爣ip鍦板潃 + * @param timeoutSed 瓒呮椂鏃堕棿 + * @return 鏄惁鍦ㄧ嚎 + */ + public static Boolean ping(String ip, Integer timeoutSed) { + try { + return InetAddress.getByName(ip).isReachable(timeoutSed * 1000); + } catch (IOException e) { + log.error("鏈煡鐨処P鍦板潃"); + return Boolean.FALSE; + } + } + +} diff --git a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml index c7f08b3..5102e2b 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml @@ -44,7 +44,8 @@ TP.remark, TP.create_time, TP.update_time, - TP.id + TP.id, + TP.parent_id FROM t_platform TP WHERE -- Gitblit v1.8.0