From ea94079e74182be590b9fff356c97f522d9a7828 Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期二, 18 十月 2022 09:26:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index 4b162fe..2169fc5 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -12,10 +12,13 @@
 import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
 import com.sandu.ximon.admin.dto.YSY_MonitorDto;
 import com.sandu.ximon.admin.param.MonitorParam;
+import com.sandu.ximon.admin.redis.DeviceRedisKey;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.ListPagingUtils;
+import com.sandu.ximon.admin.utils.RedisUtils;
 import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
 import com.sandu.ximon.admin.vo.EquipmentInfomation;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
 import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
 import com.sandu.ximon.dao.domain.PoleBinding;
@@ -23,6 +26,7 @@
 import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.MonitorMapper;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -33,6 +37,7 @@
 
 @Service
 @AllArgsConstructor
+@Slf4j
 public class MonitorService extends BaseServiceImpl<MonitorMapper, Monitor> {
     private final MonitorMapper monitorMapper;
     //钀ょ煶浜慉ppKey
@@ -55,6 +60,8 @@
 
 
     private final PoleBindingService poleBindingService;
+
+    private final RedisUtils redisUtils;
 
     /**
      * 鎽勫儚澶村垪琛ㄦā绯婃煡璇�
@@ -203,7 +210,17 @@
         paramMap.put("appKey", AppKey);
         paramMap.put("appSecret", Secret);
         String s = HttpUtil.post(YSY_URL + ACCESSTOKEN_URL, paramMap);
+        if (!s.startsWith("{") || !s.endsWith("}")) {
+            log.error("鑾峰彇鎽勫儚澶磘oken澶辫触,鏍煎紡鏈夎!");
+        }
         YSY_AccessTokenDto accessTokenDto = JSON.parseObject(s, YSY_AccessTokenDto.class);
+
+        //浜屾鑾峰彇
+        if(accessTokenDto == null){
+            log.error("鑾峰彇鎽勫儚澶磘oken澶辫触,鏍煎紡鏈夎!");
+            s = HttpUtil.post(YSY_URL + ACCESSTOKEN_URL, paramMap);
+            accessTokenDto = JSON.parseObject(s, YSY_AccessTokenDto.class);
+        }
         return accessTokenDto.getData().getAccessToken();
     }
 
@@ -460,4 +477,33 @@
     }
 
 
+    /**
+     * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+     */
+    public void setCacheData() {
+        list().forEach(
+                device -> {
+                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+                    deviceStatus.setDeviceId(device.getDeviceSerial());
+                    if (device != null) {
+                        EquipmentInfomation monitorInfo = getMonitorInfo(device.getDeviceSerial());
+                        if (monitorInfo != null) {
+                            if ("鍦ㄧ嚎".equals(monitorInfo.getEquipmentState())) {
+                                deviceStatus.setStatus(0);
+                            } else {
+                                deviceStatus.setStatus(1);
+                            }
+
+                        } else {
+                            deviceStatus.setStatus(1);
+                        }
+                    }
+                    redisUtils.set(DeviceRedisKey.MONITOR + device.getDeviceSerial(), JSON.toJSONString(deviceStatus));
+//                    redisUtils.delete(DeviceRedisKey.MONITOR + device.getDeviceSerial());
+                }
+        );
+
+    }
+
+
 }

--
Gitblit v1.9.3