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 b756dc158..156815b7b 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 @@ -311,8 +311,10 @@ public class DeviceController { @Operation(summary = "获取首页设备运行状态") // @PreAuthorize("@ss.hasPermission('iot:device:query')") @Parameter(name = "orgId", description = "产线组织Id") - public CommonResult getDeviceOperationalStatus(@RequestParam(name = "orgId",required = false) Long orgId) throws JsonProcessingException { - DeviceOperationStatusRespVO deviceOperationalStatus=deviceService.getDeviceOperationalStatus(); + public CommonResult getDeviceOperationalStatus( + @RequestParam(name = "orgId", required = false) Long orgId, + @RequestParam(name = "deviceType", required = false) Integer deviceType) throws JsonProcessingException { + DeviceOperationStatusRespVO deviceOperationalStatus=deviceService.getDeviceOperationalStatus(deviceType); return success(deviceOperationalStatus); } @@ -445,8 +447,10 @@ public class DeviceController { @Operation(summary = "获得多个设备的属性数据") @Parameter(name = "goviewId", description = "大屏ID", required = true) //@PreAuthorize("@ss.hasPermission('iot:device:query')") - public CommonResult>> getMultiDeviceAttributes(@RequestParam("goviewId") Long goviewId) { - return success(deviceService.getMultiDeviceAttributes(goviewId)); + public CommonResult>> getMultiDeviceAttributes( + @RequestParam("goviewId") Long goviewId, + @RequestParam(name = "deviceType", required = false) Integer deviceType) { + return success(deviceService.getMultiDeviceAttributes(goviewId, deviceType)); } 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 b6c82ca51..50deacd45 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 @@ -130,8 +130,12 @@ public interface DeviceMapper extends BaseMapperX { Integer getTotalDeviceCount(); + Integer getTotalDeviceCountByType(@Param("deviceType") Integer deviceType); + List getAllDeviceIds(); + List getAllDeviceIdsByType(@Param("deviceType") Integer deviceType); + List selectDeviceSelectList(); DeviceDO selectByIdWithDeleted(@Param("id") Long id); 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 fcf38cd83..9763ac5cc 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 @@ -145,13 +145,13 @@ public interface DeviceService { Boolean scheduledStop(Long id); - DeviceOperationStatusRespVO getDeviceOperationalStatus(); + DeviceOperationStatusRespVO getDeviceOperationalStatus(Integer deviceType); DeviceOverviewRespVO getDeviceOverview(); List getDeviceRateTrend(DeviceRateTrendReqVO reqVO); - List> getMultiDeviceAttributes(Long goviewId); + List> getMultiDeviceAttributes(Long goviewId, Integer deviceType); List getDeviceAttributeList(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 4d98d9e09..54fb68cf6 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 @@ -1809,16 +1809,20 @@ public class DeviceServiceImpl implements DeviceService { } @Override - public DeviceOperationStatusRespVO getDeviceOperationalStatus() { + public DeviceOperationStatusRespVO getDeviceOperationalStatus(Integer deviceType) { DeviceOperationStatusRespVO result = new DeviceOperationStatusRespVO(); // 1. 从 MySQL 获取设备总数 - Integer totalDevices = deviceMapper.getTotalDeviceCount(); + Integer totalDevices = deviceType == null + ? deviceMapper.getTotalDeviceCount() + : deviceMapper.getTotalDeviceCountByType(deviceType); result.setTotalDevices(totalDevices); // 2. 从 MySQL 获取所有设备ID - List deviceIds = deviceMapper.getAllDeviceIds(); + List deviceIds = deviceType == null + ? deviceMapper.getAllDeviceIds() + : deviceMapper.getAllDeviceIdsByType(deviceType); if (CollectionUtils.isEmpty(deviceIds)) { // 没有设备,所有状态设为0 @@ -1957,7 +1961,7 @@ public class DeviceServiceImpl implements DeviceService { } @Override - public List> getMultiDeviceAttributes(Long goviewId) { + public List> getMultiDeviceAttributes(Long goviewId, Integer deviceType) { List> result = new ArrayList<>(); @@ -1994,7 +1998,9 @@ public class DeviceServiceImpl implements DeviceService { // 3. 批量查设备 Map deviceMap = deviceMapper - .selectBatchIds(allDeviceIds) + .selectList(Wrappers.lambdaQuery() + .in(DeviceDO::getId, allDeviceIds) + .eq(deviceType != null, DeviceDO::getDeviceType, deviceType)) .stream() .collect(Collectors.toMap(DeviceDO::getId, Function.identity())); log.info("deviceMap size: {}", deviceMap.size()); 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 2a3f99bc2..5377913cc 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 @@ -207,6 +207,13 @@ WHERE deleted = 0 + + + +