From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
index 3eb4327..922431b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.service;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.google.gson.Gson;
 import com.sandu.common.execption.BusinessException;
@@ -9,9 +10,11 @@
 import com.sandu.ximon.admin.config.RealtimeServerBean;
 import com.sandu.ximon.admin.entity.*;
 import com.sandu.ximon.admin.param.PoleBindingParam;
+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.vo.EquipmentInfomation;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
 import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.domain.PoleLightemitEntity;
 import com.sandu.ximon.dao.enums.OrderByEnums;
@@ -49,6 +52,12 @@
 
     @Autowired
     PoleLightemitEntityMapper poleLightemitDao;
+
+    @Autowired
+    LedSFileService xiXunFileService;
+
+    @Autowired
+    RedisUtils redisUtils;
 
     @PostConstruct
     public void init() {
@@ -121,6 +130,23 @@
             }
         }
         return temp;
+    }
+
+    /**
+     * 鐔欒璁惧鍒楄〃锛堢敤浜庨椤垫暟鎹粺璁★級
+     *
+     * @return
+     */
+    public List<PoleLightemitEntity> listLedOnHome() {
+        List<PoleLightemitEntity> poleLightemitEntityList;
+        //瓒呯
+        if (SecurityUtils.getClientId() == null) {
+            poleLightemitEntityList = poleLightemitDao.listLed(null, null, null);
+        } else {
+            poleLightemitEntityList = poleLightemitDao.listLed(null, SecurityUtils.getUserId(), null);
+        }
+
+        return poleLightemitEntityList;
     }
 
 
@@ -217,18 +243,19 @@
      */
     public EquipmentInfomation getLedByLightControlCodeInfo(String lightControlCode) {
         EquipmentInfomation equipmentInfo = new EquipmentInfomation();
-        equipmentInfo.setEquipmentType("鐔欒LED");
+        equipmentInfo.setEquipmentType("SLED");
         if (lightControlCode == null || lightControlCode.trim().length() == 0) {
             return equipmentInfo;
         }
 
         PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+        boolean isScreenOpen = false;
         if (xiXun != null) {
             equipmentInfo.setEquipmentCreateTime(xiXun.getCreateTime());
             equipmentInfo.setEquipmentMac(xiXun.getLightemitControlCode());
             equipmentInfo.setEquipmentName(xiXun.getLightemitName());
+            isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
         }
-        boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
         if (isScreenOpen) {
             equipmentInfo.setEquipmentState("鍦ㄧ嚎");
         } else {
@@ -529,4 +556,36 @@
         lightemitUtils.setBrightness(lightemitControlCode, brightness);
     }
 
+    public Object getProgram(Long lightemitId) {
+        PoleLightemitEntity xiXun = getById(lightemitId);
+
+        String requestBody = xiXun.getRequestBody();
+        if (requestBody == null || requestBody.isEmpty()) {
+            throw new BusinessException("鏈壘鍒拌妭鐩�");
+        }
+
+        Map map = JSON.parseObject(requestBody, Map.class);
+        return map;
+    }
+
+
+    /**
+     * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+     */
+    public void setCacheData() {
+        list().forEach(
+                xiXun -> {
+                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+                    deviceStatus.setDeviceId(xiXun.getLightemitControlCode());
+                    boolean ledOnLine = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+                    if (ledOnLine) {
+                        deviceStatus.setStatus(0);
+                    } else {
+                        deviceStatus.setStatus(1);
+                    }
+                    redisUtils.set(DeviceRedisKey.XIXUN + xiXun.getLightemitControlCode(), JSON.toJSONString(deviceStatus));
+//                    redisUtils.delete(DeviceRedisKey.XIXUN + xiXun.getLightemitControlCode());
+                }
+        );
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3