From f4914a5f40ffb7340d8f99b4f730b4b665901918 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期三, 27 四月 2022 18:24:58 +0800
Subject: [PATCH] 大气数据推送到LED

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java  |    1 
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java |   29 ++++++++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java        |   28 ++++++++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java  |    3 +
 4 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
index 7e3eb33..30f6786 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/PoleController.java
@@ -7,6 +7,7 @@
 import com.sandu.common.domain.CommonPage;
 import com.sandu.common.domain.ResponseVO;
 import com.sandu.common.object.BaseConditionVO;
+import com.sandu.common.security.annotation.AnonymousAccess;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.dto.DeviceStatus;
@@ -266,6 +267,7 @@
     /**
      * 鎺ㄩ�佸ぇ姘旇澶囧埌璇虹摝
      */
+    @AnonymousAccess
     @GetMapping("/pushAidDataToNova/{poleId}")
     public ResponseVO<Object> pushAirDataToNova(@PathVariable Long poleId) {
         return ResponseUtil.success(poleService.pushAirDataToNova(poleId));
@@ -274,6 +276,7 @@
     /**
      * 鎺ㄩ�佸ぇ姘旇澶囧埌鐔欒
      */
+    @AnonymousAccess
     @GetMapping("/pushAirDataToXiXun/{poleId}")
     public ResponseVO<Object> pushAirDataToXiXun(@PathVariable Long poleId) {
         return ResponseUtil.success(poleService.pushAirDataToXiXun(poleId));
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
index 7aab8c1..414ab56 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/XiXunController.java
@@ -8,6 +8,7 @@
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
+import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.entity.ProgramPro;
 import com.sandu.ximon.admin.param.LEDScheduleParam_xixun;
 import com.sandu.ximon.admin.param.SetBrightnessParam;
@@ -409,4 +410,32 @@
         }
         return ResponseUtil.success(list);
     }
+
+
+    /**
+     * 鍏抽棴澶╂皵鎺ㄩ��
+     */
+    @GetMapping("/closeWeatherPush/{id}")
+    public ResponseVO<Object> closeWeatherPush(@PathVariable Long id) {
+        if(id==null){
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+        SpringContextHolder.getBean(PoleService.class).closeXiXunAirPush(id);
+        return ResponseUtil.success("鍏抽棴鎴愬姛");
+    }
+
+    /**
+     * 娓呭睆鎿嶄綔
+     */
+    @GetMapping("/clearScreen")
+    public ResponseVO<Object> clearScreen(@RequestBody List<String> codes) {
+
+        if(codes.isEmpty()){
+            throw new BusinessException("鏈�夋嫨LED灞�");
+        }
+        for(String playerId : codes) {
+            lightemitUtils.clear(playerId);
+        }
+        return ResponseUtil.success("娓呭睆鎴愬姛");
+    }
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index 709c063..d4e8de8 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -30,6 +30,7 @@
 import com.sandu.ximon.admin.param.*;
 import com.sandu.ximon.admin.redis.LightKey;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.LightemitUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
 import com.sandu.ximon.admin.utils.response.VnnoxResult;
 import com.sandu.ximon.admin.vo.PoleBindVO;
@@ -873,6 +874,12 @@
      */
     public boolean pushAirDataToXiXun(Long poleId) {
         Pole pole = getById(poleId);
+        //鍒ゆ柇褰掑睘鏉�
+        if (SecurityUtils.getClientId() != null) {
+            if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) {
+                throw new BusinessException("鏃犳潈闄愭搷浣�");
+            }
+        }
         PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3));
         PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10));
         if (pole == null) {
@@ -890,6 +897,27 @@
         return SpringContextHolder.getBean(XiXunPlayerService.class).pushWeather(xixun.getDeviceCode(), data, pole);
     }
 
+
+    /**
+     * 鍏抽棴鐔欒澶ф皵鎺ㄩ��
+     */
+    public void closeXiXunAirPush(Long poleId) {
+        Pole pole = getById(poleId);
+        if (SecurityUtils.getClientId() != null) {
+            if (!pole.getClientId().equals(SecurityUtils.getUserId()) && !pole.getUserId().equals(SecurityUtils.getUserId())) {
+                throw new BusinessException("鏃犳潈闄愭搷浣�");
+            }
+        }
+        PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3));
+        PoleBinding xixun = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 10));
+        if (pole == null || air == null || xixun == null) {
+            throw new BusinessException("璁惧涓嶅瓨鍦�");
+        }
+        //鍏抽棴鎺ㄩ��
+        SpringContextHolder.getBean(LightemitUtils.class).clear(xixun.getDeviceCode());
+
+    }
+
     /**
      * 鎺ㄩ�佸ぇ姘旂洃娴嬫暟鎹埌novaLED
      */
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
index c11e998..6aea084 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxProgramAPIUtil.java
@@ -34,6 +34,7 @@
                 program.toJson(),
                 new CommonHeader(CommonHeader.JSON, true)
         );
+        System.out.println(program.toJson());
         LogUtils.error("鑺傜洰鎾斁response:"+result);
         return JSON.parseObject(result,VnnoxResultResponse.class);
     }

--
Gitblit v1.9.3