田爽 před 5 měsíci
rodič
revize
469c7dc6de

+ 9 - 8
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -208,9 +208,9 @@ namespace Hotline.Api.Controllers
         [Permission(EPermission.KnowledgeOffShelf)]
         [HttpPut("offshelf")]
         [LogFilter("知识下架")]
-        public async Task KnowledgeOffShelf(string Id)
+        public async Task KnowledgeOffShelf([FromBody] OffShelfKnowledgeDto dto)
         {
-            var know = await _knowledgeRepository.GetAsync(Id, HttpContext.RequestAborted);
+            var know = await _knowledgeRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
             if (know != null && know.Status == EKnowledgeStatus.OnShelf)
             {
                 if (_sessionContext.OrgIsCenter)
@@ -232,6 +232,7 @@ namespace Hotline.Api.Controllers
 
 					var startDto = _mapper.Map<StartWorkflowDto>(know.Workflow);
 					startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeOffshelf;
+                    startDto.Opinion = dto.Opinion;
 					startDto.Title = "知识库下架";
 					await StartFlow(know.Id, WorkflowModuleConsts.KnowledgeOffshelf, EKnowledgeApplyType.Offshelf, startDto);
 				}
@@ -429,10 +430,10 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         [HttpDelete]
         [LogFilter("删除知识")]
-        public async Task Remove([FromBody] DeleteStartFlowDto dto)
+        public async Task Remove([FromBody] DeleteKnowledgeDto dto)
         {
-            var delete = _mapper.Map<KnowledgeDto>(dto.Data);
-            var knowledge = await _knowledgeRepository.GetAsync(delete.Id, HttpContext.RequestAborted);
+            //var delete = _mapper.Map<KnowledgeDto>(dto.Data);
+            var knowledge = await _knowledgeRepository.GetAsync(dto.Id, HttpContext.RequestAborted);
             if (knowledge == null)
                 throw UserFriendlyException.SameMessage("无效知识库数据");
             if (knowledge.Status == EKnowledgeStatus.OnShelf || knowledge.Status == EKnowledgeStatus.Auditing)
@@ -443,11 +444,11 @@ namespace Hotline.Api.Controllers
             }
             else
             {
-                var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
+                var startDto = _mapper.Map<StartWorkflowDto>(knowledge.Workflow);
                 startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeDelete;
                 startDto.Title = "知识库删除";
                 //await _workflowApplication.StartWorkflowAsync(startDto, _sessionContext, knowledge.Id, cancellationToken: HttpContext.RequestAborted);
-                await StartFlow(delete.Id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Delete, startDto);
+                await StartFlow(dto.Id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Delete, startDto);
             }
         }
 
@@ -1001,7 +1002,7 @@ namespace Hotline.Api.Controllers
             await _knowledgeDomainService.AddWorkFlowAsync(id, eKnowledgeApplyType, HttpContext.RequestAborted);
 
             dto.DefinitionModuleCode = moduleCode;
-            dto.Title = knowledge.Title;
+			//dto.Title = knowledge.Title;
             return await _workflowApplication.StartWorkflowAsync(dto, id, cancellationToken: HttpContext.RequestAborted);
         }
         #endregion

+ 30 - 4
src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

@@ -55,10 +55,36 @@ namespace Hotline.Share.Dtos.Knowledge
 
 	}
 
-    /// <summary>
-    /// 查询详情
-    /// </summary>
-    public class KnowledgeInfoDto : KnowledgeDto
+    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