package com.usky.rule.vo; import com.usky.rule.domain.RuleEngine; import lombok.Data; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; /** * 配置规则:规则主体 + 关联的 CRON 表达式列表 + 关联的设备列表 */ @Data public class RuleEngineConfigDTO { /** 规则主体(含 id 则为更新,无 id 则为新增) */ @Valid private RuleEngine rule; /** 该规则关联的 CRON 表达式列表,可为空 */ private List cronExprs; /** 该规则关联的设备(设备ID+属性标识+产品ID),可为空 */ private List devices; public List getCronExprs() { return cronExprs != null ? cronExprs : new ArrayList<>(); } public List getDevices() { return devices != null ? devices : new ArrayList<>(); } @Data public static class RuleEngineDeviceItem { private String deviceId; private String identifier; private Long productId; } }