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/VnnoxService.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java
index 5a1dfec..efeefdf 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java
@@ -1,10 +1,12 @@
 package com.sandu.ximon.admin.service;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.fastjson.JSON;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.config.VnnoxConstant;
 import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
+import com.sandu.ximon.admin.redis.DeviceRedisKey;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.*;
 import com.sandu.ximon.admin.utils.request.VnnoxScreenStatusType;
@@ -12,10 +14,7 @@
 import com.sandu.ximon.admin.utils.response.VnnoxPlayerResponse;
 import com.sandu.ximon.admin.utils.response.VnnoxResult;
 import com.sandu.ximon.admin.utils.response.VnnoxResultResponse;
-import com.sandu.ximon.admin.vo.NovaAStateInfoVO;
-import com.sandu.ximon.admin.vo.NovaPushResultVO;
-import com.sandu.ximon.admin.vo.NovaScreenShorUrlVO;
-import com.sandu.ximon.admin.vo.NovaWeatherVO;
+import com.sandu.ximon.admin.vo.*;
 import com.sandu.ximon.dao.domain.LedPlayerEntity;
 import com.sandu.ximon.dao.domain.LedPlayerInfoEntity;
 import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
@@ -505,7 +504,9 @@
         List<String> temp = new ArrayList<>();
         for (LedPlayerEntity item : ledList) {
             String playerId = item.getPlayerId();
-            if (redisUtils.get(VnnoxConstant.REDIS_VOL + playerId) == null || redisUtils.get(VnnoxConstant.REDIS_BRIGHTNESS + playerId) == null) {
+            if (redisUtils.get(VnnoxConstant.REDIS_VOL + playerId) == null
+                    || redisUtils.get(VnnoxConstant.REDIS_BRIGHTNESS + playerId) == null
+                    || redisUtils.get(VnnoxConstant.REDIS_SCREEN_STATUS + playerId) == null) {
                 temp.add(item.getPlayerId());
             }
         }
@@ -522,9 +523,9 @@
             for (LedPlayerEntity playerEntity : list) {
                 String playerId = playerEntity.getPlayerId();
                 LedPlayerInfoEntity cache = new LedPlayerInfoEntity();
-                //  璁剧疆灞忓箷鐘舵��
+                //  璁剧疆灞忓箷鐘舵��  鏇存柊鐘舵�佷箣鍚庤繕鎷夸笉鍒版暟鎹鏄庤澶囨湁闂鎴栦笉鍦ㄧ嚎  璁剧疆榛樿涓洪粦灞�
                 String result = redisUtils.get(VnnoxConstant.REDIS_SCREEN_STATUS + playerId);
-                Integer screenStatus = 1;
+                Integer screenStatus = 0;
                 if (null != result) {
                     screenStatus = Integer.parseInt(result);
                 }
@@ -699,11 +700,7 @@
                     novaAStateInfoVO.setTimeValue(timeValue);
                     break;
                 case "screenPowerStatus":
-                    if ("CLOSE".equals(screenPowerStatus)) {
-                        novaAStateInfoVO.setScreenPowerStatus("0");
-                    } else {
-                        novaAStateInfoVO.setScreenPowerStatus("1");
-                    }
+                    novaAStateInfoVO.setScreenPowerStatus(screenPowerStatus);
                     break;
                 case "syncPlayStatus":
                     novaAStateInfoVO.setSyncPlayStatus(syncPlayStatus);
@@ -722,6 +719,38 @@
                     vnnoxAPIUtil.getAsyncStatus(playerIdList, stateValue);
                 }
         );
+    }
+
+
+    /**
+     * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+     */
+    public void setCacheData() {
+
+        List<List<LedPlayerEntity>> split = CollectionUtil.split(ledPlayerEntityService.list(), 100);
+        List<LedPlayerEntity> ledList = new ArrayList<>();
+        split.forEach(
+                list -> {
+                    List<LedPlayerEntity> ledPlayerEntities = vnnoxAPIUtil.syncCurrentInfo(list);
+                    ledList.addAll(ledPlayerEntities);
+                }
+        );
+
+        ledList.forEach(
+                device -> {
+                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+                    deviceStatus.setDeviceId(device.getPlayerId());
+                    if (device.getOnlineStatus() == 0) {
+                        deviceStatus.setStatus(1);
+                    } else if (device.getOnlineStatus() == 1) {
+                        deviceStatus.setStatus(0);
+                    } else {
+                        deviceStatus.setStatus(1);
+                    }
+                    redisUtils.set(DeviceRedisKey.NOVA + device.getPlayerId(), JSON.toJSONString(deviceStatus));
+//                    redisUtils.delete(DeviceRedisKey.IP_BROADCAST + device.getId());
+                }
+        );
 
     }
 }

--
Gitblit v1.9.3