From feac6e0c2db4e60d55417fde1971a0bc6d703566 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 27 五月 2022 15:58:28 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java |  102 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 83 insertions(+), 19 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 2343341..d16fd07 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
@@ -1,44 +1,73 @@
 package com.sandu.ximon.admin.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.AirData;
+import com.sandu.ximon.admin.manager.iot.rrpc.enums.AtmoFunctionCode;
+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;
-import com.sandu.ximon.dao.domain.Monitor;
-import com.sandu.ximon.dao.mapper.AirDataMapper;
 import com.sandu.ximon.dao.mapper.AirEquipmentMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
 @AllArgsConstructor
 public class AirEquipmentService extends BaseServiceImpl<AirEquipmentMapper, AirEquipment> {
 
-    /**
-     * 鏌ヨ鍏ㄩ儴澶ф皵璁惧鏁版嵁
-     */
-    public List<AirEquipment> listAirEquipment() {
-        LambdaQueryWrapper<AirEquipment> wrapper = Wrappers.lambdaQuery(AirEquipment.class);
-        List<AirEquipment> list = list(wrapper);
+    private final AirEquipmentMapper airEquipmentMapper;
 
-        return list;
-    }
 
     /**
      * 妯$硦鏌ヨ
      */
-    public List<AirEquipment> listAirEquipmentByKeyword(String keyword) {
-
-        LambdaQueryWrapper<AirEquipment> wrapper = Wrappers.lambdaQuery(AirEquipment.class);
-        if(keyword != null){
-            wrapper.like(AirEquipment::getBelongTo,keyword);
+    public List<AirEquipmentBo> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
         }
-        List<AirEquipment> airDataList = list(wrapper);
-        return airDataList;
+        List<AirEquipmentBo> airEquipmentBos;
+        if (SecurityUtils.getClientId() == null) {
+            airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, null);
+        } else {
+            airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId());
+        }
+
+        return airEquipmentBos;
+    }
+
+    /**
+     * 娣诲姞澶ф皵璁惧鏁版嵁
+     *
+     * @return
+     */
+    public void addAirEquipment(AirEquipment airEquipment) {
+        AirEquipment one = getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, airEquipment.getMac()));
+//        //瀛樺偍璁惧鐘舵�佸埌缂撳瓨
+//        RedisUtils.getBean().set(AtmoFunctionCode.AIR_EQUIPMENT_STATE.getCode() + airEquipment.getMac()
+//                , 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);
+            /**
+             * 娣诲姞澶ф皵璁惧 鏃ュ織璁板綍缁撴潫
+             */
+        }
     }
 
     /**
@@ -52,6 +81,41 @@
         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);
     }
+
+    /**
+     * 鏍规嵁Mac澶ф皵璁惧鏁版嵁璇︽儏
+     */
+    public EquipmentInfomation getAirEquipmentInfo(String mac) {
+        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
+        equipmentInfo.setEquipmentType("澶ф皵璁惧");
+        if (mac == null || mac.trim().length() == 0) {
+            return equipmentInfo;
+        }
+
+        if (RedisUtils.getBean().get(AtmoFunctionCode.AIR_HEARTBEAT_STATE.getCode() + mac) != null) {
+            equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+        } else {
+            equipmentInfo.setEquipmentState("绂荤嚎");
+        }
+
+        AirEquipment one = getOne(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, mac));
+        if (one != null) {
+            equipmentInfo.setEquipmentMac(mac);
+            equipmentInfo.setEquipmentCreateTime(one.getCreateTime());
+        }
+        return equipmentInfo;
+    }
 }

--
Gitblit v1.9.3