From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java |  141 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 108 insertions(+), 33 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
index 936b263..f8cf860 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeService.java
@@ -1,19 +1,24 @@
 package com.sandu.ximon.admin.service;
 
+import com.alibaba.fastjson.JSON;
 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.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.dto.TerminalDto;
 import com.sandu.ximon.admin.param.BroadcastTerminalV2Param;
+import com.sandu.ximon.admin.redis.DeviceRedisKey;
 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.TerminalAPIUtils;
 import com.sandu.ximon.admin.vo.EquipmentInfomation;
-import com.sandu.ximon.admin.vo.TerminalVO;
+import com.sandu.ximon.admin.vo.RedisDeviceStatus;
 import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo;
 import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity;
+import com.sandu.ximon.dao.enums.AdministratorEnums;
 import com.sandu.ximon.dao.enums.OrderByEnums;
 import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.IPBroadcastMapper;
@@ -28,6 +33,8 @@
 
     @Autowired
     private IPBroadcastMapper broadcastTerminalV2EntityMapper;
+    @Autowired
+    private RedisUtils redisUtils;
 
     /**
      * 鍚屾缁堢
@@ -35,7 +42,7 @@
     public void synchTerminal() {
         List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll();
 
-        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+        List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
         System.out.println(list);
         list.stream().forEach(item -> {
             //  闊虫煴鏈嶅姟鍣ㄧ粓绔疘D
@@ -67,6 +74,15 @@
          */
     }
 
+    /**
+     * IP闊虫煴鍒楄〃
+     *
+     * @param baseConditionVO
+     * @param order
+     * @param seq
+     * @param broadcastTerminalV2Param
+     * @return
+     */
     public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, Integer order, Integer seq, BroadcastTerminalV2Param broadcastTerminalV2Param) {
         if (broadcastTerminalV2Param == null) {
             broadcastTerminalV2Param = new BroadcastTerminalV2Param();
@@ -127,23 +143,23 @@
             }
         }
 
-        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+        List<TerminalDto> 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());
+            for (TerminalDto terminalDto : list) {
+                if (bean.getId().equals(terminalDto.getId())) {
+                    bean.setStatus(terminalDto.getStatus());
+                    bean.setIp(terminalDto.getIp());
+                    bean.setVolumn(terminalDto.getVolumn());
+                    bean.setDefaultVolumn(terminalDto.getDefaultVolumn());
+                    bean.setPower(terminalDto.getPower());
+                    bean.setDefaultPower(terminalDto.getDefaultPower());
+                    bean.setLast(terminalDto.getLast());
+                    bean.setTaskType(terminalDto.getTaskType());
+                    bean.setTaskID(terminalDto.getTaskID());
 
-                    if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) {
+                    if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalDto.getStatus()) {
                         broadcastTerminalV2EntityBos_final.add(bean);
-                    } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) {
+                    } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalDto.getStatus()) {
                         broadcastTerminalV2EntityBos_final.add(bean);
                     }
                     break;
@@ -157,25 +173,41 @@
         }
     }
 
+    /**
+     * IP闊虫煴鍒楄〃锛堢敤浜庨椤垫暟鎹粺璁★級
+     *
+     * @return
+     */
+    public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalListOnHome() {
+        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos;
+
+        if (SecurityUtils.getClientId() == null) {
+            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, null, 2);
+        } else {
+            broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, SecurityUtils.getUserId(), 2);
+        }
+
+        return broadcastTerminalV2EntityBos;
+    }
 
     public List<BroadcastTerminalV2EntityBo> newIpTerminalList(String keyword) {
 
-        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.newListTerminalOnBind(SecurityUtils.getClientId(), keyword);
+        List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getListTerminalOnBind(SecurityUtils.getClientId(), keyword);
 
 
-        List<TerminalVO> list = TerminalAPIUtils.getTerminalList();
+        List<TerminalDto> 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());
+            for (TerminalDto terminalDto : list) {
+                if (bean.getId().equals(terminalDto.getId())) {
+                    bean.setStatus(terminalDto.getStatus());
+                    bean.setIp(terminalDto.getIp());
+                    bean.setVolumn(terminalDto.getVolume());
+                    bean.setDefaultVolumn(terminalDto.getDefaultVolumn());
+                    bean.setPower(terminalDto.getPower());
+                    bean.setDefaultPower(terminalDto.getDefaultPower());
+                    bean.setLast(terminalDto.getLast());
+                    bean.setTaskType(terminalDto.getTaskType());
+                    bean.setTaskID(terminalDto.getTaskID());
                     break;
                 }
             }
@@ -244,7 +276,7 @@
             equipmentInfo.setEquipmentMac(id);
             equipmentInfo.setEquipmentName(one.getTerminalName());
         }
-        TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id));
+        TerminalDto terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id));
         if (terminalInfo != null) {
             //绌洪棽 1銆�   宸ヤ綔涓� 2 鎴栬�� 4銆�     鏂嚎 0锛�    鎶� 閿� 8
             switch (terminalInfo.getStatus()) {
@@ -287,9 +319,11 @@
         if (byId == null) {
             throw new BusinessException("缁堢涓嶅瓨鍦�");
         }
-        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME);
-        if (!belong) {
-            throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+        if (AdministratorEnums.NORMAL.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
+            boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME);
+            if (!belong) {
+                throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+            }
         }
         byId.setTerminalName(name);
         boolean flag = updateById(byId);
@@ -303,4 +337,45 @@
          */
         return flag;
     }
+
+
+    public static Object getInfo() {
+        return TerminalAPIUtils.getTerminalInfo(25);
+    }
+
+    /**
+     * 鍚慠edis涓瓨鍏ヨ澶囩姸鎬�
+     */
+    public void setCacheData() {
+        //鏈嶅姟鍣ㄦ墍鏈夐煶鏌变俊鎭�
+        List<TerminalDto> list = TerminalAPIUtils.getTerminalList();
+        list.forEach(
+                device -> {
+                    RedisDeviceStatus deviceStatus = new RedisDeviceStatus();
+                    deviceStatus.setDeviceId(device.getId().toString());
+                    if (device != null) {
+                        //绌洪棽 1銆�   宸ヤ綔涓� 2 鎴栬�� 4銆�     鏂嚎 0锛�    鎶� 閿� 8
+                        switch (device.getStatus()) {
+                            case 1:
+                            case 2:
+                            case 4:
+                                deviceStatus.setStatus(0);
+                                break;
+                            case 0:
+                                deviceStatus.setStatus(1);
+                                break;
+                            case 8:
+                                deviceStatus.setStatus(0);
+                                break;
+                            default:
+                                deviceStatus.setStatus(1);
+
+                        }
+                    }
+                    redisUtils.set(DeviceRedisKey.IP_BROADCAST + device.getId(), JSON.toJSONString(deviceStatus));
+//                    redisUtils.delete(DeviceRedisKey.IP_BROADCAST + device.getId());
+                }
+        );
+
+    }
 }

--
Gitblit v1.9.3