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();