From 0a30812acaa26ebe654340f7e749a6801b63b194 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 21 十月 2022 16:32:36 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 172 insertions(+), 1 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
index ceb5e2a..44e8bb1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
@@ -1,12 +1,31 @@
package com.sandu.ximon.admin.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
+import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.dao.domain.AirEquipment;
+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.A5AtmosphereOperationReportInnerFrame;
+import com.sandu.ximon.admin.manager.iot.frame.inner.request.AtmosphereSetHeartBeatTimeReqInnerFrame;
+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.utils.StringUtil;
+import com.sandu.ximon.dao.bo.AirEquipmentNongGengBo;
import com.sandu.ximon.dao.domain.AirEquipmentNongGeng;
import com.sandu.ximon.dao.mapper.AirEquipmentNongGengMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* @author ZZQ
@@ -15,6 +34,9 @@
@Service
@AllArgsConstructor
public class AirEquipmentNongGengService extends BaseServiceImpl<AirEquipmentNongGengMapper, AirEquipmentNongGeng> {
+ private final AirEquipmentNongGengMapper airEquipmentNongGengMapper;
+
+
/**
* 娣诲姞澶ф皵璁惧鏁版嵁
*
@@ -24,6 +46,155 @@
AirEquipmentNongGeng one = getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, airEquipmentNongGeng.getMac()));
if (one == null) {
save(airEquipmentNongGeng);
+ /**
+ * 娣诲姞鍐滆�曞ぇ姘旇澶� 鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>(1);
+ listCode.add(airEquipmentNongGeng.getMac());
+ String content = "{ 璁惧id:" + airEquipmentNongGeng.getId() + "璁惧code锛�" + airEquipmentNongGeng.getMac() +
+ "}";
+
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "娣诲姞鍐滆�曞ぇ姘旇澶�", content);
+ /**
+ * 娣诲姞鍐滆�曞ぇ姘旇澶� 鏃ュ織璁板綍缁撴潫
+ */
}
}
+
+ /**
+ * 妯$硦鏌ヨ
+ */
+ public List<AirEquipmentNongGengBo> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
+ if (baseConditionVO != null) {
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ }
+ List<AirEquipmentNongGengBo> airEquipmentBos;
+ if (SecurityUtils.getClientId() == null) {
+ airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, null);
+ } else {
+ airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId());
+ }
+
+
+ return airEquipmentBos;
+ }
+
+ /**
+ * 澶ф皵璁惧鍒楄〃锛堝啘鑰曪紝鐢ㄤ簬棣栭〉鏁版嵁缁熻锛�
+ */
+ public List<AirEquipmentNongGengBo> listAirEquipmentOnHome() {
+ List<AirEquipmentNongGengBo> airEquipmentBos;
+ if (SecurityUtils.getClientId() == null) {
+ airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, null);
+ } else {
+ airEquipmentBos = airEquipmentNongGengMapper.listAirEquipmentByIds(null, SecurityUtils.getUserId());
+ }
+
+ return airEquipmentBos;
+ }
+
+ /**
+ * 鍒犻櫎澶ф皵璁惧鏁版嵁
+ *
+ * @param Id
+ * @return
+ */
+ public boolean deleteAirEquipment(Long Id) {
+ AirEquipmentNongGeng airEquipmentNongGeng = getById(Id);
+ if (airEquipmentNongGeng == null) {
+ throw new BusinessException("鎵句笉鍒板ぇ姘旇澶囨暟鎹�");
+ }
+
+ /**
+ * 鍒犻櫎鍐滆�曞ぇ姘旇澶� 鏃ュ織璁板綍寮�濮�
+ */
+ List<String> listCode = new ArrayList<>(1);
+ listCode.add(airEquipmentNongGeng.getMac());
+ String content = "{ 璁惧id:" + airEquipmentNongGeng.getId() + "璁惧code锛�" + airEquipmentNongGeng.getMac() +
+ "}";
+
+ StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎鍐滆�曞ぇ姘旇澶�", content);
+ /**
+ * 鍒犻櫎鍐滆�曞ぇ姘旇澶� 鏃ュ織璁板綍缁撴潫
+ */
+ return removeById(Id);
+ }
+
+ /**
+ * 鏍规嵁Mac澶ф皵璁惧鏁版嵁璇︽儏
+ */
+ public AirEquipmentNongGeng getAirEquipment(String mac) {
+ AirEquipmentNongGeng one = getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac));
+ if (one == null) {
+ throw new BusinessException("澶ф皵璁惧涓嶅瓨鍦紒");
+ }
+ if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_NONG_GENG_STATE.getCode() + mac) != null) {
+ one.setState(1);
+ } else {
+ one.setState(0);
+ }
+ return one;
+ }
+
+ /**
+ * 璁剧疆澶ф皵璁惧蹇冭烦鍖呴棿闅旀椂闂�
+ *
+ * @param mac
+ * @param time
+ */
+ public String setHeartBeatTime(String mac, Integer time) {
+ if (StringUtil.strIsNullOrEmpty(mac)) {
+ throw new BusinessException("鐏潌mac鍙傛暟閿欒锛�");
+ }
+ if (time == null) {
+ throw new BusinessException("蹇冭烦鍖呴棿闅旀椂闂翠笉鑳戒负绌猴紒");
+ }
+
+ if (time < 30) {
+ throw new BusinessException("蹇冭烦鍖呴棿闅旀椂闂翠笉鑳藉皯浜�30s锛�");
+ }
+ AirEquipmentNongGeng airEquipmentNongGeng = SpringContextHolder.getBean(AirEquipmentNongGengService.class).
+ getOne(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, mac).last("limit 1"));
+ if (airEquipmentNongGeng == 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");
+
+ A5AtmosphereOperationReportInnerFrame a5AtmosphereOperationReportInnerFrame
+ = new A5AtmosphereOperationReportInnerFrame().transformFrame(commonFrame.getPayload());
+ if (a5AtmosphereOperationReportInnerFrame != null && a5AtmosphereOperationReportInnerFrame.isValidate()) {
+ return a5AtmosphereOperationReportInnerFrame.getState();
+ } else {
+ throw new BusinessException("鏁版嵁鏍¢獙寮傚父锛�");
+ }
+ }
+
+
+ /**
+ * 璁剧疆绫诲瀷
+ *
+ * @param param
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public boolean setAirEquipmentType(AirEquipmentNongGeng param) {
+ if (param.getType() == null || param.getId() == null || param.getType().isEmpty()) {
+ throw new BusinessException("璁惧id鎴栫被鍨嬩笉鑳戒负绌�");
+ }
+ if (!"0".equals(param.getType()) && !"1".equals(param.getType()) && !"2".equals(param.getType())) {
+ throw new BusinessException("璁惧绫诲瀷涓嶆纭�");
+ }
+ AirEquipmentNongGeng byId = getById(param.getId());
+ if (byId == null) {
+ throw new BusinessException("璁惧id閿欒鎴栬澶囦笉瀛樺湪!");
+ }
+ byId.setType(param.getType());
+
+ return updateById(byId);
+ }
}
--
Gitblit v1.9.3