using System; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Shared; namespace Win_in.Sfs.Wms.DataExchange.Domain; public abstract class WmsDataBase : SfsAggregateRootBase { /// /// 数据类型 /// public string DataType { get; set; } /// /// 数据动作 /// public EnumExchangeDataAction DataAction { get; set; } = EnumExchangeDataAction.Add; /// /// 生效日期 /// public DateTime EffectiveDate { get; protected internal set; } = DateTime.Today; /// /// 数据状态 /// public EnumExchangeDataStatus Status { get; protected internal set; } = EnumExchangeDataStatus.Unread; /// /// 数据识别码 /// public string DataIdentityCode { get; set; } /// /// 来源数据内容 /// public string DataContent { get; set; } /// /// 来源系统 /// public string SourceSystem { get; set; } /// /// 写入时间 /// public DateTime WriteTime { get; set; } = DateTime.Now; /// /// 读取时间 /// public DateTime? ReadTime { get; set; } = DateTime.Now; /// /// 错误代码 /// public EnumExchangeDataErrorCode ErrorCode { get; protected internal set; } /// /// 错误信息 /// public string ErrorMessage { get; protected internal set; } /// /// 重试次数 /// public int RetryTimes { get; protected internal set; } public void SetEffectiveDate(DateTime newDate) { EffectiveDate = newDate; } public void SetError(EnumExchangeDataErrorCode errorCode, string errorMessage, string remark = null) { Status = EnumExchangeDataStatus.Error; ErrorCode = errorCode; ErrorMessage = errorMessage; Remark = remark; RetryTimes++; } public void Hold(string remark = null) { Status = EnumExchangeDataStatus.Hold; Remark = remark; } public virtual void Reset(string remark = null) { Status = EnumExchangeDataStatus.Unread; ErrorCode = EnumExchangeDataErrorCode.None; ErrorMessage = ""; Remark = remark; RetryTimes = 0; } public void Take(string remark = null) { Status = EnumExchangeDataStatus.Processing; Remark = remark; } public void SetSuccess(string remark = null) { Status = EnumExchangeDataStatus.Success; ErrorCode = EnumExchangeDataErrorCode.None; ErrorMessage = ""; Remark = remark; } }