From 3a956adc2f41f9c60b908c04b4ba8b48fbe029f8 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Mon, 4 Aug 2025 15:48:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E3=80=90IoT=20=E7=89=A9=E8=81=94=E7=BD=91?= =?UTF-8?q?=E3=80=91=E5=9C=BA=E6=99=AF=E8=81=94=E5=8A=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=87=E6=8D=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/rule/IotRuleSceneController.java | 9 ++++++++ .../scene/IotRuleSceneUpdateStatusReqVO.java | 22 +++++++++++++++++++ .../rule/scene/IotRuleSceneService.java | 8 +++++++ .../rule/scene/IotRuleSceneServiceImpl.java | 9 ++++++++ 4 files changed, 48 insertions(+) create mode 100644 yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleSceneUpdateStatusReqVO.java 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 31a95a22f7..f98dcc901a 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 @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.scene.IotRuleScenePageReqVO; import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.scene.IotRuleSceneRespVO; import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.scene.IotRuleSceneSaveReqVO; +import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.scene.IotRuleSceneUpdateStatusReqVO; import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotRuleSceneDO; import cn.iocoder.yudao.module.iot.service.rule.scene.IotRuleSceneService; import io.swagger.v3.oas.annotations.Operation; @@ -48,6 +49,14 @@ public class IotRuleSceneController { return success(true); } + @PutMapping("/update-status") + @Operation(summary = "更新场景联动状态") + @PreAuthorize("@ss.hasPermission('iot:rule-scene:update')") + public CommonResult updateRuleSceneStatus(@Valid @RequestBody IotRuleSceneUpdateStatusReqVO updateReqVO) { + ruleSceneService.updateRuleSceneStatus(updateReqVO.getId(), updateReqVO.getStatus()); + return success(true); + } + @DeleteMapping("/delete") @Operation(summary = "删除场景联动") @Parameter(name = "id", description = "编号", required = true) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleSceneUpdateStatusReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleSceneUpdateStatusReqVO.java new file mode 100644 index 0000000000..9c98fa0643 --- /dev/null +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/scene/IotRuleSceneUpdateStatusReqVO.java @@ -0,0 +1,22 @@ +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.validation.InEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Schema(description = "管理后台 - IoT 场景联动更新状态 Request VO") +@Data +public class IotRuleSceneUpdateStatusReqVO { + + @Schema(description = "场景联动编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @NotNull(message = "场景联动编号不能为空") + private Long id; + + @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + @NotNull(message = "状态不能为空") + @InEnum(value = CommonStatusEnum.class, message = "修改状态必须是 {value}") + private Integer status; + +} diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneService.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneService.java index 86a2663edc..947d6b597d 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneService.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneService.java @@ -33,6 +33,14 @@ public interface IotRuleSceneService { */ void updateRuleScene(@Valid IotRuleSceneSaveReqVO updateReqVO); + /** + * 更新场景联动状态 + * + * @param id 场景联动编号 + * @param status 状态 + */ + void updateRuleSceneStatus(Long id, Integer status); + /** * 删除场景联动 * diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneServiceImpl.java index 05dad8d795..dbf13ba9ab 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/scene/IotRuleSceneServiceImpl.java @@ -93,6 +93,15 @@ public class IotRuleSceneServiceImpl implements IotRuleSceneService { ruleSceneMapper.updateById(updateObj); } + @Override + public void updateRuleSceneStatus(Long id, Integer status) { + // 校验存在 + validateRuleSceneExists(id); + // 更新状态 + IotRuleSceneDO updateObj = new IotRuleSceneDO().setId(id).setStatus(status); + ruleSceneMapper.updateById(updateObj); + } + @Override public void deleteRuleScene(Long id) { // 校验存在