using JiShe.CollectBus.Common.Enums;
using JiShe.CollectBus.Common.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
namespace JiShe.CollectBus.IotSystems.MeterReadingRecords
{
///
/// 抄读任务Redis缓存数据记录
///
public class MeterReadingTelemetryPacketInfo : DeviceCacheBasicModel
{
///
/// 关系映射标识,用于ZSet的Member字段和Set的Value字段,具体值可以根据不同业务场景进行定义
///
public override string MemberId => $"{FocusId}:{MeterId}:{ItemCode}";
///
/// ZSet排序索引分数值,具体值可以根据不同业务场景进行定义,例如时间戳
///
public override long ScoreValue => ((long)FocusId << 32) | (uint)DateTime.Now.Ticks;
///
/// 是否手动操作
///
public bool ManualOrNot { get; set; }
///
/// 任务数据唯一标记
///
public string TaskMark { get; set; }
///
/// 时间戳标记,IoTDB时间列处理,上报通过构建标记获取唯一标记匹配时间戳。
///
public long Timestamps { get; set; }
///
/// 是否超时
///
public bool IsTimeout { get; set; } = false;
///
/// 待抄读时间
///
public DateTime PendingCopyReadTime { get; set; }
///
/// 集中器地址
///
public string FocusAddress { get; set; }
///
/// 表地址
///
public string MeterAddress { get; set; }
///
/// 表类型
///
public MeterTypeEnum MeterType { get; set; }
///
/// 项目ID
///
public int ProjectID { get; set; }
///
/// 数据库业务ID
///
public int DatabaseBusiID { get; set; }
///
/// AFN功能码
///
public AFN AFN { get; set; }
///
/// 抄读功能码
///
public int Fn { get; set; }
///
/// 抄读计量点
///
public int Pn { get; set; }
///
/// 采集项编码
///
public string ItemCode { get; set;}
///
/// 创建时间
///
public DateTime CreationTime { get; set; }
///
/// 下发消息内容
///
public string IssuedMessageHexString { get; set; }
///
/// 下发消息Id
///
public string IssuedMessageId { get; set; }
///
/// 消息上报内容
///
public string? ReceivedMessageHexString { get; set; }
///
/// 消息上报时间
///
public DateTime? ReceivedTime { get; set; }
///
/// 上报消息Id
///
public string ReceivedMessageId { get; set; }
///
/// 上报报文解析备注,异常情况下才有
///
public string ReceivedRemark { get; set; }
//public void CreateDataId(Guid Id)
//{
// this.Id = Id;
//}
}
}