From f233ba26bbf8703fcc4e86a5dbb9d6026f91e7d6 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 04 三月 2022 18:14:03 +0800
Subject: [PATCH] C3充电桩

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java |  100 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 74 insertions(+), 26 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
index c9c0884..13c4d57 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/BroadcastTerminalV2Service.java
@@ -1,6 +1,7 @@
 package com.sandu.ximon.admin.service;
 
 import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
@@ -8,30 +9,37 @@
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.TerminalAPIUtils;
 import com.sandu.ximon.admin.vo.TerminalVO;
+import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
 import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
 import com.sandu.ximon.dao.domain.BroadcastV2TaskTerminal;
+import com.sandu.ximon.dao.domain.Monitor;
+import com.sandu.ximon.dao.mapper.BroadcastTerminalV2EntityMapper;
 import com.sandu.ximon.dao.mapper.BroadcastV2TaskTerminalMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
-public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastV2TaskTerminalMapper, BroadcastV2TaskTerminal> {
+public class BroadcastTerminalV2Service extends BaseServiceImpl<BroadcastTerminalV2EntityMapper, BroadcastTerminalV2Entity> {
     //    private final BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalDao;
 //    @Autowired
 //    private SysUserRoleService sysUserRoleService;
 //    @Autowired
 //    private SysUserCompanyService sysUserCompanyService;
+//    @Autowired
+//    private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
     @Autowired
-    private BroadcastV2TaskTerminalMapper broadcastV2TaskTerminalMapper;
+    private BroadcastTerminalV2EntityMapper broadcastTerminalV2EntityMapper;
 
     /**
      * 鍚屾缁堢
      */
     public void synchTerminal() {
-        List<BroadcastTerminalV2Entity> server = broadcastV2TaskTerminalMapper.listAll("");
+        List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll("");
         List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+        System.out.println(list);
         list.stream().forEach(item -> {
             //  闊虫煴鏈嶅姟鍣ㄧ粓绔疘D
             Integer id = item.getId();
@@ -48,47 +56,87 @@
                 BroadcastTerminalV2Entity b = new BroadcastTerminalV2Entity();
                 b.setId(id);
                 b.setTerminalName(item.getName());
-                b.setStreetlightId(0l);
+                b.setStreetlightId(0L);
                 b.setExist(1);
-                broadcastV2TaskTerminalMapper.insert(b);
+//                save(b);
+                broadcastTerminalV2EntityMapper.insert(b);
             }
         });
     }
 
-    public List<BroadcastTerminalV2Entity> getBroadcastTerminalList(BaseConditionVO baseConditionVO, BroadcastTerminalV2Param broadcastTerminalV2Param) {
+    public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, BroadcastTerminalV2Param broadcastTerminalV2Param) {
         if (broadcastTerminalV2Param == null) {
             broadcastTerminalV2Param = new BroadcastTerminalV2Param();
         }
         Long clientId = SecurityUtils.getClientId();
-        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
-        List<Long> listBroadcastTerminalId;
+
+        //鍦ㄧ嚎鐘舵�佸叏閮ㄧ殑璇濋渶瑕佸垎椤�
+        if (2 == broadcastTerminalV2Param.getWorkState()) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        }
+
+        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
+        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos_final = new ArrayList<>();
         //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
         if (broadcastTerminalV2Param.getBindingState() == null || 2 == broadcastTerminalV2Param.getBindingState()) {
             //鍏ㄩ儴
             int bindingState = 2;
-            listBroadcastTerminalId = broadcastV2TaskTerminalMapper.listBroadcastV2TerminalId(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
+            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, bindingState);
         } else {
-            listBroadcastTerminalId = broadcastV2TaskTerminalMapper.listBroadcastV2TerminalId(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
+            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(broadcastTerminalV2Param.getKeyword(), clientId, broadcastTerminalV2Param.getBindingState());
         }
-        if (CollUtil.isEmpty(listBroadcastTerminalId)) {
-            return CollUtil.newArrayList();
-        }
-        List<BroadcastTerminalV2Entity> broadcastTerminalV2Entities = broadcastV2TaskTerminalMapper.getBroadcastTerminalList(listBroadcastTerminalId);
 
-        for (BroadcastTerminalV2Entity bean : broadcastTerminalV2Entities) {
-            TerminalVO terminalVO = TerminalAPIUtils.getTerminalInfo(bean.getId());
-            bean.setStatus(terminalVO.getStatus());
-            bean.setIp(terminalVO.getIp());
-            bean.setVolumn(terminalVO.getVolumn());
-            bean.setDefaultVolumn(terminalVO.getDefaultVolumn());
-            bean.setPower(terminalVO.getPower());
-            bean.setDefaultPower(terminalVO.getDefaultPower());
-            bean.setLast(terminalVO.getLast());
-            bean.setTaskType(terminalVO.getTaskType());
-            bean.setTaskID(terminalVO.getTaskID());
+        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+        for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) {
+            for (TerminalVO terminalVO : list) {
+                if (bean.getId().equals(terminalVO.getId())) {
+                    bean.setStatus(terminalVO.getStatus());
+                    bean.setIp(terminalVO.getIp());
+                    bean.setVolumn(terminalVO.getVolumn());
+                    bean.setDefaultVolumn(terminalVO.getDefaultVolumn());
+                    bean.setPower(terminalVO.getPower());
+                    bean.setDefaultPower(terminalVO.getDefaultPower());
+                    bean.setLast(terminalVO.getLast());
+                    bean.setTaskType(terminalVO.getTaskType());
+                    bean.setTaskID(terminalVO.getTaskID());
 
+                    if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) {
+                        broadcastTerminalV2EntityBos_final.add(bean);
+                    } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) {
+                        broadcastTerminalV2EntityBos_final.add(bean);
+                    }
+                    break;
+                }
+            }
         }
-        return broadcastTerminalV2Entities;
+        if (2 == broadcastTerminalV2Param.getWorkState()) {
+            return broadcastTerminalV2EntityBos;
+        } else {
+            return broadcastTerminalV2EntityBos_final;
+        }
+    }
+
+    /**
+     * 淇敼璁惧缁戝畾鐘舵��
+     *
+     * @param flag true涓虹粦瀹�  false 涓鸿В缁�
+     */
+    public void updateBingdingState(boolean flag, int deviceCode) {
+        if (flag) {//缁戝畾
+            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
+            if (broadcastTerminalV2Entity == null) {
+                return;
+            }
+            broadcastTerminalV2Entity.setBindStates(1);
+            updateById(broadcastTerminalV2Entity);
+        } else {//瑙g粦
+            BroadcastTerminalV2Entity broadcastTerminalV2Entity = getOne(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, deviceCode));
+            if (broadcastTerminalV2Entity == null) {
+                return;
+            }
+            broadcastTerminalV2Entity.setBindStates(0);
+            updateById(broadcastTerminalV2Entity);
+        }
     }
 
     /**

--
Gitblit v1.9.3