From 918b26794c7d3b3faa2c57e6a6cb0c11ea4e73e8 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 05 十二月 2024 16:34:56 +0800
Subject: [PATCH] 省厅标签拆分2

---
 ycl-server/src/main/java/com/ycl/task/UYTask.java |   68 ++++++++++++++++-----------------
 1 files changed, 33 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 68237f3..138418e 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);
@@ -175,6 +178,8 @@
 
     /**
      * 鐐逛綅鍦ㄧ嚎PING妫�娴�
+     * 浠诲姟浼氬厛鎵ц涓�娆′紭浜戝悓姝ワ紝鐒跺悗鎵цping妫�娴�
+     * online瀛楁鏉ヨ嚜浜庝紭浜戯紝pingOnline涓轰富鍔╬ing妫�娴嬬殑銆傚瓨鍏ongo缁欐暟鎹腑蹇冩煡闃�
      */
     public void pointOnline() throws ExecutionException, InterruptedException {
         log.info("寮�濮嬫娴嬬偣浣嶅湪绾�");
@@ -188,6 +193,7 @@
             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())));
@@ -214,36 +220,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());
 
@@ -286,11 +262,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()
@@ -338,7 +335,8 @@
                                 item.setNo(item.getDeviceId());
                             }
                         });
-                        pointService.setDeviceTagByGB(records);
+                        //璨屼技杩欓噷鍙互蹇界暐鐪佸巺鏍囩鍥犱负椤圭洰灞曠ず鐨勫悗闈ing鐨勬椂鍊欏瓨鐨勬暟鎹�
+                        pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
                         //瀛樻斁鍦╩ongo涓�
                         mongoTemplate.insertAll(records);
                         //鏇存柊point琛ㄥ湪绾跨姸鎬�
@@ -405,7 +403,7 @@
                         }
                     });
                     //鎵撴爣绛�
-                    pointService.setDeviceTagByGB(records);
+                    pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
                     //瀛樻斁鍦╩ongo涓�
                     mongoTemplate.insertAll(records);
 //                    // 宸ュ崟鐢熸垚

--
Gitblit v1.8.0