using Hotline.Share.Dtos.FlowEngine.Workflow; using Hotline.Share.Dtos.Hotspots; using Hotline.Share.Dtos.Order; using Hotline.Share.Dtos.Org; using Hotline.Share.Enums.Article; using Hotline.Share.Enums.KnowledgeBase; using Hotline.Share.Enums.Planlibrary; using XF.Utility.EnumExtensions; namespace Hotline.Share.Dtos.Planlibrary { public record PlanDataDto { /// /// 知识ID /// public string Id { get; set; } /// /// 标题 /// public string Title { get; set; } /// /// 创建人 /// public string CreatorName { get; set; } /// /// 浏览量 /// public int PageView { get; set; } /// /// 是否公开 /// public bool IsPublic { get; set; } /// /// 申请部门ID /// public string CreatorOrgId { get; set; } /// /// 申请部门 /// public string CreatorOrgName { get; set; } /// /// 申请时间 /// public DateTime CreationTime { get; set; } /// /// 上架时间 /// public DateTime? OnShelfTime { get; set; } /// /// 更新时间 /// public DateTime? UpdateTime { get; set; } /// /// 审核时间 /// public DateTime? ExaminTime { get; set; } /// /// 下架时间 /// public DateTime? OffShelfTime { get; set; } /// /// 过期时间 /// public DateTime? ExpiredTime { get; set; } /// /// 预案归属 /// public string? Attribution { get; set; } /// /// 文档状态 /// public EPlanStatus Status { get; set; } public EPlanStatus NewStatus => Status != EPlanStatus.Drafts && DateTime.Now > ExpiredTime ? EPlanStatus.Overdue : Status; /// /// 文档状态名称 /// public string StatusName => NewStatus.GetDescription(); /// /// 预案分类 /// public List PlanTypes { get; set; } /// /// 预案分类名称 /// public string PlanTypeText => GetPlanTypeText(PlanTypes); /// /// 获取预案分类名称 /// /// public string GetPlanTypeText(List items) { if (PlanTypes != null && PlanTypes.Any()) { var names = PlanTypes.Select(x => x.PlanTypeName).ToList(); return string.Join(",", names); } return ""; } public HotspotDto HotspotType { get; set; } /// /// 热点 /// public string HotspotName => HotspotType != null ? HotspotType.HotSpotFullName : string.Empty; } public record PlanRelationTypeDto { /// /// 知识库类型ID /// public string PlanTypeId { get; set; } /// /// 知识库类型名称 /// public string PlanTypeName { get; set; } /// /// 知识库类型名称 /// public string PlanTypeSpliceName { get; set; } } } public class PlanExistDto { /// /// 标题 /// public string Title { get; set; } /// /// 内容 /// public string Content { get; set; } /// /// ID /// public string? Id { get; set; } } public class PlanInfoExportDto { /// /// 导入的知识Id集合 /// public string[] Ids { get; set; } /// /// 导出格式 /// public EFileType FileType { get; set; } } public class PlanPageViewDto { public string Id { get; set; } public string Title { get; set; } public int PageView { get; set; } }