Browse Source

知识点API

zhouj1203@hotmail.com 4 years ago
parent
commit
4b779a9d90

+ 5 - 5
TEAMModelOS.SDK/Models/Cosmos/Common/Knowledge.cs

@@ -71,13 +71,13 @@ namespace TEAMModelOS.SDK.Models
         ///  来自于标准表 Rowkey
         ///  来自于标准表 Rowkey
         /// </summary>
         /// </summary>
         
         
-        [Required(ErrorMessage = "{0} 必须填写")]
-        public string knowledgeId { get; set; }
+/*        [Required(ErrorMessage = "{0} 必须填写")]
+        public string knowledgeId { get; set; }*/
 
 
         /// <summary>
         /// <summary>
         /// 0 标准,1自建,2.....
         /// 0 标准,1自建,2.....
         /// </summary>
         /// </summary>
-        
+
         [Required(ErrorMessage = "{0} 必须填写")]
         [Required(ErrorMessage = "{0} 必须填写")]
         public int source { get; set; }
         public int source { get; set; }
 
 
@@ -87,7 +87,7 @@ namespace TEAMModelOS.SDK.Models
         ///[Required(ErrorMessage = "{0} 必须填写")]
         ///[Required(ErrorMessage = "{0} 必须填写")]
         
         
         public string periodId { get; set; }
         public string periodId { get; set; }
-        public int ownCount { get; set; }
-        public int openCount { get; set; }
+/*        public int ownCount { get; set; }
+        public int openCount { get; set; }*/
     }
     }
 }
 }

+ 21 - 7
TEAMModelOS/Controllers/knowledge/KnowledgeController.cs

@@ -158,7 +158,7 @@ namespace TEAMModelOS.Controllers
         public async Task<IActionResult> Find(JsonElement requert)
         public async Task<IActionResult> Find(JsonElement requert)
         {
         {
             var client = _azureCosmos.GetCosmosClient();
             var client = _azureCosmos.GetCosmosClient();
-            if (!requert.TryGetProperty("school_code", out JsonElement school_code)) return BadRequest();
+            if (!requert.TryGetProperty("code", out JsonElement school_code)) return BadRequest();
             if (!requert.TryGetProperty("type", out JsonElement type)) return BadRequest();
             if (!requert.TryGetProperty("type", out JsonElement type)) return BadRequest();
             if (!requert.TryGetProperty("periodId", out JsonElement period)) return BadRequest();
             if (!requert.TryGetProperty("periodId", out JsonElement period)) return BadRequest();
             if (!requert.TryGetProperty("subjectId", out JsonElement subjectCode)) return BadRequest();
             if (!requert.TryGetProperty("subjectId", out JsonElement subjectCode)) return BadRequest();
@@ -237,18 +237,23 @@ namespace TEAMModelOS.Controllers
         {
         {
             try
             try
             {
             {
-
+                var client = _azureCosmos.GetCosmosClient();
                 List<Knowledge> Knowledges = new List<Knowledge>();
                 List<Knowledge> Knowledges = new List<Knowledge>();
                 if (request.IsNotEmpty())
                 if (request.IsNotEmpty())
                 {
                 {
 
 
-                    for (int i =0;i< request.Count;i++) {
-                        if (request[i].id ==null )
+                    foreach (Knowledge knowledge in request) {
+                        knowledge.code = "Knowledge-" + knowledge.code;
+                        if (knowledge.id == null)
                         {
                         {
-                            request[i].code = typeof(Knowledge).Name + "-" + request[i].code;
-                        }                       
+                            knowledge.id = Guid.NewGuid().ToString();
+                            await client.GetContainer("TEAMModelOS", "School").CreateItemAsync(knowledge, new PartitionKey($"{knowledge.code}"));
+                        }
+                        else {
+                            await client.GetContainer("TEAMModelOS", "School").ReplaceItemAsync(knowledge, knowledge.id, new PartitionKey($"{knowledge.code}"));
+                        }
                     }
                     }
-                    Knowledges = await SaveOrUpdateKnowledge(request);
+                    //Knowledges = await SaveOrUpdateKnowledge(request);
                     /*if (ts.Count > 0) builder.Data(ts).Extend(new Dictionary<string, object> { { "count", ts.Count } });
                     /*if (ts.Count > 0) builder.Data(ts).Extend(new Dictionary<string, object> { { "count", ts.Count } });
                     else {
                     else {
                         return Ok(new { ResponseCode.FAILED, V = "失败!" });
                         return Ok(new { ResponseCode.FAILED, V = "失败!" });
@@ -275,6 +280,15 @@ namespace TEAMModelOS.Controllers
         [HttpPost("delete")]
         [HttpPost("delete")]
         public async Task<IActionResult> Delete(JsonElement request)
         public async Task<IActionResult> Delete(JsonElement request)
         {
         {
+            try {
+                var client = _azureCosmos.GetCosmosClient();
+                if (!request.TryGetProperty("code", out JsonElement code)) return BadRequest();
+                if (!request.TryGetProperty("id", out JsonElement id)) return BadRequest();
+                await client.GetContainer("TEAMModelOS", "School").DeleteItemStreamAsync(id.ToString(), new PartitionKey($"Knowledge-{code}"));
+            } catch (Exception ex) {
+                await _dingDing.SendBotMsg($"knowledge,{_option.Location},delete()\n{ex.Message}", GroupNames.醍摩豆服務運維群組);
+                return BadRequest();
+            }
             return Ok();
             return Ok();
             //ResponseBuilder builder = ResponseBuilder.custom();
             //ResponseBuilder builder = ResponseBuilder.custom();
             //DeleteDelegate<Knowledge> deleteDelegate1 = Delete<Knowledge>;
             //DeleteDelegate<Knowledge> deleteDelegate1 = Delete<Knowledge>;