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