From 636833dfe5ce1d27b30cec1e73badff884cfa1b9 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期六, 07 十二月 2024 18:25:07 +0800 Subject: [PATCH] 新增白名单故障类型 --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 64 ++++++++++++++----------------- 1 files changed, 29 insertions(+), 35 deletions(-) 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 ebc9afb..a0a9369 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -31,6 +31,8 @@ import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -152,8 +154,7 @@ item.setNo(item.getSerialNumber().getShowValue()); } }); - //TODO:浼樹簯鐨勪竴鏈轰竴妗e寘鍚簡瑙嗛銆佽溅杈嗐�佷汉鑴� 鏄湁涓�绉嶆槸鐪佸巺灏辩畻鐪佸巺鍚� - pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video); + pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Or); pointService.setNew(records); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); @@ -193,11 +194,12 @@ } // 鍏堟煡鍑鸿澶嘔P闆嗗悎,鍓旈櫎鎺夊湪绾挎儏鍐垫槸鏈煡鐨�,骞朵笖鍙娴嬫鍦ㄨ�冩牳鐨勮澶囬伩鍏嶅浣欏伐鍗� //TODO锛氶渶瑕佹妸娴峰悍鍜屼紭浜戠殑浠诲姟鐨勬椂闂磋皟鍒皃ing涔嬪墠 - //TODO锛氳繖閲岄渶瑕佸瓨涓変釜鏍囩鍚� List<TMonitorResult> monitorList = monitorMapper.getDistinctIP(); //琛ュ厖閿欒鏃堕棿鐐� Query onlineQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); - Map<String, TMonitorResult> mongoMap = mongoTemplate.find(onlineQuery, TMonitorResult.class).stream().collect(Collectors.toMap(TMonitorResult::getNo, Function.identity())); + Map<String, TMonitorResult> mongoMap = mongoTemplate.find(onlineQuery, TMonitorResult.class) + .stream() + .collect(Collectors.toMap(TMonitorResult::getNo, Function.identity(), (existing, replacement) -> replacement)); for (TMonitorResult result : monitorList) { TMonitorResult mongoData = mongoMap.get(result.getNo()); if(mongoData!=null){ @@ -220,36 +222,6 @@ ex.printStackTrace(); } return null; -// int checkTimes = 1; -// int offLineTimes = 1; -// Map<String, Object> map = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstant.ONLINE_KEY, monitor.getNo()); -// if (!CollectionUtils.isEmpty(map)) { -// checkTimes = (Integer) map.get("checkTimes") + 1; -// offLineTimes = (Integer) map.get("offLineTimes"); -// }else { -// map = new HashMap<>(); -// } -// monitor.setPingOnline(Boolean.FALSE); -// monitor.setCheckCount(checkTimes); -// monitor.setOffLineCount(offLineTimes); -// List<Date> offLineTime = monitor.getOffLineTime(); -// if(CollectionUtils.isEmpty(offLineTime)) offLineTime = new ArrayList<>(); -// offLineTime.add(new Date()); -// monitor.setOffLineTime(offLineTime); -// if (monitor.getOffLineCount() >= time) { -// WorkOrder workOrder = new WorkOrder(); -// workOrder.setSerialNumber(monitor.getNo()); -// List<String> errList = new ArrayList<>(); -// errList.add(ErrorType.DEVICE_OFFLINE.getValue()); -// workOrder.setErrorTypeList(errList); -// workOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED); -// monitor.setWorkOrder(workOrder); -// } -// map.put("checkTimes", checkTimes); -// map.put("offLineTimes", offLineTimes); -// redisTemplate.opsForHash().put(RedisConstant.ONLINE_KEY, monitor.getNo(), map); -// return monitor; // 杩斿洖澶辫触鐨勭粨鏋� - })) .collect(Collectors.toList()); @@ -292,11 +264,32 @@ } //瀛樻斁鍒癿ongo if (!CollectionUtils.isEmpty(dataList)) { + List<TMonitorResult> mongoList = new ArrayList<>(); + dataList.forEach(item->{ + String monitorType = item.getMonitorType(); + //鍚屼竴涓澶囧涓被鍨嬫瘡涓被鍨嬪瓨涓�鏉℃暟鎹紝浠ユ鍦ㄤ繚鐣欐暟鎹殑鎯呭喌涓嬪尯鍒嗙渷鍘呮爣绛� + if(StringUtils.isNotEmpty(monitorType)){ + String[] monitors = monitorType.split("/"); + for (String type : monitors) { + TMonitorResult mongoData = new TMonitorResult(); + BeanUtils.copyProperties(item,mongoData); + mongoData.setMonitorType(type); + if("1".equals(type)){ + mongoData.setProvinceTag(mongoData.getProvinceTagVideo()); + }else if("2".equals(type)){ + mongoData.setProvinceTag(mongoData.getProvinceTagCar()); + }else if("3".equals(type)){ + mongoData.setProvinceTag(mongoData.getProvinceTagFace()); + } + mongoList.add(mongoData); + } + } + }); //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, TMonitorResult.class); //瀛樻斁鍦╩ongo涓� - mongoTemplate.insertAll(dataList); + mongoTemplate.insertAll(mongoList); } //宸ュ崟锛堝悓涓�IP鍙敓鎴愪竴涓伐鍗曪級 List<WorkOrder> workOrderList = dataList.stream() @@ -344,6 +337,7 @@ item.setNo(item.getDeviceId()); } }); + //璨屼技杩欓噷鍙互蹇界暐鐪佸巺鏍囩鍥犱负椤圭洰灞曠ず鐨勫悗闈ing鐨勬椂鍊欏瓨鐨勬暟鎹� pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); -- Gitblit v1.8.0