using System;
|
using System.Collections.Generic;
|
namespace HDL_ON.UI.UI2.Intelligence.Automation
|
{
|
/// <summary>
|
/// 逻辑存储数据对象
|
/// </summary>
|
public class Logic
|
{
|
|
/// <summary>
|
/// 逻辑列表
|
/// </summary>
|
public static List<Logic> LogicList = new List<Logic>();
|
/// <summary>
|
/// 当前逻辑
|
/// </summary>
|
public static Logic currlogic;
|
/// <summary>
|
/// 云端唯一id
|
/// </summary>
|
public string userLogicId = "";
|
/// <summary>
|
/// 逻辑唯一标识
|
/// </summary>
|
public string sid = "";
|
/// <summary>
|
/// 逻辑名称
|
/// </summary>
|
public string name = "自动化";
|
/// <summary>
|
/// 逻辑条件关系(与and:,或:or)
|
/// </summary>
|
public string relation = "and";
|
/// <summary>
|
/// 逻辑状态(true,false)
|
/// </summary>
|
public string enable = "true";
|
/// <summary>
|
/// 逻辑执行循环周期(执行一次,每天,每月,星期)
|
/// </summary>
|
public Cycle cycle = new Cycle();
|
/// <summary>
|
/// 逻辑输入条件数组
|
/// </summary>
|
public List<Input> input = new List<Input>();
|
/// <summary>
|
/// 逻辑输出目标数组
|
/// </summary>
|
public List<Output> output = new List<Output>();
|
/// <summary>
|
/// 通知配置
|
/// </summary>
|
public NoticeConfig noticeConfig = new NoticeConfig();
|
/// <summary>
|
/// 推送配置
|
/// </summary>
|
public List<PushConfigs> pushConfigs = new List<PushConfigs>();
|
|
|
}
|
/// <summary>
|
/// 执行周期对象
|
/// </summary>
|
public class Cycle
|
{
|
/// <summary>
|
/// 时间类型
|
/// (执行一次:once,每天:day,每月:mon,星期:week,日期段:date_to_date)
|
/// </summary>
|
public string type = "day";
|
public List<string> value = new List<string>();
|
}
|
/// <summary>
|
/// 输入条件对象
|
/// </summary>
|
public class Input
|
{
|
/// <summary>
|
/// 逻辑输入条件唯一标识
|
/// </summary>
|
public string sid = "";
|
/// <summary>
|
/// 逻辑输入条件类型
|
/// 时间点条件=1;
|
/// 时间段条件=2;
|
/// 设备状态变化条件=3;
|
/// 环境信息条件=4;
|
/// 安防条件=5;
|
/// 云端天气条件=6;
|
/// 某个逻辑/场景的输出条件=7;
|
/// 地理围栏=8;
|
/// </summary>
|
public string condition_type = "";
|
public List<Dictionary<string, string>> condition = new List<Dictionary<string, string>>();
|
}
|
/// <summary>
|
/// 输出目标对象
|
/// </summary>
|
public class Output
|
{
|
/// <summary>
|
/// 逻辑输出目标唯一标识
|
/// </summary>
|
public string sid = "";
|
/// <summary>
|
/// 逻辑输出目标延时间(单位用秒)
|
/// </summary>
|
public string delay = "0";
|
/// <summary>
|
/// 逻辑输出目标类型
|
/// 设备=1;
|
/// 场景=2;
|
/// 延时=3;
|
/// </summary>
|
public string target_type = "";
|
public List<Dictionary<string, string>> status = new List<Dictionary<string, string>>();
|
}
|
/// <summary>
|
/// 地理围栏配置
|
/// </summary>
|
[Serializable]
|
public class Fence
|
{
|
/// <summary>
|
/// 经度
|
/// </summary>
|
public string longitude = string.Empty;
|
/// <summary>
|
/// 纬度
|
/// </summary>
|
public string latitude = string.Empty;
|
/// <summary>
|
/// 单位米
|
/// </summary>
|
public string radius = string.Empty;
|
}
|
/// <summary>
|
/// 通知配置
|
/// </summary>
|
[Serializable]
|
public class NoticeConfig
|
{
|
/// <summary>
|
/// 是否开启通知
|
/// </summary>
|
public bool enable = false;
|
/// <summary>
|
/// 通知内容
|
/// </summary>
|
public string noticeContent = "自动化已经执行";//string.Empty;
|
}
|
/// <summary>
|
/// 推送配置
|
/// </summary>
|
[Serializable]
|
public class PushConfigs
|
{
|
/// <summary>
|
/// 推送方式(APP/SMS)
|
/// </summary>
|
public string pushMethod = "APP";
|
/// <summary>
|
/// 推送内容
|
/// </summary>
|
//public string pushContent = string.Empty;
|
/// <summary>
|
/// 推送目标
|
/// </summary>
|
public List<string> pushTarget = new List<string> {};
|
}
|
|
}
|