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

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

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 e317fe5..9e7f7ac 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
@@ -17,6 +17,7 @@
 import com.sandu.ximon.admin.manager.iot.frame.A1Frame;
 import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
 import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.request.A1TernaryCodeReqInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.request.A5LightResetReqInnerFrame;
 import com.sandu.ximon.admin.manager.iot.frame.inner.request.EmptyRequestInnerFrame;
@@ -30,10 +31,10 @@
 import com.sandu.ximon.admin.redis.LightKey;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.response.VnnoxResult;
 import com.sandu.ximon.admin.vo.PoleBindVO;
 import com.sandu.ximon.dao.bo.*;
 import com.sandu.ximon.dao.domain.*;
-import com.sandu.ximon.dao.mapper.MonitorMapper;
 import com.sandu.ximon.dao.mapper.PoleMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -866,4 +867,51 @@
         return poleMapper.updateDeviceCode(poleId);
     }
 
+
+    /**
+     * 鎺ㄩ�佸ぇ姘旂洃娴嬫暟鎹埌novaLED
+     */
+    public boolean pushAirDataToXiXun(Long poleId) {
+        Pole pole = getById(poleId);
+        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) {
+            throw new BusinessException("鐏潌涓嶅瓨鍦�");
+        }
+        if (air == null) {
+            throw new BusinessException("鏈粦瀹氬ぇ姘旂洃娴嬭澶�");
+        }
+        if (xixun == null) {
+            throw new BusinessException("鏈粦瀹歺ixun璁惧");
+        }
+        //鑾峰彇澶ф皵鐩戞祴鏁版嵁
+        A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage data = SpringContextHolder.getBean(AirDataService.class).getDataByPoleid(poleId);
+        //鎺ㄩ�佹暟鎹�
+        return SpringContextHolder.getBean(XiXunPlayerService.class).pushWeather(xixun.getDeviceCode(), data, pole);
+    }
+
+    /**
+     * 鎺ㄩ�佸ぇ姘旂洃娴嬫暟鎹埌novaLED
+     */
+    public VnnoxResult pushAirDataToNova(Long poleId) {
+        Pole pole = getById(poleId);
+        PoleBinding air = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 3));
+        PoleBinding nova = poleBindingService.getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId).eq(PoleBinding::getDeviceType, 1));
+        LedPlayerEntity LED = SpringContextHolder.getBean(LedPlayerEntityService.class).getOne(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, nova.getDeviceCode()));
+        if (pole == null) {
+            throw new BusinessException("鐏潌涓嶅瓨鍦�");
+        }
+        if (air == null) {
+            throw new BusinessException("鏈粦瀹氬ぇ姘旂洃娴嬭澶�");
+        }
+        if (nova == null) {
+            throw new BusinessException("鏈粦瀹歯ova璁惧");
+        }
+        //鑾峰彇澶ф皵鐩戞祴鏁版嵁
+        A5AtmosphereHeartbeatReportInnerFrame.HeartBeatDataPackage data = SpringContextHolder.getBean(AirDataService.class).getDataByPoleid(poleId);
+        //鎺ㄩ�佹暟鎹�
+        return SpringContextHolder.getBean(VnnoxService.class).publishWaterData(LED.getPlayerId(), data);
+    }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3