123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604 |
- using Hotline.Share.Dtos.CallCenter;
- using Hotline.Share.Dtos.File;
- using Hotline.Share.Dtos.FlowEngine;
- using Hotline.Share.Dtos.Org;
- using Hotline.Share.Dtos.Quality;
- using Hotline.Share.Enums.Article;
- using Hotline.Share.Enums.KnowledgeBase;
- using Hotline.Share.Notifications.NewRockCallCenter;
- using Hotline.Share.Requests;
- using System.ComponentModel.DataAnnotations;
- using XF.Utility.EnumExtensions;
- namespace Hotline.Share.Dtos.Knowledge
- {
- /// <summary>
- /// 编辑
- /// </summary>
- public class UpdateKnowledgeDto : AddKnowledgeDto
- {
- /// <summary>
- /// ID
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 标签名称
- /// </summary>
- public List<string> Tags { get; set; } = new();
- }
- /// <summary>
- /// 新增知识
- /// </summary>
- public class AddKnowledgeDto : KnowledgeDto
- {
- /// <summary>
- /// 知识Code
- /// </summary>
- public string Code { get; set; }
- /// <summary>
- /// 标签名称
- /// </summary>
- public List<string> Tags { get; set; } = new();
- /// <summary>
- /// 知识归属
- /// </summary>
- public string? Attribution { get; set; }
- /// <summary>
- /// 来源部门
- /// </summary>
- public string? SourceOrganizeId { get; set; }
- }
- public class OffShelfKnowledgeDto
- {
- /// <summary>
- /// ID
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 下架原因
- /// </summary>
- public string Opinion { get; set; }
- }
- public class DeleteKnowledgeDto
- {
- /// <summary>
- /// ID
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 删除原因
- /// </summary>
- public string Opinion { get; set; }
- }
- /// <summary>
- /// 查询详情
- /// </summary>
- public class KnowledgeInfoDto : KnowledgeDto
- {
- /// <summary>
- /// ID
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 知识Code
- /// </summary>
- public string Code { get; set; }
- /// <summary>
- /// 热点名称
- /// </summary>
- public string HotspotName { get; set; }
- /// <summary>
- /// 流程Id
- /// </summary>
- public string? WorkflowId { get; set; }
- /// <summary>
- /// 是否可办理
- /// </summary>
- public bool? IsCanHandle { get; set; }
- }
- public record KnowledgeRelationTypeDto {
- /// <summary>
- /// 知识库类型ID
- /// </summary>
- public string KnowledgeTypeId { get; set; }
- /// <summary>
- /// 知识库类型名称
- /// </summary>
- public string KnowledgeTypeName { get; set; }
- /// <summary>
- /// 知识库类型名称
- /// </summary>
- public string KnowledgeTypeSpliceName { get; set; }
- }
- /// <summary>
- /// 基础
- /// </summary>
- public class KnowledgeDto : KnowledgeBaseDto
- {
- /// <summary>
- /// 知识来源
- /// </summary>
- public string? Source { get; set; }
- /// <summary>
- /// 知识分类
- /// </summary>
- public List<KnowledgeRelationTypeDto> KnowledgeType { get; set; }
- /// <summary>
- /// 知识分类名称
- /// </summary>
- public string KnowledgeTypeText => GetKnowledgeTypeText(KnowledgeType);
- /// <summary>
- /// 获取知识分类名称
- /// </summary>
- /// <returns></returns>
- public string GetKnowledgeTypeText(List<KnowledgeRelationTypeDto> items)
- {
- if (KnowledgeType != null && KnowledgeType.Any())
- {
- var names = KnowledgeType.Select(x => x.KnowledgeTypeName).ToList();
- return string.Join(",", names);
- }
- return "";
- }
- /// <summary>
- /// 热点
- /// </summary>
- public string HotspotId { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 摘要
- /// </summary>
- public string Summary { get; set; }
- /// <summary>
- /// 内容
- /// </summary>
- public string Content { get; set; }
- /// <summary>
- /// 是否公开
- /// </summary>
- public bool IsPublic { get; set; }
- /// <summary>
- /// 文档状态,默认草稿
- /// </summary>
- public EKnowledgeStatus Status { get; set; } = EKnowledgeStatus.Drafts;
- public string StatusText => Status.GetDescription();
- /// <summary>
- /// 到期时间
- /// </summary>
- public DateTime? ExpiredTime { get; set; }
- /// <summary>
- /// 关键词
- /// </summary>
- public List<string> Keywords { get; set; }
- /// <summary>
- /// 附件
- /// </summary>
- public List<string> Additions { get; set; }
- /// <summary>
- /// 外部数据(为前端提供级联功能)
- /// </summary>
- public string HotspotExternal { get; set; }
- /// <summary>
- /// 知识归属
- /// </summary>
- public string? Attribution { get; set; }
- /// <summary>
- /// 浏览量
- /// </summary>
- public int PageView { get; set; } = 0;
- /// <summary>
- /// 搜索量
- /// </summary>
- public int? SearchNum { get; set; } = 0;
- /// <summary>
- /// 评分
- /// </summary>
- public decimal? Score { get; set; } = decimal.Zero;
- /// <summary>
- /// 评论数
- /// </summary>
- public int? CommentNum { get; set; } = 0;
- /// <summary>
- /// 来源部门
- /// </summary>
- public string? SourceOrganizeId { get; set; }
- /// <summary>
- /// 来源部门
- /// </summary>
- public OrgDto? SourceOrganize { get; set; }
- public KnowledgeCollectDto Collect { get; set; }
- /// <summary>
- /// 关联知识
- /// </summary>
- public List<string> Knowledges { get; set; }
- /// <summary>
- /// 关联知识对象
- /// </summary>
- public List<KnowledgeDto> KnowledgeDtos { get; set; }
- /// <summary>
- /// 关键词
- /// </summary>
- public List<KnowledgeWordDto> KeywordsDto { get; set; }
- public List<FileDto> Files { get; set; }
- public List<FileJson>? FileJson { get; set; }
- }
- public class KnowledgeBaseDto {
- public DateTime? LastModificationTime { get; set; }
- public bool IsDeleted { get; set; }
- /// <summary>
- /// 删除时间
- /// </summary>
- public DateTime? DeletionTime { get; set; }
- /// <summary>
- /// 创建时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- public string Id { get; set; }
- /// <summary>
- /// 组织Id
- /// </summary>
- public string? CreatorOrgId { get; set; }
- public string? CreatorOrgName { get; set; }
- /// <summary>
- /// 创建人
- /// </summary>
- public string? CreatorId { get; set; }
- public string? CreatorName { get; set; }
- }
- public class KnowledgeTitleDto {
- /// <summary>
- /// ID
- /// </summary>
- public string? Id { get; set; }
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- }
- public class KnowledgeSearchNumDto
- {
- /// <summary>
- /// ID
- /// </summary>
- public string? Id { get; set; }
- }
- public class KnowledgeFindingDuplicateDto
- {
- /// <summary>
- /// 标题
- /// </summary>
- public string Title { get; set; }
- /// <summary>
- /// 摘要
- /// </summary>
- public string? Summary { get; set; }
- /// <summary>
- /// 内容
- /// </summary>
- public string Content { get; set; }
- /// <summary>
- /// ID
- /// </summary>
- public string? Id { get; set; }
- }
- public class AddStartFlowDto : StartWorkflowDto<AddKnowledgeDto>
- {
- }
- public class UpdateStartFlowDto : StartWorkflowDto<UpdateKnowledgeDto>
- {
- }
- //public class DeleteStartFlowDto : StartWorkflowDto<KnowledgeDto>
- //{
- //}
- public class DeleteStartFlowDto : StartWorkflowDto<DeleteKnowledgeDto>
- {
- }
- public class OffShelfStartFlowDto : StartWorkflowDto<OffShelfKnowledgeDto>
- {
- }
- public class KnowledgeCollectGroupOutDto
- {
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 名字
- /// </summary>
- public string Name { get; set; }
- }
- public class KnowledgeCollectGroupInDto
- {
- /// <summary>
- /// 名字
- /// </summary>
- [Required]
- public string Name { get; set; }
- }
- public record KnowledgeCollectGroupListInDto : PagedKeywordRequest
- { }
- public class KnowledgeInfoExportInDto
- {
- /// <summary>
- /// 导入的知识Id集合
- /// </summary>
- public string[] Ids { get; set; }
- /// <summary>
- /// 导出格式
- /// </summary>
- public EFileType FileType { get; set; }
- }
- public record PageViewInDto : PagedRequest
- {
- /// <summary>
- /// 标题
- /// </summary>
- public string? Title { get; set; }
- /// <summary>
- /// 浏览人
- /// </summary>
- public string? CreatorName { get; set; }
- /// <summary>
- /// 知识分类Id
- /// </summary>
- public string? KnowledgeTypeId { get; set; }
- /// <summary>
- /// 开始时间
- /// </summary>
- public DateTime? StartTime { get; set; }
- /// <summary>
- /// 结束时间
- /// </summary>
- public DateTime? EndTime { get; set; }
- }
- public class PageViewOutDto
- {
- /// <summary>
- /// 标题
- /// </summary>
- public string KnowledgeTitle { get; set; }
- /// <summary>
- /// 浏览人
- /// </summary>
- public string CreatorName { get; set; }
- /// <summary>
- /// 浏览时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 浏览完成时间
- /// </summary>
- public DateTime? PvEndTime { get; set; }
- /// <summary>
- /// 浏览时长
- /// </summary>
- public int? BrowseTime { get; set; } = 0;
- }
- public class KnowledgeWordOutDto
- {
- public KnowledgeWordOutDto()
- {
-
- }
- public KnowledgeWordOutDto(string keyId, string tag)
- {
- Id = keyId;
- Tag = tag;
- }
- /// <summary>
- /// Id
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// 标签
- /// </summary>
- public string Tag { get; set; }
- }
- public record KnowledgeHotWordInDto : PagedRequest
- {
- /// <summary>
- /// 热词
- /// </summary>
- public string? KeyWord { get; set; }
- /// <summary>
- /// 是否启用
- /// </summary>
- public bool? IsEnable { get; set; }
- /// <summary>
- /// 排序(需要被排序的字段名)
- /// </summary>
- public string? SortField { get; set; }
- /// <summary>
- /// 排序方向 (0: 升序Asc; 1: 降序Desc)
- /// </summary>
- public int OrderByType { get; set; } = 1;
- /// <summary>
- /// 热词类型
- /// </summary>
- public EKnowledgeHotWordType? Type { get; set; }
- }
- public class UpdateKnowledgeHotWordInDto : AddKnowledgeHotWordInDto
- {
- /// <summary>
- /// Id
- /// </summary>
- [Required]
- public string Id { get; set; }
- /// <summary>
- /// 点击次数
- /// </summary>
- public int? SearchCount { get; set; }
- /// <summary>
- /// 是否启用
- /// </summary>
- public bool? IsEnable { get; set; }
- }
- public class AddKnowledgeHotWordInDto
- {
- /// <summary>
- /// 热词
- /// </summary>
- public string? KeyWord { get; set; }
- /// <summary>
- /// 排序
- /// </summary>
- public int? Sort { get; set; }
- /// <summary>
- /// 热词类型
- /// </summary>
- public EKnowledgeHotWordType? Type { get; set; }
- }
- public class KnowledgeHotWordOutDto : UpdateKnowledgeHotWordInDto
- {
- /// <summary>
- /// 创建时间
- /// </summary>
- public DateTime CreationTime { get; set; }
- /// <summary>
- /// 热词类型
- /// </summary>
- public string TypeTxt => Type?.GetDescription();
- }
- public class KnowledgeBatchAuditInDto
- {
- /// <summary>
- /// 知识Id集合
- /// </summary>
- public string[] KnowledgeIds { get; set; }
- /// <summary>
- /// 是否通过
- /// </summary>
- public bool IsPass { get; set; }
- /// <summary>
- /// 办理意见
- /// </summary>
- public string Opinion { get; set; } = string.Empty;
- /// <summary>
- /// 是否短信通知
- /// </summary>
- public bool IsSms { get; set; }
- }
- }
|