From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformServiceImpl.java |  112 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 89 insertions(+), 23 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 b1bb3f9..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
@@ -5,12 +5,18 @@
 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;
@@ -18,10 +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.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -35,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
      */
@@ -49,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
      */
@@ -76,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
      */
@@ -93,6 +110,7 @@
 
     /**
      * id鍒犻櫎
+     *
      * @param id
      * @return
      */
@@ -104,27 +122,40 @@
 
     /**
      * 鍒嗛〉鏌ヨ
+     *
      * @param query
      * @return
      */
     @Override
     public Result page(PlatformQuery query) {
         List<PlatformVO> list = baseMapper.getPage(query);
-        List<PlatformVO> parentList = list.stream().filter(item -> item.getParentId() == 0).collect(Collectors.toList());
-        List<PlatformVO> resultList = new ArrayList<>(4);
-        for (PlatformVO parent : parentList) {
-            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);
+//        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(resultList).total(0);
+        return Result.ok().data(list).total(0);
     }
 
     /**
      * 鏍规嵁id鏌ユ壘
+     *
      * @param id
      * @return
      */
@@ -137,6 +168,7 @@
 
     /**
      * 鍒楄〃
+     *
      * @return
      */
     @Override
@@ -147,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