From 15dc437e4e299cd6e613dda13a01efd4636e1199 Mon Sep 17 00:00:00 2001 From: liutao <790864623@qq.com> Date: Tue, 21 Apr 2026 14:11:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2=E9=87=87?= =?UTF-8?q?=E9=9B=86=E8=AE=BE=E5=A4=87=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/device/DeviceController.java | 8 ++++++ .../iot/dal/mysql/device/DeviceMapper.java | 2 +- .../iot/service/device/DeviceService.java | 1 + .../iot/service/device/DeviceServiceImpl.java | 10 +++++++ .../resources/mapper/device/DeviceMapper.xml | 27 +++++++++++++++++++ 5 files changed, 47 insertions(+), 1 deletion(-) 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 da69cda27..edf0fe2b0 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 @@ -117,6 +117,14 @@ public class DeviceController { return success(deviceService.getDeviceSelectList()); } + @GetMapping("/available-page") + @Operation(summary = "获取设备分页列表(全量+是否已选+已删除标识)") + @PreAuthorize("@ss.hasPermission('iot:device:query')") + public CommonResult> getAvailableDevicePage(@Valid DevicePageReqVO pageReqVO) { + PageResult pageResult = deviceService.getAvailableDevicePage(pageReqVO); + return success(pageResult); + } + @GetMapping("/export-excel") @Operation(summary = "导出物联设备 Excel") @PreAuthorize("@ss.hasPermission('iot:device:export')") diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java index 294e1334b..6b6cc8169 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/DeviceMapper.java @@ -141,5 +141,5 @@ public interface DeviceMapper extends BaseMapperX { List selectHolidayDays(@Param("startDay") Date startDay, @Param("endDay") Date endDay); - + List getAvailableDevicePage(@Param("page") Page page,@Param("param") DevicePageReqVO pageReqVO); } 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 a39b9abd5..d53c62e34 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 @@ -156,4 +156,5 @@ public interface DeviceService { Map getMapIncludeDeleted(Collection ids); + PageResult getAvailableDevicePage(DevicePageReqVO pageReqVO); } 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 eefa31923..b435468d8 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 @@ -49,6 +49,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; @@ -1736,6 +1737,15 @@ public class DeviceServiceImpl implements DeviceService { )); } + @Override + public PageResult getAvailableDevicePage(DevicePageReqVO pageReqVO) { + // 1. 先从 MySQL 查询设备分页信息 + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List availableDeviceList = deviceMapper.getAvailableDevicePage(page, pageReqVO); + + return new PageResult<>(availableDeviceList, page.getTotal()); + } + /** * 按时间区间查询设备整体开机率、稼动率日趋势。 * 按天复用 deviceOperationPage 统计单设备数据后求平均。 diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml index d7a95e1b6..b1733a8b1 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/DeviceMapper.xml @@ -271,6 +271,33 @@ AND the_day >= #{startDay} AND the_day < #{endDay} +