|
@@ -976,10 +976,21 @@ namespace Hotline.Api.Controllers
|
|
|
var collect = await _knowledgeCollectRepository.GetAsync(x => x.KnowledgeId == dto.KnowledgeId && x.CreatorId == _sessionContext.UserId);
|
|
|
if (collect != null)
|
|
|
{
|
|
|
+ if (collect.Score > 0)
|
|
|
+ throw UserFriendlyException.SameMessage("当前知识已经评分");
|
|
|
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();
|
|
|
+ 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
|
|
|
{
|