From 7a33c5b558e7e4ab5760261accbd32c7f2056c4a Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 23 九月 2024 19:16:13 +0800
Subject: [PATCH] 大屏分离平台在线和考核成绩接口

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
index 5bb2aaf..50a8d45 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.platform.domain.entity.Platform;
 import com.ycl.platform.domain.form.PlatformForm;
+import com.ycl.platform.domain.query.DashboardQuery;
 import com.ycl.platform.domain.query.PlatformQuery;
 import com.ycl.platform.domain.vo.PlatformVO;
 import com.ycl.platform.mapper.PlatformMapper;
@@ -15,6 +16,7 @@
 import com.ycl.system.service.ISysDictTypeService;
 import com.ycl.system.service.impl.SysDictDataServiceImpl;
 import com.ycl.system.service.impl.SysDictTypeServiceImpl;
+import enumeration.general.AreaDeptEnum;
 import org.ehcache.core.util.CollectionUtil;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
@@ -24,10 +26,9 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -171,4 +172,38 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    @Override
+    public Map<String, Map<String, Object>> dashboard(DashboardQuery dashboardQuery) {
+        //鍏堥粯璁ゆ墍鏈夊尯鍘垮钩鍙板湪绾匡紝鍒濆鍖杕ap鏁版嵁
+        Map<String, Map<String, Object>> resultMap = new HashMap<>();
+        for (AreaDeptEnum value : AreaDeptEnum.values()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("platformOnline",Boolean.TRUE);
+            resultMap.put(value.getName(),map);
+        }
+        //骞冲彴鍦ㄧ嚎鐘舵�� 榛樿鍦ㄧ嚎锛屽鏋滀竴涓笉鍦ㄧ嚎鏀逛负false銆�
+        List<Platform> platformList = new LambdaQueryChainWrapper<>(platformMapper)
+                .isNotNull(Platform::getPlatformIP)
+                .list();
+        Boolean reachable = Boolean.FALSE;
+        try {
+            for (Platform platform : platformList) {
+                reachable = InetAddress.getByName(platform.getPlatformIP()).isReachable(3000);
+                //涓嶅湪绾�
+                if(!reachable) {
+                    //鑾峰彇骞冲彴绠$悊鐨勫尯鍩熺紪鐮侀泦鍚�
+                    List<String> areaCodes = Arrays.asList(com.ycl.utils.StringUtils.split(platform.getArea(), ","));
+                    resultMap.forEach((deptName, map) -> {
+                        if(areaCodes.contains(AreaDeptEnum.fromName(deptName).getCode())){
+                            map.put("platformOnline",Boolean.FALSE);
+                        }
+                    });
+                }
+            }
+        } catch (Exception e) {
+            log.error("妫�鏌ュ钩鍙拌繛閫氭�ф椂鍙戠敓閿欒", e);
+        }
+        return resultMap;
+    }
 }

--
Gitblit v1.8.0