From 16bcd26bbee48a42e05fc4ffbe3a60dacdc9e5f1 Mon Sep 17 00:00:00 2001 From: HuangHuiKang Date: Tue, 17 Mar 2026 16:53:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=A2=9E=E5=8A=A0=E7=82=B9=E4=BD=8D=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/controller/admin/device/DeviceController.java | 5 +++-- .../yudao/module/iot/service/device/DeviceService.java | 2 +- .../module/iot/service/device/DeviceServiceImpl.java | 8 ++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java index d0b401506..d39154dad 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/DeviceController.java @@ -231,10 +231,11 @@ public class DeviceController { public CommonResult>> historyRecord(@RequestParam("deviceId") Long deviceId, @RequestParam(name = "collectionStartTime", required = false) String collectionStartTime, @RequestParam(name = "collectionEndTime", required = false) String collectionEndTime, - @RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer page, + @RequestParam(name = "attributeCodes", required = false)List attributeCodes, + @RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer page, @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize ) throws JsonProcessingException { - PageResult> deviceContactModelDO=deviceService.historyRecord(deviceId,collectionStartTime,collectionEndTime,page,pageSize); + PageResult> deviceContactModelDO=deviceService.historyRecord(deviceId,collectionStartTime,collectionEndTime,attributeCodes,page,pageSize); return success(deviceContactModelDO); } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java index bd622d796..02631d674 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceService.java @@ -124,7 +124,7 @@ public interface DeviceService { Map>> singleDevice(Long deviceId) throws JsonProcessingException; - PageResult> historyRecord(Long deviceId,String collectionStartTime, String collectionEndTime,Integer page,Integer size); + PageResult> historyRecord(Long deviceId,String collectionStartTime, String collectionEndTime,List attributeCodes,Integer page,Integer size); Map> createDeviceDataMap(Long deviceId); diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java index cb8d7e3d0..c409876c4 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/DeviceServiceImpl.java @@ -949,6 +949,7 @@ public class DeviceServiceImpl implements DeviceService { Long deviceId, String collectionStartTime, String collectionEndTime, + List attributeCodes, Integer page, Integer pageSize) { @@ -1030,6 +1031,13 @@ public class DeviceServiceImpl implements DeviceService { // 核心逻辑:遍历 attributeList(保证全部字段返回) for (DeviceContactModelDO attribute : attributeList) { + // 过滤attributeCodes + if (attributeCodes != null && !attributeCodes.isEmpty() + && !attributeCodes.contains(attribute.getAttributeCode())) { + continue; + } + + String column = attribute.getAttributeCode();