RuleEngineConfigDTO.java 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.usky.rule.vo;
  2. import com.usky.rule.domain.RuleEngine;
  3. import lombok.Data;
  4. import javax.validation.Valid;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. /**
  8. * 配置规则:规则主体 + 关联的 CRON 表达式列表 + 关联的设备列表
  9. */
  10. @Data
  11. public class RuleEngineConfigDTO {
  12. /** 规则主体(含 id 则为更新,无 id 则为新增) */
  13. @Valid
  14. private RuleEngine rule;
  15. /** 该规则关联的 CRON 表达式列表,可为空 */
  16. private List<String> cronExprs;
  17. /** 该规则关联的设备(设备ID+属性标识+产品ID),可为空 */
  18. private List<RuleEngineDeviceItem> devices;
  19. public List<String> getCronExprs() {
  20. return cronExprs != null ? cronExprs : new ArrayList<>();
  21. }
  22. public List<RuleEngineDeviceItem> getDevices() {
  23. return devices != null ? devices : new ArrayList<>();
  24. }
  25. @Data
  26. public static class RuleEngineDeviceItem {
  27. private String deviceId;
  28. private String identifier;
  29. private Long productId;
  30. }
  31. }