From 2f9d760327e885f626333da0b1ce549e429247e1 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 23 Mar 2025 09:41:05 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E3=80=91IoT=EF=BC=9A=E5=9C=BA=E6=99=AF=E8=81=94=E5=8A=A8=20rev?= =?UTF-8?q?iew?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/rule/IotRuleSceneController.java | 1 + .../admin/rule/vo/scene/IotRuleScenePageReqVO.java | 3 +++ .../vo/scene/config/IotRuleSceneActionConfig.java | 1 + .../config/IotRuleSceneActionDeviceControl.java | 1 + .../scene/config/IotRuleSceneTriggerCondition.java | 1 + .../IotRuleSceneTriggerConditionParameter.java | 1 + .../vo/scene/config/IotRuleSceneTriggerConfig.java | 1 + .../admin/thingmodel/IotThingModelController.java | 4 ++-- .../thingmodel/IotThingModelServiceImpl.java | 13 +++++++------ 9 files changed, 18 insertions(+), 8 deletions(-) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java index 49e2ccde35..1ddc20a9ca 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java @@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +// TODO @芋艿:规则场景 要不要,统一改成 场景联动 @Tag(name = "管理后台 - IoT 规则场景") @RestController @RequestMapping("/iot/rule-scene") diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleScenePageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleScenePageReqVO.java index 43d0e4a5c9..794434cc8f 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleScenePageReqVO.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleScenePageReqVO.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.scene; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.validation.InEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,6 +26,7 @@ public class IotRuleScenePageReqVO extends PageParam { private String description; @Schema(description = "场景状态", example = "1") + @InEnum(CommonStatusEnum.class) private Integer status; @Schema(description = "创建时间") diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionConfig.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionConfig.java index 40bab940f8..c2332395e5 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionConfig.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionConfig.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO; import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneActionTypeEnum; import lombok.Data; +// TODO @puhui999:这个要不内嵌到 IoTRuleSceneDO 里面? /** * 执行器配置 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionDeviceControl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionDeviceControl.java index 31796fb21e..f184afe2ad 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionDeviceControl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneActionDeviceControl.java @@ -9,6 +9,7 @@ import lombok.Data; import java.util.List; import java.util.Map; +// TODO @puhui999:这个要不内嵌到 IoTRuleSceneDO 里面? /** * 执行设备控制 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerCondition.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerCondition.java index 1f5e2adfec..46c0769e84 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerCondition.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerCondition.java @@ -6,6 +6,7 @@ import lombok.Data; import java.util.List; +// TODO @puhui999:这个要不内嵌到 IoTRuleSceneDO 里面? /** * 触发条件 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConditionParameter.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConditionParameter.java index 38d4594220..b57be1f4cc 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConditionParameter.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConditionParameter.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotThingModelDO; import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneTriggerConditionParameterOperatorEnum; import lombok.Data; +// TODO @puhui999:这个要不内嵌到 IoTRuleSceneDO 里面? /** * 触发条件参数 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConfig.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConfig.java index 0be36c1d6e..4077729d45 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConfig.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/config/IotRuleSceneTriggerConfig.java @@ -7,6 +7,7 @@ import lombok.Data; import java.util.List; +// TODO @puhui999:这个要不内嵌到 IoTRuleSceneDO 里面? /** * 触发器配置 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/IotThingModelController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/IotThingModelController.java index dc65277636..f35f95a85e 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/IotThingModelController.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/IotThingModelController.java @@ -61,15 +61,15 @@ public class IotThingModelController { return success(BeanUtils.toBean(thingModel, IotThingModelRespVO.class)); } + // TODO @puhui999:要不叫 get-tsl,去掉 product-id;后续,把 @GetMapping("/tsl-by-product-id") @Operation(summary = "获得产品物模型 TSL") - @Parameter(name = "productId", description = "产品ID", required = true, example = "1024") + @Parameter(name = "productId", description = "产品 ID", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('iot:thing-model:query')") public CommonResult getThingModelTslByProductId(@RequestParam("productId") Long productId) { return success(thingModelService.getThingModelTslByProductId(productId)); } - // TODO @puhui @super:getThingModelListByProductId 和 getThingModelListByProductId 可以融合么? @GetMapping("/list") @Operation(summary = "获得产品物模型列表") @PreAuthorize("@ss.hasPermission('iot:thing-model:query')") diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotThingModelServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotThingModelServiceImpl.java index ae159fdb92..55a264b1e0 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotThingModelServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotThingModelServiceImpl.java @@ -151,26 +151,27 @@ public class IotThingModelServiceImpl implements IotThingModelService { return thingModelMapper.selectList(reqVO); } + // TODO @puhui999:这个转换,放在 controller 貌似也行? @Override public IotThingModelTSLRespVO getThingModelTslByProductId(Long productId) { IotThingModelTSLRespVO tslRespVO = new IotThingModelTSLRespVO(); // 1. 获得产品所有物模型定义 - List thingModelList = thingModelMapper.selectListByProductId(productId); - if (CollUtil.isEmpty(thingModelList)) { + List thingModels = thingModelMapper.selectListByProductId(productId); + if (CollUtil.isEmpty(thingModels)) { return tslRespVO; } // 2.1 设置公共部分参数 - IotThingModelDO thingModel = thingModelList.get(0); + IotThingModelDO thingModel = thingModels.get(0); tslRespVO.setProductId(thingModel.getProductId()).setProductKey(thingModel.getProductKey()); // 2.2 处理属性列表 - tslRespVO.setProperties(convertList(filterList(thingModelList, item -> + tslRespVO.setProperties(convertList(filterList(thingModels, item -> ObjUtil.equal(IotThingModelTypeEnum.PROPERTY.getType(), item.getType())), IotThingModelDO::getProperty)); // 2.3 处理服务列表 - tslRespVO.setServices(convertList(filterList(thingModelList, item -> + tslRespVO.setServices(convertList(filterList(thingModels, item -> ObjUtil.equal(IotThingModelTypeEnum.SERVICE.getType(), item.getType())), IotThingModelDO::getService)); // 2.4 处理事件列表 - tslRespVO.setEvents(convertList(filterList(thingModelList, item -> + tslRespVO.setEvents(convertList(filterList(thingModels, item -> ObjUtil.equal(IotThingModelTypeEnum.EVENT.getType(), item.getType())), IotThingModelDO::getEvent)); return tslRespVO; }