reactor:【IoT 物联网】调整下 IotSceneRuleAction 等类名
This commit is contained in:
@@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.iot.controller.admin.alert;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigRespVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigRespVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.alert.IotAlertConfigDO;
|
||||
import cn.iocoder.yudao.module.iot.service.alert.IotAlertConfigService;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo;
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo;
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@@ -1,4 +1,4 @@
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo;
|
||||
package cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
||||
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -29,12 +30,12 @@ public class IotAlertRecordDO extends BaseDO {
|
||||
/**
|
||||
* 记录编号
|
||||
*/
|
||||
@TableField
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 告警名称
|
||||
*
|
||||
* 冗余 {@link IotAlertConfigDO#getName()}
|
||||
* 冗余 {@link IotAlertConfigDO#getId()}
|
||||
*/
|
||||
private Long configId;
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class IotAlertRecordDO extends BaseDO {
|
||||
*
|
||||
* 冗余 {@link IotAlertConfigDO#getName()}
|
||||
*/
|
||||
private String name;
|
||||
private String configName;
|
||||
|
||||
/**
|
||||
* 产品编号
|
||||
@@ -56,8 +57,6 @@ public class IotAlertRecordDO extends BaseDO {
|
||||
* 关联 {@link IotDeviceDO#getId()}
|
||||
*/
|
||||
private String deviceId;
|
||||
|
||||
// TODO @芋艿:有没更好的方式
|
||||
/**
|
||||
* 触发的设备消息
|
||||
*/
|
||||
@@ -65,10 +64,7 @@ public class IotAlertRecordDO extends BaseDO {
|
||||
private IotDeviceMessage deviceMessage;
|
||||
|
||||
/**
|
||||
* 处理状态
|
||||
*
|
||||
* true - 已处理
|
||||
* false - 未处理
|
||||
* 是否处理
|
||||
*/
|
||||
private Boolean processStatus;
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.dal.mysql.alert;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.alert.vo.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.alert.IotAlertConfigDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.iot.enums.rule;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
|
||||
import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageMethodEnum;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@@ -15,17 +16,16 @@ import java.util.Arrays;
|
||||
@Getter
|
||||
public enum IotRuleSceneActionTypeEnum implements ArrayValuable<Integer> {
|
||||
|
||||
// TODO @芋艿:后续“对应”部分,要 @下,等包结构梳理完;
|
||||
/**
|
||||
* 设备属性设置
|
||||
*
|
||||
* 对应 IotDeviceMessageMethodEnum.DEVICE_PROPERTY_SET
|
||||
* 对应 {@link IotDeviceMessageMethodEnum#PROPERTY_SET}
|
||||
*/
|
||||
DEVICE_PROPERTY_SET(1),
|
||||
/**
|
||||
* 设备服务调用
|
||||
*
|
||||
* 对应 IotDeviceMessageMethodEnum.DEVICE_SERVICE_INVOKE
|
||||
* 对应 {@link IotDeviceMessageMethodEnum#SERVICE_INVOKE}
|
||||
*/
|
||||
DEVICE_SERVICE_INVOKE(2),
|
||||
|
||||
@@ -38,8 +38,6 @@ public enum IotRuleSceneActionTypeEnum implements ArrayValuable<Integer> {
|
||||
*/
|
||||
ALERT_RECOVER(101),
|
||||
|
||||
@Deprecated
|
||||
ALERT(2), // 告警执行
|
||||
;
|
||||
|
||||
private final Integer type;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.iocoder.yudao.module.iot.service.alert;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.alert.IotAlertConfigDO;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.iot.service.alert;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.alert.vo.config.IotAlertConfigSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.alert.IotAlertConfigDO;
|
||||
import cn.iocoder.yudao.module.iot.dal.mysql.alert.IotAlertConfigMapper;
|
||||
import cn.iocoder.yudao.module.iot.service.rule.scene.IotRuleSceneService;
|
||||
|
||||
@@ -27,7 +27,7 @@ import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneConditionOperatorEnum;
|
||||
import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneTriggerTypeEnum;
|
||||
import cn.iocoder.yudao.module.iot.framework.job.core.IotSchedulerManager;
|
||||
import cn.iocoder.yudao.module.iot.job.rule.IotRuleSceneJob;
|
||||
import cn.iocoder.yudao.module.iot.service.rule.scene.action.IotRuleSceneAction;
|
||||
import cn.iocoder.yudao.module.iot.service.rule.scene.action.IotSceneRuleAction;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -39,15 +39,13 @@ import org.quartz.impl.StdSchedulerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.filterList;
|
||||
import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.RULE_SCENE_NOT_EXISTS;
|
||||
|
||||
@@ -65,7 +63,7 @@ public class IotRuleSceneServiceImpl implements IotRuleSceneService {
|
||||
private IotRuleSceneMapper ruleSceneMapper;
|
||||
|
||||
@Resource
|
||||
private List<IotRuleSceneAction> ruleSceneActions;
|
||||
private List<IotSceneRuleAction> ruleSceneActions;
|
||||
|
||||
@Resource(name = "iotSchedulerManager")
|
||||
private IotSchedulerManager schedulerManager;
|
||||
@@ -437,7 +435,7 @@ public class IotRuleSceneServiceImpl implements IotRuleSceneService {
|
||||
// 2. 遍历规则场景的动作
|
||||
ruleScene.getActions().forEach(actionConfig -> {
|
||||
// 3.1 获取对应的动作 Action 数组
|
||||
List<IotRuleSceneAction> actions = filterList(ruleSceneActions,
|
||||
List<IotSceneRuleAction> actions = filterList(ruleSceneActions,
|
||||
action -> action.getType().getType().equals(actionConfig.getType()));
|
||||
if (CollUtil.isEmpty(actions)) {
|
||||
return;
|
||||
|
||||
@@ -8,21 +8,21 @@ import org.springframework.stereotype.Component;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* IoT 告警的 {@link IotRuleSceneAction} 实现类
|
||||
* IoT 告警触发的 {@link IotSceneRuleAction} 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Component
|
||||
public class IotRuleSceneAlertAction implements IotRuleSceneAction {
|
||||
public class IotAlertTriggerRuleSceneAction implements IotSceneRuleAction {
|
||||
|
||||
@Override
|
||||
public void execute(@Nullable IotDeviceMessage message, IotRuleSceneDO.ActionConfig config) {
|
||||
// TODO @芋艿:待实现
|
||||
// TODO @AI:
|
||||
}
|
||||
|
||||
@Override
|
||||
public IotRuleSceneActionTypeEnum getType() {
|
||||
return IotRuleSceneActionTypeEnum.ALERT;
|
||||
return IotRuleSceneActionTypeEnum.ALERT_TRIGGER;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,13 +12,13 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* IoT 设备控制的 {@link IotRuleSceneAction} 实现类
|
||||
* IoT 设备控制的 {@link IotSceneRuleAction} 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class IotRuleSceneDeviceControlAction implements IotRuleSceneAction {
|
||||
public class IotDeviceControlRuleSceneAction implements IotSceneRuleAction {
|
||||
|
||||
@Resource
|
||||
private IotDeviceService deviceService;
|
||||
@@ -7,16 +7,14 @@ import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneActionTypeEnum;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* IoT 规则场景的场景执行器接口
|
||||
* IoT 场景联动的执行器接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface IotRuleSceneAction {
|
||||
|
||||
// TODO @芋艿:groovy 或者 javascript 实现数据的转换;可以考虑基于 hutool 的 ScriptUtil 做
|
||||
public interface IotSceneRuleAction {
|
||||
|
||||
/**
|
||||
* 执行场景
|
||||
* 执行场景联动
|
||||
*
|
||||
* @param message 消息,允许空
|
||||
* 1. 空的情况:定时触发
|
||||
Reference in New Issue
Block a user