From de1d6cf24efebced674fbaa46123648bf50bd74a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 06 五月 2026 14:08:02 +0800
Subject: [PATCH] feat(device): 添加物联网设备支持功能
---
src/main/java/com/ruoyi/http/service/controller/JclyController.java | 78 +++++++++++++++++++--------------------
1 files changed, 38 insertions(+), 40 deletions(-)
diff --git a/src/main/java/com/ruoyi/http/service/controller/JclyController.java b/src/main/java/com/ruoyi/http/service/controller/JclyController.java
index 873c86b..00bbb74 100644
--- a/src/main/java/com/ruoyi/http/service/controller/JclyController.java
+++ b/src/main/java/com/ruoyi/http/service/controller/JclyController.java
@@ -1,5 +1,9 @@
package com.ruoyi.http.service.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.http.service.impl.RealTimeEnergyConsumptionServiceImpl;
@@ -10,8 +14,11 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import javax.naming.ldap.PagedResultsControl;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
@RestController
@RequestMapping("/iot")
@@ -21,49 +28,40 @@
@Autowired
private RealTimeEnergyConsumptionServiceImpl realTimeEnergyConsumptionService;
- private final String DEVICE_GUID = "90444196515214284663";
-
- private final String DEVICE_GUID_2 = "90187099059463151919";
-
- private final String DEVICE_GUID_3 = "90299548548536240693";
-
- private final String DEVICE_GUID_4 = "90558670647417764794";
-
- private final String DEVICE_GUID_5 = "90802100373808917949";
-
- private final String DEVICE_GUID_6 = "90878497978270816672";
-
- private final String DEVICE_GUID_7 = "90140305546502568592";
-
- private final String DEVICE_GUID_8 = "90169534185157152878";
-
- private final String DEVICE_GUID_9 = "90276104525436465283";
-
- private final String DEVICE_GUID_10 = "90543538108119559625";
-
- private final String DEVICE_GUID_11 = "90689981408895835872";
-
- private final String DEVICE_GUID_12 = "90943795336343088068";
+ @Autowired
+ private IDeviceLedgerService deviceLedgerService;
/**
* 瀹炴椂鑾峰彇娓╂箍搴︼紝浜屾哀鍖栫⒊鏁版嵁
*/
@GetMapping("/getRealData")
public AjaxResult getRealData() {
- List<Map<String,String>> maps = realTimeEnergyConsumptionService
- .getRealData(Arrays.
- asList(DEVICE_GUID,
- DEVICE_GUID_2,
- DEVICE_GUID_3,
- DEVICE_GUID_4,
- DEVICE_GUID_5,
- DEVICE_GUID_6,
- DEVICE_GUID_7,
- DEVICE_GUID_8,
- DEVICE_GUID_9,
- DEVICE_GUID_10,
- DEVICE_GUID_11,
- DEVICE_GUID_12));
+ List<DeviceLedger> iotDevices = deviceLedgerService.list(new LambdaQueryWrapper<DeviceLedger>()
+ .eq(DeviceLedger::getIsIotDevice, 1)
+ .isNotNull(DeviceLedger::getExternalCode)
+ .ne(DeviceLedger::getExternalCode, ""));
+
+ Map<String, String> guidDeviceNameMap = iotDevices.stream()
+ .filter(item -> StringUtils.isNotEmpty(item.getExternalCode()))
+ .collect(Collectors.toMap(
+ item -> item.getExternalCode().trim(),
+ item -> StringUtils.isNotEmpty(item.getDeviceName()) ? item.getDeviceName().trim() : "",
+ (oldValue, newValue) -> StringUtils.isNotEmpty(oldValue) ? oldValue : newValue,
+ LinkedHashMap::new
+ ));
+ List<String> guidList = new ArrayList<>(guidDeviceNameMap.keySet());
+
+ List<Map<String, String>> maps = realTimeEnergyConsumptionService
+ .getRealData(guidList);
+ for (Map<String, String> item : maps) {
+ String guid = item.get("guid");
+ if (StringUtils.isNotEmpty(guid)) {
+ String deviceName = guidDeviceNameMap.get(guid.trim());
+ if (StringUtils.isNotEmpty(deviceName)) {
+ item.put("deviceName", deviceName);
+ }
+ }
+ }
return AjaxResult.success(maps);
}
@@ -74,7 +72,7 @@
public AjaxResult getHistoryData(@RequestParam(value = "guid") String guid,
@RequestParam(value = "startTime") long startTime,
@RequestParam(value = "endTime") long endTime) {
- List<Map<String,String>> maps = realTimeEnergyConsumptionService.getHistoryData(guid, startTime, endTime);
+ List<Map<String, String>> maps = realTimeEnergyConsumptionService.getHistoryData(guid, startTime, endTime);
return AjaxResult.success(maps);
}
--
Gitblit v1.9.3