田爽 1 年之前
父节点
当前提交
e29b7b5adb
共有 2 个文件被更改,包括 15 次插入14 次删除
  1. 15 13
      src/Hotline.Api/Controllers/KnowledgeController.cs
  2. 0 1
      src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

+ 15 - 13
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -160,17 +160,17 @@ namespace Hotline.Api.Controllers
 		/// <returns></returns>
 		[Permission(EPermission.AddKnowledge)]
 		[HttpPost("add")]
-		public async Task<string> AddKnowledge([FromBody] AddKnowledgeDto dto)
+		public async Task<string> AddKnowledge([FromBody] ScreenStartFlowDto dto)
 		{
-			var kn = _mapper.Map<Knowledge>(dto);
-
+			var addDto  = _mapper.Map<AddKnowledgeDto>(dto.Data);
+			var kn = _mapper.Map<Knowledge>(dto.Data);
 			//Code为空,从新生成Code
 			if (string.IsNullOrEmpty(kn.Code))
 				kn.Code = Convert.ToInt64((DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString();
 
 			kn.Status = EKnowledgeStatus.Drafts;
 			var id = await _knowledgeRepository.AddAsync(kn, HttpContext.RequestAborted);
-			if (dto.Tags.Any()) await _repositoryts.AddVectorAsync(id, DateTime.Now, dto.Tags, HttpContext.RequestAborted);
+			if (addDto.Tags.Any()) await _repositoryts.AddVectorAsync(id, DateTime.Now, addDto.Tags, HttpContext.RequestAborted);
 			if (dto.Workflow != null)
 			{
 				var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
@@ -288,22 +288,23 @@ namespace Hotline.Api.Controllers
 		/// <returns></returns>
 		[Permission(EPermission.KnowledgeDraftsUpdate)]
 		[HttpPut("update")]
-		public async Task UpdateKnowledge([FromBody] UpdateKnowledgeDto dto)
+		public async Task UpdateKnowledge([FromBody] ScreenStartFlowDto dto)
 		{
-			var knowledge = await _knowledgeRepository.GetAsync(dto.Id);
+			var update = _mapper.Map<UpdateKnowledgeDto>(dto.Data);
+			var knowledge = await _knowledgeRepository.GetAsync(update.Id);
 			if (knowledge == null)
 				throw UserFriendlyException.SameMessage("知识库数据错误");
 			if (knowledge.Status != EKnowledgeStatus.Drafts)
 				throw UserFriendlyException.SameMessage("非草稿数据不可修改");
 			_mapper.Map(dto, knowledge);
-			if (dto.Tags.Any()) await _repositoryts.UpdateVectorAsync(dto.Id, dto.Tags, HttpContext.RequestAborted);
+			if (update.Tags.Any()) await _repositoryts.UpdateVectorAsync(update.Id, update.Tags, HttpContext.RequestAborted);
 			await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
 			if (dto.Workflow != null)
 			{
 				var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
 				startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeAdd;
 				startDto.Title = "知识库修改";
-				await StartFlow(dto.Id, WorkflowModuleConsts.KnowledgeAdd, EKnowledgeApplyType.Add, startDto);
+				await StartFlow(update.Id, WorkflowModuleConsts.KnowledgeAdd, EKnowledgeApplyType.Add, startDto);
 			}
 		}
 
@@ -313,18 +314,19 @@ namespace Hotline.Api.Controllers
 		/// <param name="id"></param>
 		/// <returns></returns>
 		[Permission(EPermission.KnowledgeDraftsDelete)]
-		[HttpDelete("{id}")]
-		public async Task Remove(string id)
+		[HttpDelete]
+		public async Task Remove([FromBody] ScreenStartFlowDto dto)
 		{
-			var knowledge = await _knowledgeRepository.GetAsync(id, HttpContext.RequestAborted);
+			var delete = _mapper.Map<Knowledge>(dto.Data);
+			var knowledge = await _knowledgeRepository.GetAsync(delete.Id, HttpContext.RequestAborted);
 			if (knowledge == null) return;
 			if (knowledge.Status != EKnowledgeStatus.Drafts)
 				throw UserFriendlyException.SameMessage("非草稿数据不可删除");
 			await _knowledgeRepository.RemoveAsync(knowledge, false, HttpContext.RequestAborted);
-			var startDto = new StartWorkflowDto();
+			var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
 			startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeDelete;
 			startDto.Title = "知识库删除";
-			await StartFlow(id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Add, startDto);
+			await StartFlow(delete.Id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Add, startDto);
 		}
 
 		#endregion

+ 0 - 1
src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

@@ -45,7 +45,6 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string? SourceOrganizeId { get; set; }
 
-		public BasicWorkflowDto? Workflow { get; set; }
 	}
 
     /// <summary>