EquipmentDataRecord.cs 1.87 KB
using FreeSql.DataAnnotations;
using HHECS.DAQHandle.Common.Utils;
using System.Text.Json;

namespace HHECS.DAQHandle.Models
{
    /// <summary>
    /// 设备数据记录
    /// </summary>
    [Table(Name = "daq_equipmentDataRecord")]
    public class EquipmentDataRecord
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Column(IsPrimary = true)]
        public Guid Id { get; set; }

        /// <summary>
        /// 设备编号/IOT云平台设备SN
        /// </summary>
        public string EquipmentCode { get; set; } = null!;


        private string _tags = null;
        /// <summary>
        /// Json数据
        /// </summary>
        public string Tags
        {
            get { return _tags; }
            set
            {
                _tags = value;
                try
                {
                    if (!string.IsNullOrWhiteSpace(_tags))
                    {
                        Props = JsonSerializer.Deserialize<Dictionary<string, string>>(value);
                    }
                }
                catch (Exception ex)
                {
                    SystemLog.PrintError($"{ex}");
                }
            }
        }


        [Column(IsIgnore = true)]
        public Dictionary<string, string> Props { get; set; }

        /// <summary>
        /// 版本号
        /// </summary>
        public int Version { get; set; }

        /// <summary>
        /// 客户端提交时间戳
        /// </summary>
        public long Timestamp { get; set; }

        /// <summary>
        /// 是否已处理
        /// </summary>
        public bool IsHandle { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
    }
}