From c83101eb62f5d4906b9c01ceea6b21a37f9e84d8 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 18 十一月 2025 09:24:53 +0800
Subject: [PATCH] bug修复
---
ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 93 insertions(+), 16 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 a755dc6..306d388 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
@@ -1,15 +1,22 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
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;
import com.ycl.platform.service.PlatformService;
import com.ycl.system.Result;
+import com.ycl.system.entity.SysDictData;
import com.ycl.system.page.PageUtil;
+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;
@@ -17,9 +24,11 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
-import java.util.Date;
-import java.util.List;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -33,9 +42,12 @@
public class PlatformServiceImpl extends ServiceImpl<PlatformMapper, Platform> implements PlatformService {
private final PlatformMapper platformMapper;
+ private final SysDictDataServiceImpl dictDataService;
+ private final ISysDictTypeService dictTypeService;
/**
* 娣诲姞
+ *
* @param form
* @return
*/
@@ -47,23 +59,27 @@
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
+ String area = form.getAreaList().stream().collect(Collectors.joining(","));
+ entity.setArea(area);
baseMapper.insert(entity);
- if (! CollectionUtils.isEmpty(form.getDeployList())) {
- List<Platform> childList = form.getDeployList().stream().map(deploy -> {
- Platform child = new Platform();
- BeanUtils.copyProperties(deploy, child);
- child.setParentId(entity.getId());
- child.setCreateTime(now);
- child.setUpdateTime(now);
- return child;
- }).collect(Collectors.toList());
- this.saveBatch(childList);
- }
+// if (! CollectionUtils.isEmpty(form.getDeployList())) {
+// List<Platform> childList = form.getDeployList().stream().map(deploy -> {
+// Platform child = new Platform();
+// BeanUtils.copyProperties(deploy, child);
+// child.setPlatformName(entity.getPlatformName());
+// child.setParentId(entity.getId());
+// child.setCreateTime(now);
+// child.setUpdateTime(now);
+// return child;
+// }).collect(Collectors.toList());
+// this.saveBatch(childList);
+// }
return Result.ok("娣诲姞鎴愬姛");
}
/**
* 淇敼
+ *
* @param form
* @return
*/
@@ -74,12 +90,15 @@
// 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
BeanUtils.copyProperties(form, entity);
+ String area = form.getAreaList().stream().collect(Collectors.joining(","));
+ entity.setArea(area);
baseMapper.updateById(entity);
return Result.ok("淇敼鎴愬姛");
}
/**
* 鎵归噺鍒犻櫎
+ *
* @param ids
* @return
*/
@@ -91,6 +110,7 @@
/**
* id鍒犻櫎
+ *
* @param id
* @return
*/
@@ -102,18 +122,40 @@
/**
* 鍒嗛〉鏌ヨ
+ *
* @param query
* @return
*/
@Override
public Result page(PlatformQuery query) {
- IPage<PlatformVO> page = PageUtil.getPage(query, PlatformVO.class);
- baseMapper.getPage(page, query);
- return Result.ok().data(page.getRecords()).total(page.getTotal());
+ List<PlatformVO> list = baseMapper.getPage(query);
+// List<PlatformVO> parentList = list.stream().filter(item -> item.getParentId() == 0).collect(Collectors.toList());
+ List<SysDictData> areaCodeList = dictTypeService.selectDictDataByType("area_code");
+ Map<String, String> dictMap = areaCodeList.stream().collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
+ for (PlatformVO platform : list) {
+ String[] areaList = platform.getArea().split(",");
+ List<String> areas = new ArrayList<>();
+ for (String s : areaList) {
+ String label = dictMap.get(s);
+ if (StringUtils.hasText(label)) {
+ areas.add(label);
+ }
+ }
+ platform.setAreaList(areaList);
+ platform.setArea(areas.stream().collect(Collectors.joining("銆�")));
+// List<PlatformVO> childList = list.stream().filter(item -> item.getParentId().equals(parent.getId())).collect(Collectors.toList());
+//
+// parent.setChildNum(childList.size());
+// resultList.add(parent);
+// resultList.addAll(childList);
+ }
+ // 鍓嶇涓嶇敤灞曠ず鍒嗛〉
+ return Result.ok().data(list).total(0);
}
/**
* 鏍规嵁id鏌ユ壘
+ *
* @param id
* @return
*/
@@ -126,6 +168,7 @@
/**
* 鍒楄〃
+ *
* @return
*/
@Override
@@ -136,4 +179,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