Knowledge.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using Hotline.Settings;
  2. using Hotline.Settings.Hotspots;
  3. using Hotline.Share.Enums.KnowledgeBase;
  4. using Hotline.Users;
  5. using SqlSugar;
  6. using XF.Domain.Repository;
  7. namespace Hotline.KnowledgeBase;
  8. /// <summary>
  9. /// 知识库文档内容
  10. /// </summary>
  11. public class Knowledge : WorkflowEntity// WorkflowEntity FullStateEntity
  12. {
  13. /// <summary>
  14. /// 知识分类
  15. /// </summary>
  16. public string KnowledgeTypeId { get; set; }
  17. /// <summary>
  18. /// 热点
  19. /// </summary>
  20. public string HotspotId { get; set; }
  21. /// <summary>
  22. /// 知识编号
  23. /// </summary>
  24. public string Code { get; set; }
  25. /// <summary>
  26. /// 标题
  27. /// </summary>
  28. public string Title { get; set; }
  29. /// <summary>
  30. /// 摘要
  31. /// </summary>
  32. [SugarColumn(ColumnDataType = "varchar(1000)")]
  33. public string Summary { get; set; }
  34. /// <summary>
  35. /// 内容
  36. /// </summary>
  37. [SugarColumn(ColumnDataType = "longtext")]
  38. public string Content { get; set; }
  39. /// <summary>
  40. /// 浏览量
  41. /// </summary>
  42. public int PageView { get; set; } = 0;
  43. /// <summary>
  44. /// 是否公开
  45. /// </summary>
  46. public bool IsPublic { get; set; }
  47. /// <summary>
  48. /// 文档状态
  49. /// </summary>
  50. public EKnowledgeStatus Status { get; set; }
  51. /// <summary>
  52. /// 上架时间
  53. /// </summary>
  54. public DateTime? OnShelfTime { get; set; }
  55. /// <summary>
  56. /// 下架时间
  57. /// </summary>
  58. public DateTime? OffShelfTime { get; set; }
  59. /// <summary>
  60. /// 过期时间
  61. /// </summary>
  62. public DateTime? ExpiredTime { get; set; }
  63. /// <summary>
  64. /// 关键词
  65. /// </summary>
  66. [SugarColumn(IsNullable = true)]
  67. public string Keywords { get; set; }
  68. /// <summary>
  69. /// 版本号
  70. /// </summary>
  71. public int Version { get; set; } = 1;
  72. /// <summary>
  73. /// 附件
  74. /// </summary>
  75. [SugarColumn(ColumnDataType = "varchar(2000)", IsJson = true)]
  76. public List<string> Additions { get; set; }
  77. /// <summary>
  78. /// 关联知识申请
  79. /// </summary>
  80. //[SugarColumn(ColumnDataType = "varchar(1000)", IsJson = true)]
  81. //public List<string> Applies { get; set; }
  82. [SugarColumn(IsNullable = true)]
  83. public string Applies { get; set; }
  84. /// <summary>
  85. /// 关联知识
  86. /// </summary>
  87. [SugarColumn(ColumnDataType = "varchar(2000)", IsJson = true)]
  88. public List<string> Knowledges { get; set; }
  89. /// <summary>
  90. /// 分类
  91. /// </summary>
  92. [Navigate(NavigateType.OneToOne, nameof(KnowledgeTypeId))]//一对一
  93. public KnowledgeType KnowledgeType { get; set; }
  94. /// <summary>
  95. /// 部门
  96. /// </summary>
  97. [Navigate(NavigateType.OneToOne, nameof(CreatorOrgId))]//一对一
  98. public SystemOrganize SystemOrganize { get; set; }
  99. /// <summary>
  100. /// 用户
  101. /// </summary>
  102. [Navigate(NavigateType.OneToOne, nameof(CreatorId))]//一对一
  103. public User User { get; set; }
  104. /// <summary>
  105. /// 热点
  106. /// </summary>
  107. [Navigate(NavigateType.OneToOne, nameof(HotspotId))]//一对一
  108. public HotSpotType HotSpotType { get; set; }
  109. }