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/controller/DashboardController.java | 5 ++
ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java | 9 ++++
ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java | 43 +++++++++++++++++++--
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 23 ++++++-----
ycl-server/src/main/java/com/ycl/platform/service/ITPlatformService.java | 4 ++
ycl-server/src/main/java/com/ycl/platform/service/PlatformService.java | 4 ++
6 files changed, 72 insertions(+), 16 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
index 08c3d54..5d23b48 100644
--- a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
+++ b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
@@ -47,6 +47,13 @@
}
return null;
}
-
+ public static AreaDeptEnum fromName(String name) {
+ for (AreaDeptEnum type : AreaDeptEnum.values()) {
+ if (type.getName().equals(name) ) {
+ return type;
+ }
+ }
+ return null;
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
index 5516a2b..2321d3a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java
@@ -28,6 +28,7 @@
private final ICheckIndexCarService checkIndexCarService;
private final ICheckIndexVideoService checkIndexVideoService;
private final ICheckScoreService checkScoreService;
+ private final PlatformService platformService;
@GetMapping("/department")
public AjaxResult department() {
@@ -73,4 +74,8 @@
public AjaxResult checkScore(DashboardQuery dashboardQuery) {
return AjaxResult.success(checkScoreService.dashboard(dashboardQuery));
}
+ @GetMapping("/platform")
+ public AjaxResult platform(DashboardQuery dashboardQuery) {
+ return AjaxResult.success(platformService.dashboard(dashboardQuery));
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITPlatformService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITPlatformService.java
index 8b13b28..5a8087e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ITPlatformService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ITPlatformService.java
@@ -1,8 +1,10 @@
package com.ycl.platform.service;
import com.ycl.platform.domain.entity.TPlatform;
+import com.ycl.platform.domain.query.DashboardQuery;
import java.util.List;
+import java.util.Map;
/**
* 骞冲彴杩愯鐩戞帶Service鎺ュ彛
@@ -58,4 +60,6 @@
* @return 缁撴灉
*/
public int deleteTPlatformById(Long id);
+
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/PlatformService.java b/ycl-server/src/main/java/com/ycl/platform/service/PlatformService.java
index 219389a..8e4bbd3 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/PlatformService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/PlatformService.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.extension.service.IService;
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.system.Result;
import java.util.List;
+import java.util.Map;
/**
* 骞冲彴杩愯鐩戞帶 鏈嶅姟绫�
@@ -63,4 +65,6 @@
* @return
*/
Result all();
+
+ Map<String, Map<String, Object>> dashboard(DashboardQuery dashboardQuery);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
index 6df38ab..c48bde7 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -3,6 +3,7 @@
import annotation.DataScope;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.base.CheckIndex;
import com.ycl.platform.domain.dto.CheckResultExportDTO;
@@ -12,10 +13,7 @@
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.query.DashboardQuery;
import com.ycl.platform.domain.vo.*;
-import com.ycl.platform.mapper.CheckRuleMapper;
-import com.ycl.platform.mapper.CheckScoreMapper;
-import com.ycl.platform.mapper.CheckTemplateMapper;
-import com.ycl.platform.mapper.CheckTemplateRuleMapper;
+import com.ycl.platform.mapper.*;
import com.ycl.platform.service.ICheckIndexCarService;
import com.ycl.platform.service.ICheckIndexFaceService;
import com.ycl.platform.service.ICheckIndexVideoService;
@@ -28,6 +26,7 @@
import com.ycl.utils.SecurityUtils;
import com.ycl.utils.StringUtils;
import constant.CheckConstants;
+import enumeration.general.AreaDeptEnum;
import enumeration.general.PublishType;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
@@ -41,6 +40,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
@@ -72,7 +72,8 @@
private ICheckIndexVideoService indexVideoService;
@Autowired
private ISysDeptService deptService;
-
+ @Autowired
+ private PlatformMapper platformMapper;
/**
* 鏌ヨ鑰冩牳绉垎鎸囨爣
@@ -323,8 +324,8 @@
roleControl(checkIndexCar);
List<CheckIndexCar> checkIndexCars = new ArrayList<>();
for (Integer examineTag : exportDTO.getExamineTags()) {
- checkIndexCar.setExamineTag(Short.valueOf(examineTag+""));
- if(examineTag ==0){
+ checkIndexCar.setExamineTag(Short.valueOf(examineTag + ""));
+ if (examineTag == 0) {
checkIndexCar.setExamineTagQuery(1);
}
checkIndexCars.addAll(indexCarService.selectCheckIndexCarList(checkIndexCar));
@@ -371,8 +372,8 @@
roleControl(checkIndexFace);
List<CheckIndexFace> checkIndexFaces = new ArrayList<>();
for (Integer examineTag : exportDTO.getExamineTags()) {
- checkIndexFace.setExamineTag(Short.valueOf(examineTag+""));
- if(examineTag ==0){
+ checkIndexFace.setExamineTag(Short.valueOf(examineTag + ""));
+ if (examineTag == 0) {
checkIndexFace.setExamineTagQuery(1);
}
checkIndexFaces.addAll(indexFaceService.selectCheckIndexFaceList(checkIndexFace));
@@ -419,8 +420,8 @@
roleControl(checkIndexVideo);
List<CheckIndexVideo> checkIndexVideos = new ArrayList<>();
for (Integer examineTag : exportDTO.getExamineTags()) {
- checkIndexVideo.setExamineTag(Short.valueOf(examineTag+""));
- if(examineTag ==0){
+ checkIndexVideo.setExamineTag(Short.valueOf(examineTag + ""));
+ if (examineTag == 0) {
checkIndexVideo.setExamineTagQuery(1);
}
checkIndexVideos.addAll(indexVideoService.selectCheckIndexVideoList(checkIndexVideo));
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