From 7b114e19867922b5bb3e3537d2fea038a96c5ece Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 14 Jun 2025 09:06:41 +0800 Subject: [PATCH] feat:【IoT 物联网】移除 deviceKey 参数 --- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceRespVO.java | 4 ---- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceSaveReqVO.java | 5 ----- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java | 7 ------- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/IotDeviceMapper.java | 6 ------ yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceService.java | 8 -------- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java | 23 ++++++----------------- 6 files changed, 6 insertions(+), 47 deletions(-) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceRespVO.java index 8404ca9..2403b5d 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceRespVO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceRespVO.java @@ -20,10 +20,6 @@ public class IotDeviceRespVO { @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177") private Long id; - @Schema(description = "设备唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("设备唯一标识符") - private String deviceKey; - @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @ExcelProperty("设备名称") private String deviceName; diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceSaveReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceSaveReqVO.java index b9ea9b9..71c15cb 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceSaveReqVO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDeviceSaveReqVO.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.iot.controller.admin.device.vo.device; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.Size; import lombok.Data; import java.util.Set; @@ -13,10 +12,6 @@ public class IotDeviceSaveReqVO { @Schema(description = "设备编号", example = "177") private Long id; - @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.AUTO, example = "177") - @Size(max = 50, message = "设备编号长度不能超过 50 个字符") - private String deviceKey; - @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.AUTO, example = "王五") private String deviceName; diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java index 8317b0e..a02d201 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java @@ -33,13 +33,6 @@ public class IotDeviceDO extends TenantBaseDO { */ @TableId private Long id; - // TODO @芋艿:看看怎么弱化 deviceKey - /** - * 设备唯一标识符,全局唯一,用于识别设备 - * - * 类似阿里云 QueryDeviceInfo 的 IotInstanceId - */ - private String deviceKey; /** * 设备名称,在产品内唯一,用于标识设备 */ diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/IotDeviceMapper.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/IotDeviceMapper.java index 785af92..4746107 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/IotDeviceMapper.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/device/IotDeviceMapper.java @@ -6,7 +6,6 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.iot.controller.admin.device.vo.device.IotDevicePageReqVO; import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; import javax.annotation.Nullable; @@ -51,11 +50,6 @@ public interface IotDeviceMapper extends BaseMapperX { return selectCount(IotDeviceDO::getProductId, productId); } - default IotDeviceDO selectByDeviceKey(String deviceKey) { - return selectOne(new LambdaQueryWrapper() - .apply("LOWER(device_key) = {0}", deviceKey.toLowerCase())); - } - default List selectListByDeviceType(Integer deviceType) { return selectList(IotDeviceDO::getDeviceType, deviceType); } diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceService.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceService.java index 6d3a235..759a9aa 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceService.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceService.java @@ -143,14 +143,6 @@ public interface IotDeviceService { IotDeviceDO getDeviceFromCache(String productKey, String deviceName); /** - * 根据设备 key 获得设备 - * - * @param deviceKey 编号 - * @return IoT 设备 - */ - IotDeviceDO getDeviceByDeviceKey(String deviceKey); - - /** * 获得设备分页 * * @param pageReqVO 分页查询 diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java index e1f80df..f065485 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/IotDeviceServiceImpl.java @@ -70,7 +70,7 @@ public class IotDeviceServiceImpl implements IotDeviceService { throw exception(PRODUCT_NOT_EXISTS); } // 1.2 统一校验 - validateCreateDeviceParam(product.getProductKey(), createReqVO.getDeviceName(), createReqVO.getDeviceKey(), + validateCreateDeviceParam(product.getProductKey(), createReqVO.getDeviceName(), createReqVO.getGatewayId(), product); // 1.3 校验分组存在 deviceGroupService.validateDeviceGroupExists(createReqVO.getGroupIds()); @@ -84,7 +84,6 @@ public class IotDeviceServiceImpl implements IotDeviceService { @Override public IotDeviceDO createDevice(String productKey, String deviceName, Long gatewayId) { - String deviceKey = generateDeviceKey(); // 1.1 校验产品是否存在 IotProductDO product = TenantUtils.executeIgnore(() -> productService.getProductByProductKey(productKey)); if (product == null) { @@ -92,28 +91,23 @@ public class IotDeviceServiceImpl implements IotDeviceService { } return TenantUtils.execute(product.getTenantId(), () -> { // 1.2 校验设备名称在同一产品下是否唯一 - validateCreateDeviceParam(productKey, deviceName, deviceKey, gatewayId, product); + validateCreateDeviceParam(productKey, deviceName, gatewayId, product); // 2. 插入到数据库 - IotDeviceDO device = new IotDeviceDO().setDeviceName(deviceName).setDeviceKey(deviceKey) - .setGatewayId(gatewayId); + IotDeviceDO device = new IotDeviceDO().setDeviceName(deviceName).setGatewayId(gatewayId); initDevice(device, product); deviceMapper.insert(device); return device; }); } - private void validateCreateDeviceParam(String productKey, String deviceName, String deviceKey, + private void validateCreateDeviceParam(String productKey, String deviceName, Long gatewayId, IotProductDO product) { TenantUtils.executeIgnore(() -> { // 校验设备名称在同一产品下是否唯一 if (deviceMapper.selectByProductKeyAndDeviceName(productKey, deviceName) != null) { throw exception(DEVICE_NAME_EXISTS); } - // 校验设备标识是否唯一 - if (deviceMapper.selectByDeviceKey(deviceKey) != null) { - throw exception(DEVICE_KEY_EXISTS); - } }); // 校验父设备是否为合法网关 @@ -134,7 +128,7 @@ public class IotDeviceServiceImpl implements IotDeviceService { @Override public void updateDevice(IotDeviceSaveReqVO updateReqVO) { - updateReqVO.setDeviceKey(null).setDeviceName(null).setProductId(null); // 不允许更新 + updateReqVO.setDeviceName(null).setProductId(null); // 不允许更新 // 1.1 校验存在 IotDeviceDO device = validateDeviceExists(updateReqVO.getId()); // 1.2 校验父设备是否为合法网关 @@ -266,11 +260,6 @@ public class IotDeviceServiceImpl implements IotDeviceService { } @Override - public IotDeviceDO getDeviceByDeviceKey(String deviceKey) { - return deviceMapper.selectByDeviceKey(deviceKey); - } - - @Override public PageResult getDevicePage(IotDevicePageReqVO pageReqVO) { return deviceMapper.selectPage(pageReqVO); } @@ -401,7 +390,7 @@ public class IotDeviceServiceImpl implements IotDeviceService { IotDeviceDO existDevice = deviceMapper.selectByDeviceName(importDevice.getDeviceName()); if (existDevice == null) { createDevice(new IotDeviceSaveReqVO() - .setDeviceName(importDevice.getDeviceName()).setDeviceKey(generateDeviceKey()) + .setDeviceName(importDevice.getDeviceName()) .setProductId(product.getId()).setGatewayId(gatewayId).setGroupIds(groupIds)); respVO.getCreateDeviceNames().add(importDevice.getDeviceName()); return; -- libgit2 0.21.4