KnowledgeDto.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. using Hotline.Share.Dtos.FlowEngine;
  2. using Hotline.Share.Dtos.Org;
  3. using Hotline.Share.Dtos.Quality;
  4. using Hotline.Share.Enums.KnowledgeBase;
  5. using XF.Utility.EnumExtensions;
  6. namespace Hotline.Share.Dtos.Knowledge
  7. {
  8. /// <summary>
  9. /// 编辑
  10. /// </summary>
  11. public record UpdateKnowledgeDto : AddKnowledgeDto
  12. {
  13. /// <summary>
  14. /// ID
  15. /// </summary>
  16. public string Id { get; set; }
  17. /// <summary>
  18. /// 标签名称
  19. /// </summary>
  20. public List<string> Tags { get; set; } = new();
  21. }
  22. /// <summary>
  23. /// 新增知识
  24. /// </summary>
  25. public record AddKnowledgeDto : KnowledgeDto
  26. {
  27. /// <summary>
  28. /// 知识Code
  29. /// </summary>
  30. public string Code { get; set; }
  31. /// <summary>
  32. /// 标签名称
  33. /// </summary>
  34. public List<string> Tags { get; set; } = new();
  35. /// <summary>
  36. /// 知识归属
  37. /// </summary>
  38. public string? Attribution { get; set; }
  39. /// <summary>
  40. /// 来源部门
  41. /// </summary>
  42. public string? SourceOrganizeId { get; set; }
  43. }
  44. /// <summary>
  45. /// 查询详情
  46. /// </summary>
  47. public record KnowledgeInfoDto : KnowledgeDto
  48. {
  49. /// <summary>
  50. /// ID
  51. /// </summary>
  52. public string Id { get; set; }
  53. /// <summary>
  54. /// 知识Code
  55. /// </summary>
  56. public string Code { get; set; }
  57. /// <summary>
  58. /// 知识分类名称
  59. /// </summary>
  60. public string KnowledgeTypeName { get; set; }
  61. /// <summary>
  62. /// 热点名称
  63. /// </summary>
  64. public string HotspotName { get; set; }
  65. /// <summary>
  66. /// 流程Id
  67. /// </summary>
  68. public string? WorkflowId { get; set; }
  69. /// <summary>
  70. /// 是否可办理
  71. /// </summary>
  72. public bool? IsCanHandle { get; set; }
  73. }
  74. /// <summary>
  75. /// 基础
  76. /// </summary>
  77. public record KnowledgeDto : KnowledgeBaseDto
  78. {
  79. /// <summary>
  80. /// 知识分类
  81. /// </summary>
  82. public string KnowledgeTypeId { get; set; }
  83. public string KnowledgeTypeText => KnowledgeType != null ? KnowledgeType.SpliceName : "-";
  84. /// <summary>
  85. /// 热点
  86. /// </summary>
  87. public string HotspotId { get; set; }
  88. /// <summary>
  89. /// 标题
  90. /// </summary>
  91. public string Title { get; set; }
  92. /// <summary>
  93. /// 摘要
  94. /// </summary>
  95. public string Summary { get; set; }
  96. /// <summary>
  97. /// 内容
  98. /// </summary>
  99. public string Content { get; set; }
  100. /// <summary>
  101. /// 是否公开
  102. /// </summary>
  103. public bool IsPublic { get; set; }
  104. /// <summary>
  105. /// 文档状态,默认草稿
  106. /// </summary>
  107. public EKnowledgeStatus Status { get; set; } = EKnowledgeStatus.Drafts;
  108. public string StatusText => Status.GetDescription();
  109. /// <summary>
  110. /// 到期时间
  111. /// </summary>
  112. public DateTime? ExpiredTime { get; set; }
  113. /// <summary>
  114. /// 关键词
  115. /// </summary>
  116. public List<string> Keywords { get; set; }
  117. /// <summary>
  118. /// 附件
  119. /// </summary>
  120. public List<string> Additions { get; set; }
  121. /// <summary>
  122. /// 外部数据(为前端提供级联功能)
  123. /// </summary>
  124. public string HotspotExternal { get; set; }
  125. /// <summary>
  126. /// 知识归属
  127. /// </summary>
  128. public string? Attribution { get; set; }
  129. /// <summary>
  130. /// 浏览量
  131. /// </summary>
  132. public int PageView { get; set; } = 0;
  133. /// <summary>
  134. /// 搜索量
  135. /// </summary>
  136. public int? SearchNum { get; set; } = 0;
  137. /// <summary>
  138. /// 评分
  139. /// </summary>
  140. public decimal? Score { get; set; } = decimal.Zero;
  141. /// <summary>
  142. /// 评论数
  143. /// </summary>
  144. public int? CommentNum { get; set; } = 0;
  145. /// <summary>
  146. /// 来源部门
  147. /// </summary>
  148. public string? SourceOrganizeId { get; set; }
  149. /// <summary>
  150. /// 来源部门
  151. /// </summary>
  152. public OrgDto SourceOrganize { get; set; }
  153. public KnowledgeTypeDto KnowledgeType { get; set; }
  154. public KnowledgeCollectDto Collect { get; set; }
  155. /// <summary>
  156. /// 关联知识
  157. /// </summary>
  158. public List<string> Knowledges { get; set; }
  159. /// <summary>
  160. /// 关联知识对象
  161. /// </summary>
  162. public List<KnowledgeDto> KnowledgeDtos { get; set; }
  163. /// <summary>
  164. /// 关键词
  165. /// </summary>
  166. public List<KnowledgeWordDto> KeywordsDto { get; set; }
  167. }
  168. public record KnowledgeBaseDto {
  169. public DateTime? LastModificationTime { get; set; }
  170. public bool IsDeleted { get; set; }
  171. /// <summary>
  172. /// 删除时间
  173. /// </summary>
  174. public DateTime? DeletionTime { get; set; }
  175. /// <summary>
  176. /// 创建时间
  177. /// </summary>
  178. public DateTime CreationTime { get; set; }
  179. public string Id { get; set; }
  180. /// <summary>
  181. /// 组织Id
  182. /// </summary>
  183. public string? CreatorOrgId { get; set; }
  184. public string? CreatorOrgName { get; set; }
  185. /// <summary>
  186. /// 创建人
  187. /// </summary>
  188. public string? CreatorId { get; set; }
  189. public string? CreatorName { get; set; }
  190. }
  191. public class KnowledgeTitleDto {
  192. /// <summary>
  193. /// ID
  194. /// </summary>
  195. public string? Id { get; set; }
  196. /// <summary>
  197. /// 标题
  198. /// </summary>
  199. public string Title { get; set; }
  200. }
  201. public class KnowledgeSearchNumDto
  202. {
  203. /// <summary>
  204. /// ID
  205. /// </summary>
  206. public string? Id { get; set; }
  207. }
  208. public class AddStartFlowDto : StartWorkflowDto<AddKnowledgeDto>
  209. {
  210. }
  211. public class UpdateStartFlowDto : StartWorkflowDto<UpdateKnowledgeDto>
  212. {
  213. }
  214. public class DeleteStartFlowDto : StartWorkflowDto<KnowledgeDto>
  215. {
  216. }
  217. }