From b351d83856603abbca985508000828b71712894d Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期五, 10 十二月 2021 15:58:44 +0800
Subject: [PATCH] 功能完善

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java |   88 ++++++++++++++++++++++++++++++--------------
 1 files changed, 60 insertions(+), 28 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
index ae7a032..1925744 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LampPostService.java
@@ -1,13 +1,13 @@
 package com.sandu.ximon.admin.service;
 
-import cn.hutool.core.lang.Snowflake;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
 import com.sandu.ximon.admin.param.LampPostParam;
 import com.sandu.ximon.admin.security.CountSet;
 import com.sandu.ximon.admin.security.SecurityUtils;
-import com.sandu.ximon.dao.domain.Client;
 import com.sandu.ximon.dao.domain.LampCount;
 import com.sandu.ximon.dao.domain.LampPost;
 import com.sandu.ximon.dao.mapper.ClientMapper;
@@ -15,6 +15,7 @@
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -23,32 +24,31 @@
     private final CountSet countSet;
     private final LampCountService lampCountService;
     private final ClientMapper clientMapper;
-    private final Snowflake snowflake;
+    private final LampPostMapper lampPostMapper;
 
-    public boolean addLamp(LampPostParam lampPostParam){
-        LampPost lampPost=new LampPost();
-       // lampPost.setId(snowflake.nextId());
+    public boolean addLamp(LampPostParam lampPostParam) {
+        LampPost lampPost = new LampPost();
+        // lampPost.setId(snowflake.nextId());
         Long userId = SecurityUtils.getUserId();
         lampPost.setUserId(userId);
         lampPost.setLampId(countSet.aVoid());
         lampPost.setName(lampPostParam.getName());
         lampPost.setAddress(lampPostParam.getAddress());
-        if(lampPostParam.getBelongsClient()!=null){
+        if (lampPostParam.getBelongsClient() != null) {
             Long clientId = clientMapper.findClientIdByName(lampPostParam.getBelongsClient());
             lampPost.setBelongsClient(lampPostParam.getBelongsClient());
             lampPost.setClientId(clientId);
         }
-        if(lampPostParam.getMacCode()==null){
+        if (lampPostParam.getMacCode() == null) {
             lampPost.setMacCode("铏氭嫙鐏潌");
-        }else {
+        } else {
             lampPost.setMacCode(lampPostParam.getMacCode());
         }
-        lampPost.setGroup(null);
-        lampPost.setState("姝e父");
+        lampPost.setState(1);
         boolean save = save(lampPost);
-        if(!save){
+        if (!save) {
             LampCount lampCount = lampCountService.list().get(0);
-            lampCount.setCount(lampCount.getCount()-1);
+            lampCount.setCount(lampCount.getCount() - 1);
             lampCountService.updateById(lampCount);
         }
 
@@ -56,39 +56,71 @@
 
     }
 
-    public  boolean  updateLamp(Long id, LampPostParam lampPostParam){
-        LampPost lampPost=new LampPost();
+    public boolean updateLamp(Long id, LampPostParam lampPostParam) {
+        LampPost lampPost = new LampPost();
+        LampPost byId = getById(id);
+        if (byId == null) {
+            throw new BusinessException("鏈壘鍒拌鐏潌");
+        }
         lampPost.setId(id);
         lampPost.setName(lampPostParam.getName());
         lampPost.setAddress(lampPostParam.getAddress());
-        if(lampPostParam.getBelongsClient()!=null){
+        if (lampPostParam.getBelongsClient() != null) {
             Long clientId = clientMapper.findClientIdByName(lampPostParam.getBelongsClient());
             lampPost.setBelongsClient(lampPostParam.getBelongsClient());
             lampPost.setClientId(clientId);
         }
-        if(lampPostParam.getMacCode()==null){
+        if (lampPostParam.getMacCode() == null) {
             lampPost.setMacCode("铏氭嫙鐏潌");
-        }else {
+        } else {
             lampPost.setMacCode(lampPostParam.getMacCode());
         }
-       return updateById(lampPost);
+        return updateById(lampPost);
     }
 
 
     /**
-     *
      * @param group
-     * @param lampPosts
-     *缂栬緫鍒嗙粍--閫夋嫨鐏潌
+     * @param Id    缂栬緫鍒嗙粍--閫夋嫨鐏潌
      */
 
-    public void  setGroup(String group, List<LampPost> lampPosts){
-        for (LampPost lamp:lampPosts
-             ) {
-            lamp.setGroup(group);
-            updateById(lamp);
+    public void setGroup(String group, List<Long> Id) {
+        // List<LampPost> update=new ArrayList<>();
+        for (Long id : Id
+        ) {
+            lampPostMapper.serGroup(group, id);
         }
 
+        // return updateBatchById(update);
+    }
+
+    public List<LampPost> listLamp() {
+        List<LampPost> list = lampPostMapper.listLamp();
+        // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class));
+        return list;
+
+    }
+
+    public List<LampPost> queryStates() {
+        // List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class).eq(LampPost::getClientId, SecurityUtils.getUserId()));
+        List<LampPost> list = list(Wrappers.lambdaQuery(LampPost.class));
+        List<String> MacCodes = new ArrayList<>();
+
+        for (LampPost post : list) {
+            MacCodes.add(post.getMacCode());
+        }
+        List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(MacCodes);
+        for (LampPost post : list) {
+            for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
+                if(post.getMacCode().equals(deviceStatus.getDeviceName())){
+                    post.setOnLineState(deviceStatus.getStatus());
+                }
+            }
+            MacCodes.add(post.getMacCode());
+        }
+
+
+        return list;
     }
 
 

--
Gitblit v1.9.3