From f8751d6e701e0c3e7d8959449b67db6c35d09ec8 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期日, 08 十二月 2024 19:24:07 +0800 Subject: [PATCH] 新增故障类型 --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 70 +++++++++++++++++------------------ 1 files changed, 34 insertions(+), 36 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 bd06ad5..a0a9369 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -25,11 +25,14 @@ import com.ycl.utils.CheckPointUtil; import com.ycl.utils.DateUtils; import constant.ApiConstants; +import constant.CheckConstants; import constant.RedisConstant; import enumeration.ErrorType; 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; @@ -102,7 +105,7 @@ item.setNo(item.getDeviceId()); } }); - pointService.setDeviceTagByGB(records); + pointService.setDeviceTagByGB(records, CheckConstants.Rule_Category_Video); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); // 宸ュ崟鐢熸垚 @@ -151,7 +154,7 @@ item.setNo(item.getSerialNumber().getShowValue()); } }); - pointService.setDeviceTagByGB(records); + pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Or); pointService.setNew(records); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); @@ -190,10 +193,13 @@ log.error("璇烽厤缃绾挎鏁帮紝姝ゆ璁剧疆涓洪粯璁ゅ��2"); } // 鍏堟煡鍑鸿澶嘔P闆嗗悎,鍓旈櫎鎺夊湪绾挎儏鍐垫槸鏈煡鐨�,骞朵笖鍙娴嬫鍦ㄨ�冩牳鐨勮澶囬伩鍏嶅浣欏伐鍗� + //TODO锛氶渶瑕佹妸娴峰悍鍜屼紭浜戠殑浠诲姟鐨勬椂闂磋皟鍒皃ing涔嬪墠 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){ @@ -216,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()); @@ -288,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() @@ -340,7 +337,8 @@ item.setNo(item.getDeviceId()); } }); - pointService.setDeviceTagByGB(records); + //璨屼技杩欓噷鍙互蹇界暐鐪佸巺鏍囩鍥犱负椤圭洰灞曠ず鐨勫悗闈ing鐨勬椂鍊欏瓨鐨勬暟鎹� + pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); //鏇存柊point琛ㄥ湪绾跨姸鎬� @@ -407,7 +405,7 @@ } }); //鎵撴爣绛� - pointService.setDeviceTagByGB(records); + pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video); //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(records); // // 宸ュ崟鐢熸垚 -- Gitblit v1.8.0