Bladeren bron

【代码评审】IoT:评审 ThingModel 的实现

YunaiV 8 maanden geleden
bovenliggende
commit
95067fd6c6

+ 0 - 4
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/device/IotDevicePageReqVO.java

@@ -6,13 +6,9 @@ import cn.iocoder.yudao.module.iot.enums.device.IotDeviceStatusEnum;
 import cn.iocoder.yudao.module.iot.enums.product.IotProductDeviceTypeEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
 
 @Schema(description = "管理后台 - IoT 设备分页 Request VO")
 @Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
 public class IotDevicePageReqVO extends PageParam {
 
     @Schema(description = "设备名称", example = "王五")

+ 1 - 2
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/dataType/ThingModelArgument.java

@@ -1,13 +1,12 @@
 package cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.dataType;
 
 import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelProperty;
-import cn.iocoder.yudao.module.iot.controller.admin.thinkmodel.model.ThinkModelProperty;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import lombok.Data;
 
 @Data
 @JsonIgnoreProperties(ignoreUnknown = true)
-public class ThinkModelArgument {
+public class ThingModelArgument {
 
     public static final String DIRECTION_INPUT = "input";
     public static final String DIRECTION_OUTPUT = "output";

+ 0 - 1
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/tdengine/TdThinkModelMessageMapper.java

@@ -1,7 +1,6 @@
 package cn.iocoder.yudao.module.iot.dal.tdengine;
 
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.TdTableDO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThinkModelMessageDO;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Mapper;

+ 6 - 6
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/product/IotProductServiceImpl.java

@@ -7,8 +7,8 @@ import cn.iocoder.yudao.module.iot.controller.admin.product.vo.product.IotProduc
 import cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO;
 import cn.iocoder.yudao.module.iot.dal.mysql.product.IotProductMapper;
 import cn.iocoder.yudao.module.iot.enums.product.IotProductStatusEnum;
-import cn.iocoder.yudao.module.iot.service.tdengine.IotThinkModelMessageService;
-import cn.iocoder.yudao.module.iot.service.thinkmodel.IotProductThinkModelService;
+import cn.iocoder.yudao.module.iot.service.tdengine.IotThingModelMessageService;
+import cn.iocoder.yudao.module.iot.service.thingmodel.IotProductThingModelService;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import jakarta.annotation.Resource;
 import org.springframework.context.annotation.Lazy;
@@ -35,10 +35,10 @@ public class IotProductServiceImpl implements IotProductService {
 
     @Resource
     @Lazy // 延迟加载,解决循环依赖
-    private IotProductThinkModelService thinkModelFunctionService;
+    private IotProductThingModelService thingModelFunctionService;
     @Resource
     @Lazy  // 延迟加载,解决循环依赖
-    private IotThinkModelMessageService thinkModelMessageService;
+    private IotThingModelMessageService thingModelMessageService;
 
     @Override
     public Long createProduct(IotProductSaveReqVO createReqVO) {
@@ -119,9 +119,9 @@ public class IotProductServiceImpl implements IotProductService {
         // 3. 产品是发布状态
         if (Objects.equals(status, IotProductStatusEnum.PUBLISHED.getStatus())) {
             // 3.1 创建产品超级表数据模型
-            thinkModelFunctionService.createSuperTableDataModel(id);
+            thingModelFunctionService.createSuperTableDataModel(id);
             // 3.2 创建物模型日志超级表数据模型
-            thinkModelMessageService.createSuperTable(id);
+            thingModelMessageService.createSuperTable(id);
         }
         productMapper.updateById(updateObj);
     }

+ 2 - 2
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/tdengine/IotThingModelMessageService.java

@@ -1,7 +1,7 @@
 package cn.iocoder.yudao.module.iot.service.tdengine;
 
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThinkModelMessage;
+import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
 
 /**
  * 物模型消息 Service
@@ -14,7 +14,7 @@ public interface IotThingModelMessageService {
      * @param device            设备
      * @param thingModelMessage 物模型消息
      */
-    void saveThinkModelMessage(IotDeviceDO device, ThinkModelMessage thingModelMessage);
+    void saveThingModelMessage(IotDeviceDO device, ThingModelMessage thingModelMessage);
 
     /**
      * 创建物模型消息日志超级表

+ 7 - 6
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/tdengine/IotThingModelMessageServiceImpl.java

@@ -14,7 +14,6 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
 import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotProductThingModelDO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.*;
-import cn.iocoder.yudao.module.iot.dal.dataobject.thinkmodel.IotProductThinkModelDO;
 import cn.iocoder.yudao.module.iot.dal.redis.deviceData.DeviceDataRedisDAO;
 import cn.iocoder.yudao.module.iot.dal.tdengine.TdEngineDDLMapper;
 import cn.iocoder.yudao.module.iot.dal.tdengine.TdEngineDMLMapper;
@@ -25,7 +24,6 @@ import cn.iocoder.yudao.module.iot.enums.thingmodel.IotProductThingModelTypeEnum
 import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
 import cn.iocoder.yudao.module.iot.service.thingmodel.IotProductThingModelService;
 import cn.iocoder.yudao.module.iot.service.product.IotProductService;
-import cn.iocoder.yudao.module.iot.service.thinkmodel.IotProductThinkModelService;
 import cn.iocoder.yudao.module.iot.util.IotTdDatabaseUtils;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
@@ -112,6 +110,8 @@ public class IotThingModelMessageServiceImpl implements IotThingModelMessageServ
     private List<IotProductThingModelDO> getValidThingModelList(String productKey) {
         return filterList(iotProductThingModelService.getProductThingModelListByProductKey(productKey),
                 thingModel -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(thingModel.getType()));
+    }
+
     @Override
     @TenantIgnore
     public void createSuperTable(Long productId) {
@@ -128,11 +128,12 @@ public class IotThingModelMessageServiceImpl implements IotThingModelMessageServ
                 .setSuperTableName(superTableName));
     }
 
-    private List<IotProductThinkModelDO> getValidFunctionList(String productKey) {
-        return iotProductThinkModelService
-                .getProductThinkModelListByProductKey(productKey)
+    private List<IotProductThingModelDO> getValidFunctionList(String productKey) {
+        // TODO @puhui999:使用 convertList 会好点哈
+        return iotProductThingModelService
+                .getProductThingModelListByProductKey(productKey)
                 .stream()
-                .filter(function -> IotProductThinkModelTypeEnum.PROPERTY.getType().equals(function.getType()))
+                .filter(function -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(function.getType()))
                 .toList();
     }