From b34d941094d11e21e21a2ceead8a9fdeee640e2d Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 27 五月 2022 11:20:55 +0800
Subject: [PATCH] 列表

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentService.java |   76 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 12 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 2bb2a4b..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,23 +1,22 @@
 package com.sandu.ximon.admin.service;
 
-import cn.hutool.core.collection.CollUtil;
-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.admin.manager.iot.rrpc.enums.AtmoFunctionCode;
 import com.sandu.ximon.admin.security.SecurityUtils;
-import com.sandu.ximon.dao.bo.AirDataBo;
+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.AirData;
 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
@@ -31,13 +30,16 @@
      * 妯$硦鏌ヨ
      */
     public List<AirEquipmentBo> listAirEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
-        Long clientId = SecurityUtils.getClientId();
-        PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize());
-        List<Long> listAirEquipmentId = airEquipmentMapper.listAirEquipmentId(keyword,clientId);
-        if(CollUtil.isEmpty(listAirEquipmentId)){
-            return CollUtil.newArrayList();
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
         }
-        List<AirEquipmentBo> airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(listAirEquipmentId);
+        List<AirEquipmentBo> airEquipmentBos;
+        if (SecurityUtils.getClientId() == null) {
+            airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, null);
+        } else {
+            airEquipmentBos = airEquipmentMapper.listAirEquipmentByIds(keyword, SecurityUtils.getUserId());
+        }
+
         return airEquipmentBos;
     }
 
@@ -48,8 +50,23 @@
      */
     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);
+            /**
+             * 娣诲姞澶ф皵璁惧 鏃ュ織璁板綍缁撴潫
+             */
         }
     }
 
@@ -64,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