田爽 1 年之前
父節點
當前提交
2730067846

+ 12 - 1
src/Hotline.Api/Controllers/KnowledgeController.cs

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

+ 9 - 3
src/Hotline.Share/Dtos/Knowledge/KnowledgeDataDto.cs

@@ -24,12 +24,12 @@ namespace Hotline.Share.Dtos.Knowledge
         public string KnowledgeTypeName  => KnowledgeType !=null ? KnowledgeType.SpliceName : string.Empty;
 
 
-        public HotspotDto Hotspot {  get; set; }
+        public HotspotDto HotspotType {  get; set; }
 
         /// <summary>
         /// 热点
         /// </summary>
-        public string HotspotName => Hotspot != null ? Hotspot.HotSpotFullName : string.Empty;
+        public string HotspotName => HotspotType != null ? HotspotType.HotSpotFullName : string.Empty;
 
 		/// <summary>
 		/// 申请人
@@ -55,7 +55,13 @@ namespace Hotline.Share.Dtos.Knowledge
         /// 流程ID
         /// </summary>
         public string WorkflowId { get; set; }
-    }
+
+
+        /// <summary>
+        /// 是否公开
+        /// </summary>
+        public bool IsPublic { get; set; }
+	}
 
     /// <summary>
     /// 知识库

+ 21 - 0
src/Hotline.Share/Dtos/Knowledge/KnowledgeDto.cs

@@ -1,4 +1,5 @@
 using Hotline.Share.Dtos.FlowEngine;
+using Hotline.Share.Dtos.Org;
 using Hotline.Share.Enums.KnowledgeBase;
 
 namespace Hotline.Share.Dtos.Knowledge
@@ -143,6 +144,26 @@ namespace Hotline.Share.Dtos.Knowledge
         /// </summary>
         public string HotspotExternal { get; set; }
 
+        /// <summary>
+        /// 评分
+        /// </summary>
+        public decimal? Score { get; set; } = decimal.Zero;
+
+        /// <summary>
+        /// 评论数
+        /// </summary>
+        public int? CommentNum { get; set; } = 0;
+
+        /// <summary>
+        /// 来源部门
+        /// </summary>
+        public string? SourceOrganizeId { get; set; }
+
+        /// <summary>
+        /// 来源部门
+        /// </summary>
+        public OrgDto SourceOrganize { get; set; }
+
         public KnowledgeTypeDto KnowledgeType { get; set; }
 
     }