CrazyIter_Bin 1 vuosi sitten
vanhempi
commit
fd61407606

+ 6 - 0
TEAMModelOS.SDK/Models/Cosmos/Common/Activity.cs

@@ -832,6 +832,7 @@ namespace TEAMModelOS.SDK.Models
         public double score { get; set; }
         public string nickname { get; set; }
         public string picture { get; set; }
+        public string comment { get; set; }
         public List<RuleConfig> detailScore { get; set; } = new List<RuleConfig>();
     }
     /// <summary>
@@ -963,6 +964,10 @@ namespace TEAMModelOS.SDK.Models
     public class ReviewScoreData
     {
         public double score { get; set; } = -1;
+        /// <summary>
+        /// 评语
+        /// </summary>
+        public string comment {  get; set; }
         public List<RuleConfigTree> detailScore { get; set; } = new List<RuleConfigTree>();
         public string uploadId { get; set; }
     }
@@ -1018,6 +1023,7 @@ namespace TEAMModelOS.SDK.Models
         /// </summary>
         public int status { get; set; } = -1;
         public double score { get; set; } = -1;
+        public string comment { get; set; }
         /// <summary>
         /// 评分依据规则的细项得分,score 专家对细项的评分
         /// </summary>

+ 1 - 1
TEAMModelOS.SDK/Models/Cosmos/School/Knowledge.cs

@@ -139,7 +139,7 @@ namespace TEAMModelOS.SDK.Models
     public class Block { 
         public string name { get; set; }
         /// <summary>
-        /// 默认学校添加的 0,  1,区级统一设置的(学校不能删除,不能编辑)。
+        /// 默认学校添加的 0,  1,区级统一设置的(学校不能删除,不能编辑),2新版树形结构的知识块
         /// </summary>
         public int source { get; set; } = 0;
         public List<string> points { get; set; } = new List<string>();

+ 7 - 0
TEAMModelOS.SDK/Models/Service/KnowledgeService.cs

@@ -15,11 +15,18 @@ namespace TEAMModelOS.SDK.Models.Service
 
             HashSet<string> points = new HashSet<string>();
             List<Block> blocks = new List<Block>();
+            var pidNull= knowledge.nodes.FindAll(x => string.IsNullOrWhiteSpace(x.pid));
+            if (pidNull.IsNotEmpty()) {
+                foreach (var isnull in pidNull) {
+                    isnull.pid= knowledge.id;
+                }
+            }
             List<PointTree> tree = KnowledgeService.ListToTree(knowledge.nodes);
             foreach (var node in tree)
             {
                 points.Add(node.name);
                 blocks.Add(new Block { name=node.name, source=2, points=  node.children!=null ? node.children.Select(x => x.name).ToList() : new List<string>() });
+                node.pid=knowledge.id;
                 node.allcids= KnowledgeService.GetChildIds(node, points, blocks);
             }
             blocks.AddRange(knowledge.blocks);

+ 4 - 2
TEAMModelOS/Controllers/Both/KnowledgeController.cs

@@ -341,6 +341,8 @@ namespace TEAMModelOS.Controllers.Both
                     if (old!=null)
                     {
                         knowledge.id = old.id;
+                        knowledge.points=old.points;
+                        knowledge.blocks=old.blocks;
                         foreach (var p in old.points)
                         {
                             points.Add(p);
@@ -374,9 +376,9 @@ namespace TEAMModelOS.Controllers.Both
                         periodId=knowledge.periodId,
                         subjectId   =knowledge.subjectId,
                         scope=knowledge.scope,
-                        //blocks=blocks,
+                        blocks=knowledge.blocks,
                         pk="Knowledge",
-                        // points=points.ToList(),
+                        points=knowledge.points.ToList(),
                         nodes=nodes,
                         owner=knowledge.owner,
                     };

+ 1 - 0
TEAMModelOS/Controllers/Common/ActivityController.cs

@@ -3100,6 +3100,7 @@ namespace TEAMModelOS.Controllers
                                         var task = expertTask.contestTasks.Find(x => x.uploadId.Equals(scoreData.uploadId));
                                         task.score = scoreData.score;
                                         task.status=1;
+                                        task.comment=scoreData.comment;
                                         task.detailScore = ActivityService.TreeToList(scoreData.detailScore, new List<RuleConfig>()) ;
                                         await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Teacher).UpsertItemAsync(expertTask, new PartitionKey($"ActivityExpertTask-{_activityId}"));
                                         //检查作品是否完成评审自动结算