using Hotline.Share.Enums.Article; using Hotline.Share.Requests; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using XF.Utility.EnumExtensions; namespace Hotline.Share.Dtos.Article { public record BulletinDto { public string Id { get; set; } public DateTime CreationTime { get; set; } public string Title { get; set; } public string Content { get; set; } public string BulletinTypeId { get; set; } public string BulletinTypeName { get; set; } /// /// 阅读量 /// public int ReadedNum { get; set; } /// /// 通知时间 /// public DateTime? BulletinTime { get; set; } /// /// 失效时间 /// public DateTime LoseEfficacyTime { get; set; } /// /// 公告状态 /// public EBulletinState BulletinState { get; set; } /// /// 流程ID /// public string? WorkflowId { get; set; } /// /// 发布范围(多选) 位枚举 EPushRange /// public List PushRanges { get; set; } /// /// 来源单位ID /// public string SourceOrgId { get; set; } /// /// 来源单位名称 /// public string SourceOrgName { get; set; } /// /// 组织Id /// public string? CreatorOrgId { get; set; } public string? CreatorOrgName { get; set; } /// /// 创建人 /// public string? CreatorId { get; set; } public string? CreatorName { get; set; } public string BulletinStateText => BulletinState.GetDescription(); public string PushRangesText => PushRanges.Any() ? string.Join("、", PushRanges.Select(x => x.Value)) : "-"; } public record CircularDto { public string Id { get; set; } public DateTime CreationTime { get; set; } /// /// 标题 /// public string Title { get; set; } /// /// 内容 /// public string Content { get; set; } /// /// 通知类型 /// public string CircularTypeId { get; set; } /// /// 通知类型名称 /// public string CircularTypeName { get; set; } /// /// 是否必读 /// public bool IsMustRead { get; set; } /// /// 通知对象 /// public ECircularType CircularType { get; set; } public string CircularTypeText => CircularType.GetDescription(); /// /// 通知时间 /// public DateTime? CircularTime { get; set; } /// /// 失效时间 /// public DateTime LostEfficacyTime { get; set; } /// /// 通知状态 /// public ECircularState CircularState { get; set; } public string CircularStateText => CircularState.GetDescription(); /// /// 来源单位ID /// public string SourceOrgId { get; set; } /// /// 来源单位名称 /// public string SourceOrgName { get; set; } /// /// 需要阅读数量 /// public int NeedReadNum { get; set; } /// /// 已读数量 /// public int ReadedNum { get; set; } /// /// 流程ID /// public string? WorkflowId { get; set; } /// /// 阅读明细 /// public List CircularReadGroups { get; set; } } public record CircularReadGroupDto { public string? CircularId { get; set; } public string? UserId { get; set; } public string? UserName { get; set; } public string? OrgId { get; set; } public string? OrgName { get; set; } public bool? IsRead { get; set; } public DateTime? ReadTime { get; set; } public bool? IsTimeOut { get; set; } } public record AddCircularDto { /// /// 标题 /// public string Title { get; set; } /// /// 内容 /// public string Content { get; set; } /// /// 通知类型 /// public string CircularTypeId { get; set; } /// /// 通知类型名称 /// public string CircularTypeName { get; set; } /// /// 通知对象 /// public ECircularType CircularType { get; set; } /// /// 是否必读 /// public bool IsMustRead { get; set; } /// /// 失效时间 /// public DateTime LostEfficacyTime { get; set; } /// /// 来源单位ID /// public string SourceOrgId { get; set; } /// /// 来源单位名称 /// public string SourceOrgName { get; set; } public List CircularReadGroups { get; set; } } public record AddBulletinDto { /// /// 标题 /// public string Title { get; set; } /// /// 内容 /// public string Content { get; set; } /// /// 公告类型 /// public string BulletinTypeId { get; set; } /// /// 公告类型名称 /// public string BulletinTypeName { get; set; } /// /// 失效时间 /// public DateTime LoseEfficacyTime { get; set; } /// /// 发布范围 EPushRange /// public List PushRanges { get; set; } /// /// 来源单位ID /// public string SourceOrgId { get; set; } /// /// 来源单位名称 /// public string SourceOrgName { get; set; } } public record QueryCircularListRequestDto:PagedRequest { /// /// 标题 /// public string Title { get; set; } /// /// 通知类型 /// public string CircularTypeId { get; set; } /// /// 开始时间 /// public DateTime? CircularTimeStart { get; set; } /// /// 结束时间 /// public DateTime? CircularTimeEnd { get; set; } /// /// 状态 /// public ECircularState? CircularState { get; set; } /// /// 是否阅读 /// public bool? IsRead { get; set; } } public record QueryBulletinListRequestDto:PagedRequest { /// /// 标题 /// public string Title { get; set; } /// /// 通知类型 /// public string BulletinTypeId { get; set; } /// /// 开始时间 /// public DateTime? BulletinTimeStart { get; set; } /// /// 结束时间 /// public DateTime? BulletinTimeEnd { get; set; } /// /// 公告状态 /// public EBulletinState? BulletinState { get; set; } } public record CircularRecordDto { public int PersonCount { get; set; } public int OrgCount { get; set; } } }