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