|
@@ -110,12 +110,15 @@ namespace Hotline.Api.Controllers
|
|
|
kn.Status = EKnowledgeStatus.Drafts;
|
|
|
var id = await _knowledgeRepository.AddAsync(kn, HttpContext.RequestAborted);
|
|
|
if (addDto.Tags.Any()) await _repositoryts.AddVectorAsync(id, DateTime.Now, addDto.Tags, HttpContext.RequestAborted);
|
|
|
- if (dto.Workflow != null)
|
|
|
+ if (dto.Workflow != null && !string.IsNullOrEmpty(id))
|
|
|
{
|
|
|
var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
|
|
|
startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeAdd;
|
|
|
startDto.Title = "知识库新增";
|
|
|
await StartFlow(id, WorkflowModuleConsts.KnowledgeAdd, EKnowledgeApplyType.Add, startDto);
|
|
|
+ var knowledge = await _knowledgeRepository.GetAsync(id);
|
|
|
+ knowledge.Status = EKnowledgeStatus.Auditing;
|
|
|
+ await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
|
|
|
}
|
|
|
return id;
|
|
|
}
|
|
@@ -181,14 +184,15 @@ namespace Hotline.Api.Controllers
|
|
|
throw UserFriendlyException.SameMessage("知识库数据不可修改");
|
|
|
_mapper.Map(dto.Data, knowledge);
|
|
|
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(update.Id, WorkflowModuleConsts.KnowledgeUpdate, EKnowledgeApplyType.Update, startDto);
|
|
|
+ knowledge.Status = EKnowledgeStatus.Auditing;
|
|
|
}
|
|
|
+ await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -205,11 +209,13 @@ namespace Hotline.Api.Controllers
|
|
|
if (knowledge == null) return;
|
|
|
if (knowledge.Status == EKnowledgeStatus.OnShelf || knowledge.Status == EKnowledgeStatus.Auditing)
|
|
|
throw UserFriendlyException.SameMessage("知识库数据不可删除");
|
|
|
- await _knowledgeRepository.RemoveAsync(knowledge, false, HttpContext.RequestAborted);
|
|
|
+ //await _knowledgeRepository.RemoveAsync(knowledge, false, HttpContext.RequestAborted);
|
|
|
+ knowledge.Status = EKnowledgeStatus.Auditing;
|
|
|
+ await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
|
|
|
var startDto = _mapper.Map<StartWorkflowDto>(dto.Workflow);
|
|
|
startDto.DefinitionModuleCode = WorkflowModuleConsts.KnowledgeDelete;
|
|
|
startDto.Title = "知识库删除";
|
|
|
- await StartFlow(delete.Id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Add, startDto);
|
|
|
+ await StartFlow(delete.Id, WorkflowModuleConsts.KnowledgeDelete, EKnowledgeApplyType.Delete, startDto);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -968,8 +974,8 @@ namespace Hotline.Api.Controllers
|
|
|
await _knowledgeCollectRepository.UpdateAsync(collect, HttpContext.RequestAborted);
|
|
|
}
|
|
|
else {
|
|
|
- var questions = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
- await _knowledgeCollectRepository.AddAsync(questions, HttpContext.RequestAborted);
|
|
|
+ var collectNew = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
+ await _knowledgeCollectRepository.AddAsync(collectNew, HttpContext.RequestAborted);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -989,23 +995,23 @@ namespace Hotline.Api.Controllers
|
|
|
throw UserFriendlyException.SameMessage("当前知识已经评分");
|
|
|
collect.Score = dto.Score;
|
|
|
await _knowledgeCollectRepository.UpdateAsync(collect, HttpContext.RequestAborted);
|
|
|
- //计算总分
|
|
|
- var sugar = _knowledgeCollectRepository.Queryable().Where(x => x.KnowledgeId == dto.KnowledgeId);
|
|
|
- var count = await sugar.CountAsync();
|
|
|
- var collects = await sugar.SumAsync(x=>x.Score);
|
|
|
- var score = collects / count;
|
|
|
- var knowledge = await _knowledgeRepository.GetAsync(x => x.Id == dto.KnowledgeId);
|
|
|
- if (knowledge != null)
|
|
|
- {
|
|
|
- knowledge.Score = score;
|
|
|
- await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
|
|
|
- }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var questions = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
await _knowledgeCollectRepository.AddAsync(questions, HttpContext.RequestAborted);
|
|
|
}
|
|
|
+ //计算总分
|
|
|
+ var sugar = _knowledgeCollectRepository.Queryable().Where(x => x.KnowledgeId == dto.KnowledgeId);
|
|
|
+ var count = await sugar.CountAsync();
|
|
|
+ var collects = await sugar.SumAsync(x => x.Score);
|
|
|
+ var score = collects / count;
|
|
|
+ var knowledge = await _knowledgeRepository.GetAsync(x => x.Id == dto.KnowledgeId);
|
|
|
+ if (knowledge != null)
|
|
|
+ {
|
|
|
+ knowledge.Score = score;
|
|
|
+ await _knowledgeRepository.UpdateAsync(knowledge, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
#endregion
|
|
|
}
|