From f9539232edd1b23b29a2fb3d44732877400602f2 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期三, 03 八月 2022 14:21:42 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java | 196 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 194 insertions(+), 2 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java
index 6fa5998..0cc94e5 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java
@@ -5,10 +5,19 @@
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5AtmosphereReportEnum;
+import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartBeatTimeReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereOperationReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereQuerySensorInfoReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.*;
+import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.A5OrderEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.enums.AtmoFunctionCode;
+import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.RedisUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.bo.AirEquipmentBo;
import com.sandu.ximon.dao.domain.AirEquipment;
@@ -16,6 +25,7 @@
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
@Service
@@ -26,7 +36,7 @@
/**
- * 妯$硦鏌ヨ
+ * 澶ф皵璁惧鍒楄〃妯$硦鏌ヨ
*/
public List<AirEquipmentBo> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
if (baseConditionVO != null) {
@@ -37,6 +47,20 @@
airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, null);
} else {
airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId());
+ }
+
+ return airEquipmentBos;
+ }
+
+ /**
+ * 澶ф皵璁惧鍔e垪琛紙鐢ㄤ簬棣栭〉鏁版嵁缁熻锛�
+ */
+ public List<AirEquipmentBo> listAirEquipmentOnHome() {
+ List<AirEquipmentBo> airEquipmentBos;
+ if (SecurityUtils.getClientId() == null) {
+ airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(null, null);
+ } else {
+ airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(null, SecurityUtils.getUserId());
}
return airEquipmentBos;
@@ -54,6 +78,18 @@
// , 1, 300L);
if (one == null) {
save(airEquipment);
+ /**
+ * 娣诲姞澶ф皵璁惧 鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>(1);
+ listCode.add(airEquipment.getMac());
+ String content = "{ 璁惧id:" + airEquipment.getId() + "璁惧code锛�" + airEquipment.getMac() +
+ "}";
+
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "娣诲姞澶ф皵璁惧", content);
+ /**
+ * 娣诲姞澶ф皵璁惧 鏃ュ織璁板綍缁撴潫
+ */
}
}
@@ -68,6 +104,17 @@
if (airEquipment == null) {
throw new BusinessException("鎵句笉鍒板ぇ姘旇澶囨暟鎹�");
}
+ /**
+ * 鍒犻櫎澶ф皵璁惧 鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>(1);
+ listCode.add(airEquipment.getMac());
+ String content = "{璁惧code锛�" + airEquipment.getMac() + "}";
+
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎澶ф皵璁惧", content);
+ /**
+ * 鍒犻櫎澶ф皵璁惧 鏃ュ織璁板綍缁撴潫
+ */
return removeById(Id);
}
@@ -94,4 +141,149 @@
}
return equipmentInfo;
}
+
+ /**
+ * 鏌ヨ澶ф皵璁惧蹇冭烦鍖呮椂闂�
+ */
+ public String QueryHeartBeatTime(String mac) {
+ AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1"));
+
+ if (airEquipment == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+
+ AtmosphereQueryHeartBeatTimeReqInnerFrame atmosphereQueryHeartBeatTimeReqInnerFrame = new AtmosphereQueryHeartBeatTimeReqInnerFrame();
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereQueryHeartBeatTimeReqInnerFrame);
+ System.out.println(a5Frame + " --------a5Frame");
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
+ System.out.println(commonFrame + " -----------commonFrame");
+
+// FEA504000AFE020002FFFF014062EC --------a5Frame
+// FEA584000CFE020004FFFF003CB081260CCC1C105D -----------commonFrame
+ A5AtmosphereHeartBeatTimeReportInnerFrame a5AtmosphereHeartBeatTimeReportInnerFrame
+ = new A5AtmosphereHeartBeatTimeReportInnerFrame().transformFrame(commonFrame.getPayload());
+
+ if (a5AtmosphereHeartBeatTimeReportInnerFrame != null && a5AtmosphereHeartBeatTimeReportInnerFrame.isValidate()) {
+ return "璇ュぇ姘旇澶囧績璺冲寘闂撮殧鏃堕棿涓猴細" + a5AtmosphereHeartBeatTimeReportInnerFrame.getIntervalTime() + "s";
+ } else {
+ throw new BusinessException("鏁版嵁鏍¢獙寮傚父锛�");
+ }
+ }
+
+ /**
+ * 璁剧疆澶ф皵璁惧蹇冭烦鍖呴棿闅旀椂闂�
+ *
+ * @param mac
+ * @param time
+ */
+ public String setHeartBeatTime(String mac, Integer time) {
+ if (time < 30) {
+ throw new BusinessException("蹇冭烦鍖呴棿闅旀椂闂翠笉鑳藉皯浜�30s锛�");
+ }
+ AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1"));
+ if (airEquipment == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+
+ AtmosphereSetHeartBeatTimeReqInnerFrame atmosphereSetHeartBeatTimeReqInnerFrame = new AtmosphereSetHeartBeatTimeReqInnerFrame(time);
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereSetHeartBeatTimeReqInnerFrame);
+ System.out.println(a5Frame + " --------a5Frame");
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
+ System.out.println(commonFrame + " -----------commonFrame");
+
+ //FEA584000BFE110003FFFF00464116EC58FC0C8F
+ A5AtmosphereOperationReportInnerFrame a5AtmosphereOperationReportInnerFrame
+ = new A5AtmosphereOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+ if (a5AtmosphereOperationReportInnerFrame != null && a5AtmosphereOperationReportInnerFrame.isValidate()) {
+ return a5AtmosphereOperationReportInnerFrame.getState();
+ } else {
+ throw new BusinessException("鏁版嵁鏍¢獙寮傚父锛�");
+ }
+ }
+
+ /**
+ * 鏌ヨ浼犳劅鍣ㄦ暟閲�/鏁呴殰
+ *
+ * @param mac
+ * @return
+ */
+ public A5AtmosphereQuerySensorInfoReportInnerFrame.SensorInfoPackage QuerySensorInfo(String mac) {
+ AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1"));
+
+ if (airEquipment == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+
+ AtmosphereQuerySensorInfoReqInnerFrame atmosphereQuerySensorInfoReqInnerFrame = new AtmosphereQuerySensorInfoReqInnerFrame();
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereQuerySensorInfoReqInnerFrame);
+ System.out.println(a5Frame + " --------a5Frame");
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
+ System.out.println(commonFrame + " -----------commonFrame");
+
+ A5AtmosphereQuerySensorInfoReportInnerFrame atmosphereQuerySensorInfoReportInnerFrame
+ = new A5AtmosphereQuerySensorInfoReportInnerFrame().transformFrame(commonFrame.getPayload());
+
+ if (atmosphereQuerySensorInfoReportInnerFrame != null && atmosphereQuerySensorInfoReportInnerFrame.isValidate()) {
+ return atmosphereQuerySensorInfoReportInnerFrame.getSensorInfoPackage();
+ } else {
+ throw new BusinessException("鏁版嵁鏍¢獙寮傚父锛�");
+ }
+ }
+
+ /**
+ * 鏌ヨ杞‖浠剁増鏈�
+ *
+ * @param mac
+ * @return
+ */
+ public void QueryVersion(String mac) {
+ //TODO
+ AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1"));
+
+ if (airEquipment == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+
+ AtmosphereQueryVersionReqInnerFrame atmosphereQueryVersionReqInnerFrame = new AtmosphereQueryVersionReqInnerFrame();
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereQueryVersionReqInnerFrame);
+ System.out.println(a5Frame + " --------a5Frame");
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
+ System.out.println(commonFrame + " -----------commonFrame");
+
+// FEA504000AFE040002FFFF8E00974C --------a5Frame
+// FEA584000BFE040003FFFFFF38586A49EE3EAF62 -----------commonFrame
+ }
+
+ /**
+ * 杞噸鍚�
+ *
+ * @param mac
+ * @return
+ */
+ public String Reboot(String mac) {
+ AirEquipment airEquipment = SpringContextHolder.getBean(AirEquipmentService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac).last("limit 1"));
+ if (airEquipment == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+
+ AtmosphereRebootReqInnerFrame atmosphereRebootReqInnerFrame = new AtmosphereRebootReqInnerFrame();
+ A5Frame a5Frame = new A5Frame(A5OrderEnum.REQUEST_ATMOSPHERE_DATA.getCode(), atmosphereRebootReqInnerFrame);
+ System.out.println(a5Frame + " --------a5Frame");
+ CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
+ System.out.println(commonFrame + " -----------commonFrame");
+
+ A5AtmosphereOperationReportInnerFrame a5AtmosphereOperationReportInnerFrame =
+ new A5AtmosphereOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+
+ if (a5AtmosphereOperationReportInnerFrame != null && a5AtmosphereOperationReportInnerFrame.isValidate()) {
+ return a5AtmosphereOperationReportInnerFrame.getState();
+ } else {
+ throw new BusinessException("鏁版嵁鏍¢獙寮傚父锛�");
+ }
+ }
}
--
Gitblit v1.9.3