feat: add fnOS packaging, storage workflows and release pipeline
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using SqlSugar;
|
||||
using dy.net.model.dto;
|
||||
using SqlSugar;
|
||||
|
||||
namespace dy.net.model.entity
|
||||
{
|
||||
@@ -72,5 +73,57 @@ namespace dy.net.model.entity
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 100)]
|
||||
public string DouyinNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 直播状态监测独立开关,不影响作品同步开关。
|
||||
/// </summary>
|
||||
public bool LiveMonitorEnabled { get; set; }
|
||||
|
||||
public DouyinLiveStatusState LiveStatus { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 100)]
|
||||
public string LiveRoomId { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 100)]
|
||||
public string LiveWebRid { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 500)]
|
||||
public string LiveTitle { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? LiveCheckedAt { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? LiveStatusUpdatedAt { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? LiveStartedAt { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 1000)]
|
||||
public string LiveCheckError { get; set; }
|
||||
|
||||
public bool LiveEmailNotificationEnabled { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 200)]
|
||||
public string LastLiveNotificationKey { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? LastLiveNotificationAttemptAt { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public DateTime? LastLiveNotifiedAt { get; set; }
|
||||
|
||||
[SugarColumn(IsNullable = true, Length = 1000)]
|
||||
public string LastLiveNotificationError { get; set; }
|
||||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public bool LiveStatusStale => LiveMonitorEnabled &&
|
||||
(!LiveStatusUpdatedAt.HasValue || DateTime.Now - LiveStatusUpdatedAt.Value > TimeSpan.FromMinutes(10) ||
|
||||
!string.IsNullOrWhiteSpace(LiveCheckError));
|
||||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string LiveRoomUrl => LiveStatus == DouyinLiveStatusState.Live && !string.IsNullOrWhiteSpace(LiveWebRid)
|
||||
? "https://live.douyin.com/" + Uri.EscapeDataString(LiveWebRid)
|
||||
: null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user