|
@@ -952,9 +952,16 @@ namespace Hotline.Api.Controllers
|
|
|
[HttpPost("knowledge_collect")]
|
|
|
public async Task Add([FromBody] KnowledgeCollectAddDto dto)
|
|
|
{
|
|
|
- var knowledge = await _knowledgeCollectRepository.GetAsync(x => x.KnowledgeId == dto.KnowledgeId);
|
|
|
- var questions = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
- await _knowledgeCollectRepository.AddAsync(questions, HttpContext.RequestAborted);
|
|
|
+ var collect = await _knowledgeCollectRepository.GetAsync(x => x.KnowledgeId == dto.KnowledgeId && x.CreatorId == _sessionContext.UserId);
|
|
|
+ if (collect != null)
|
|
|
+ {
|
|
|
+ collect.Collect = dto.Collect;
|
|
|
+ await _knowledgeCollectRepository.UpdateAsync(collect, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ var questions = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
+ await _knowledgeCollectRepository.AddAsync(questions, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -963,10 +970,22 @@ namespace Hotline.Api.Controllers
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
[Permission(EPermission.AddKnowledgeScore)]
|
|
|
- [HttpDelete("knowledge_collect")]
|
|
|
- public async Task Delete([FromBody] KnowledgeCollectDeleteDto dto)
|
|
|
+ [HttpDelete("knowledge_score")]
|
|
|
+ public async Task Delete([FromBody] KnowledgeCollectAddDto dto)
|
|
|
{
|
|
|
- await _knowledgeCollectRepository.RemoveAsync(x => x.Id == dto.Id);
|
|
|
+ var collect = await _knowledgeCollectRepository.GetAsync(x => x.KnowledgeId == dto.KnowledgeId && x.CreatorId == _sessionContext.UserId);
|
|
|
+ if (collect != null)
|
|
|
+ {
|
|
|
+ collect.Score = dto.Score;
|
|
|
+ await _knowledgeCollectRepository.UpdateAsync(collect, HttpContext.RequestAborted);
|
|
|
+ //计算总分
|
|
|
+ //var collects = await _knowledgeCollectRepository.Queryable().Where(x => x.KnowledgeId == dto.KnowledgeId).Select(x=>x.Score).SumAsync(x=>x.);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var questions = _mapper.Map<KnowledgeCollect>(dto);
|
|
|
+ await _knowledgeCollectRepository.AddAsync(questions, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
}
|
|
|
#endregion
|
|
|
}
|