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