|
@@ -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
|