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 | 63 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 2 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 cfd41c4..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,6 +31,7 @@
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.*;
@@ -203,6 +205,16 @@
}
result.put("AirEquipmentOnlineCount", number);
result.put("AirEquipmentTotalCount", airEquipments.size());
+ //澶ф皵(鍐滆��)
+ number = 0;
+ List<AirEquipmentNongGengBo> airEquipmentNongGengBos = SpringContextHolder.getBean(AirEquipmentNongGengService.class).listAirEquipmentByKeyword(null, null);
+ for (AirEquipmentNongGengBo airEquipmentNongGengBo : airEquipmentNongGengBos) {
+ if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_NONG_GENG.getCode() + airEquipmentNongGengBo.getMac()) != null) {
+ number++;
+ }
+ }
+ result.put("AirEquipmentNongGengOnlineCount", number);
+ result.put("AirEquipmentNongGengTotalCount", airEquipmentNongGengBos.size());
//姘磋川
number = 0;
List<WaterQualityEquipmentBo> waterQualityEquipments
@@ -851,8 +863,55 @@
// }
- public boolean updateDeviceCode(Long poleId){
- return poleMapper.updateDeviceCode(poleId);
+ public boolean updateDeviceCode(Long poleId) {
+ 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