From a015509816d8799b0f0f8eb945984067ba305dc5 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期一, 18 四月 2022 10:17:12 +0800
Subject: [PATCH] 灯杆在线/离线总数
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java | 48 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
index d96210a..0e5c4a1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleService.java
@@ -44,10 +44,7 @@
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -115,6 +112,29 @@
return Long.parseLong(sb.toString());
}
+
+ /**
+ * 缁熻鍦ㄧ嚎鐏潌鏁伴噺
+ * @return
+ */
+ public Map<String,Integer> poleCount() {
+ Map<String,Integer> result = new HashMap<>();
+ List<Pole> list = new ArrayList<>();
+ LambdaQueryWrapper<Pole> wrapper = new LambdaQueryWrapper<>();
+ if (SecurityUtils.getClientId() == null) {
+ wrapper = Wrappers.lambdaQuery(Pole.class);
+ } else {
+ wrapper = Wrappers.lambdaQuery(Pole.class).eq(Pole::getClientId, SecurityUtils.getUserId()).or(
+ w -> {
+ w.eq(Pole::getUserId, SecurityUtils.getUserId());
+ });
+ }
+ list = list(wrapper);
+ List<Pole> poles = isOnLine(list);
+ result.put("onlineCount",poles.size());
+ result.put("totalCount",list.size());
+ return result;
+ }
public List<Pole> queryAllStatesAndList(Integer pageNo, Integer pageSize, PoleStatesParam param) {
List<Pole> list = new ArrayList<>();
@@ -222,6 +242,26 @@
return list;
}
+
+ /**
+ * 鍦ㄧ嚎鐏潌
+ *
+ * @param list
+ * @param
+ * @return
+ */
+ public List<Pole> isOnLine(List<Pole> list) {
+ setOnline(list);
+ List<Pole> online = new ArrayList<>();//鍦ㄧ嚎
+ list.forEach(onLinePole -> {
+ if (("ONLINE").equals(onLinePole.getOnLineState())) {
+ online.add(onLinePole);
+ }
+ });
+
+ return online;
+ }
+
/**
* 鏌ヨ缁戝畾鐘舵��
*
--
Gitblit v1.9.3