Browse Source

修改是底层处理SQL的方法

zhouj1203@hotmail.com 4 years ago
parent
commit
06455a9703

+ 8 - 3
TEAMModelOS.SDK/DI/AzureCosmos/Inner/SQLHelper.cs

@@ -126,7 +126,8 @@ namespace TEAMModelOS.SDK.DI.AzureCosmos.Inner
         }
         }
         public static AzureCosmosQuery GetSQL(Dictionary<string, object> dict, StringBuilder sql, string pk = null)
         public static AzureCosmosQuery GetSQL(Dictionary<string, object> dict, StringBuilder sql, string pk = null)
         {
         {
-            if (dict != null)
+            AzureCosmosQuery cosmosDbQuery;
+            if (dict != null && dict.Count > 0)
             {
             {
                 if (!DictIsNotNULL(dict))
                 if (!DictIsNotNULL(dict))
                 {
                 {
@@ -324,14 +325,18 @@ namespace TEAMModelOS.SDK.DI.AzureCosmos.Inner
                 parmeters = GetParmeter(forGetParmeter, parmeters, offsetNum, limitNum);
                 parmeters = GetParmeter(forGetParmeter, parmeters, offsetNum, limitNum);
 
 
 
 
-                AzureCosmosQuery cosmosDbQuery = new AzureCosmosQuery
+                 cosmosDbQuery = new AzureCosmosQuery
                 {
                 {
                     QueryText = sql.ToString(),
                     QueryText = sql.ToString(),
                     Parameters = parmeters
                     Parameters = parmeters
                 };
                 };
                 return cosmosDbQuery;
                 return cosmosDbQuery;
             }
             }
-            return null;
+            cosmosDbQuery = new AzureCosmosQuery
+            {
+                QueryText = sql.ToString()
+            };
+            return cosmosDbQuery;
         }
         }
 
 
         private static void GetPageNum(Dictionary<string, object> dict, ref int offsetNum, ref int limitNum, ref bool pageBool)
         private static void GetPageNum(Dictionary<string, object> dict, ref int offsetNum, ref int limitNum, ref bool pageBool)

+ 12 - 1
TEAMModelOS/Controllers/Task/VoteController.cs

@@ -155,7 +155,18 @@ namespace TEAMModelOS.Controllers.Learn
             if (!requert.TryGetProperty("@CURRPAGE", out JsonElement page)) return BadRequest();
             if (!requert.TryGetProperty("@CURRPAGE", out JsonElement page)) return BadRequest();
             if (!requert.TryGetProperty("@PAGESIZE", out JsonElement size)) return BadRequest();
             if (!requert.TryGetProperty("@PAGESIZE", out JsonElement size)) return BadRequest();
             if (!requert.TryGetProperty("@DESC", out JsonElement desc)) return BadRequest();*/
             if (!requert.TryGetProperty("@DESC", out JsonElement desc)) return BadRequest();*/
-            AzureCosmosQuery cosmosDbQuery = SQLHelper.GetSQL(requert, sql);
+            Dictionary<string, object> dict = new Dictionary<string, object>();
+            var emobj = requert.EnumerateObject();
+            while (emobj.MoveNext())
+            {
+                dict[emobj.Current.Name] = emobj.Current.Value;
+            }
+            //处理code
+            if (dict.TryGetValue("code", out object _))
+            {
+                dict.Remove("code");
+            }
+            AzureCosmosQuery cosmosDbQuery = SQLHelper.GetSQL(dict, sql);
             List<object> votes = new List<object>();
             List<object> votes = new List<object>();
             await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryDefinition: cosmosDbQuery.CosmosQueryDefinition, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Vote-{code}") }))
             await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryDefinition: cosmosDbQuery.CosmosQueryDefinition, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Vote-{code}") }))
             {
             {