From fb842a99734726e628bd0981ccdf80a253534eaa Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 17 五月 2022 17:06:07 +0800
Subject: [PATCH] 日志

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 20 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
index 2b02621..02bb51e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.HexUtil;
 import cn.hutool.core.util.StrUtil;
+import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.domain.CommonPage;
@@ -99,12 +100,37 @@
     public List<LightBo> listLight(int pageNo, int pageSize, String keyword) {
         Long clientId = SecurityUtils.getClientId();
 
-        PageHelper.startPage(pageNo, pageSize);
+      //  PageHelper.startPage(pageNo, pageSize);
 
         List<LightBo> listLight = baseMapper.listLight(clientId, keyword);
 
         // 鑾峰彇鏈�杩戠殑涓婃姤鏃堕棿
         List<String> deviceCodeList = listLight.stream().map(Light::getDeviceCode).collect(Collectors.toList());
+        //鎷嗗垎list
+        List<List<String>> split = CollectionUtil.split(deviceCodeList, 100);
+
+        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses=null;
+        for (List<String> splist : split) {
+            deviceStatuses=MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
+            if (deviceStatuses != null) {
+                for (LightBo lightBo : listLight) {
+                    for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
+
+                        if (lightBo.getDeviceCode() != null && lightBo.getDeviceCode().equals(deviceStatus.getDeviceName())) {
+                            if("ONLINE".equals(deviceStatus.getStatus()) ){
+                                lightBo.setOnlineStatus(0);
+                            }else if("OFFLINE".equals(deviceStatus.getStatus())){
+                                lightBo.setOnlineStatus(1);
+                            }else {
+                                lightBo.setOnlineStatus(2);
+                            }
+
+                        }
+                    }
+
+                }
+            }
+        }
         if (CollectionUtil.isNotEmpty(deviceCodeList)) {
             List<LightReportData> reportDataList = lightReportDataService.getNewestReportByDeviceCode(deviceCodeList);
             for (LightBo lightBo : listLight) {
@@ -227,6 +253,20 @@
             }
         }
 
+        /**
+         * 鏈嶅姟绔壒閲忔帶鐏棩蹇楄褰曞紑濮�
+         */
+        String content = "{鎺х伅璇锋眰锛�" + paramList.toString()
+                + "锛� 鎺х伅缁撴灉锛�" + resultList.toString() + "}";
+        List<String> codeList = new ArrayList<>();
+        for (LightControlParam bean : paramList) {
+            codeList.add(bean.getDeviceCode());
+        }
+        StoreOperationRecordsUtils.storeOperationData(codeList, null, "鏈嶅姟绔壒閲忔帶鐏�", content);
+        /**
+         * 鏈嶅姟绔壒閲忔帶鐏棩蹇楄褰曠粨鏉�
+         */
+
         return resultList;
     }
 
@@ -235,7 +275,7 @@
      *
      * @return
      */
-    public Map controlEnergySaving() {
+    public List controlEnergySaving() {
         //鑾峰彇鍒版鍦ㄦ墽琛岀殑浠诲姟鍒楄〃
         List<LightTaskDto> lightTaskDtos = SpringContextHolder.getBean(LightTaskService.class).listTask();
         LocalDateTime now = LocalDateTime.now();
@@ -250,7 +290,6 @@
 
         for (LightTaskDto lightTaskDto : lightTaskDtos) {
             List<Integer> weekList = lightTaskDto.getWeekList();
-            System.out.println(weekList + "===========================");
             for (Integer one : weekList) {
                 switch (one) {
                     case 1:
@@ -282,23 +321,26 @@
 
         //鑾峰彇褰撳墠鏄熸湡鍑� 1-7
 
-        int week = now.getDayOfWeek().getValue();
-        Map map = new LinkedHashMap();
+        int currentWeekValue = now.getDayOfWeek().getValue();
+        Map map;
+        List<Map> temp = new ArrayList<>();
         //鑾峰彇鏃ユ湡 绮剧‘鍒板ぉ
         LocalDateTime localDateTime = now.with(LocalTime.MIN);
 
 
         for (int i = 1; i < 8; i++) {
-            week--;
-            if (week < 1) {
-                week = 7;
+            currentWeekValue--;
+            if (currentWeekValue < 1) {
+                currentWeekValue = 7;
             }
-            String format = localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-            map.put(localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), getlist(week));
+            map = new LinkedHashMap();
+            map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+            map.put("value", getlist(currentWeekValue));
+            temp.add(map);
         }
 
 
-        return map;
+        return temp;
     }
 
 
@@ -307,7 +349,7 @@
      *
      * @return
      */
-    public Map controlEnergy() {
+    public List controlEnergy() {
         //鑾峰彇鍒版鍦ㄦ墽琛岀殑浠诲姟鍒楄〃
         List<LightTaskDto> lightTaskDtos = SpringContextHolder.getBean(LightTaskService.class).listTask();
         LocalDateTime now = LocalDateTime.now();
@@ -351,23 +393,26 @@
             }
         }
 
-        Integer week = now.getDayOfWeek().getValue();
-
-        Map map = new LinkedHashMap();
+        Integer currentWeekValue = now.getDayOfWeek().getValue();
+        Map map;
+        List<Map> temp = new ArrayList<>();
         //鑾峰彇褰撳墠鏃ユ湡  鏍煎紡涓簓yyy-MM-dd
         LocalDateTime localDateTime = now.with(LocalTime.MIN);
 
 
         for (int i = 1; i < 8; i++) {
-            week--;
-            if (week < 1) {
-                week = 7;
+            currentWeekValue--;
+            if (currentWeekValue < 1) {
+                currentWeekValue = 7;
             }
-            map.put(localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), getlistEnergy(week));
+            map = new LinkedHashMap();
+            map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+            map.put("value", getlistEnergy(currentWeekValue));
+            temp.add(map);
         }
 
 
-        return map;
+        return temp;
     }
 
 

--
Gitblit v1.9.3