Jelajahi Sumber

Redis DB號設為全局變數

jeff 4 tahun lalu
induk
melakukan
e9c2e22449
1 mengubah file dengan 7 tambahan dan 6 penghapusan
  1. 7 6
      TEAMModelOS/Controllers/School/SchoolController.cs

+ 7 - 6
TEAMModelOS/Controllers/School/SchoolController.cs

@@ -38,6 +38,7 @@ namespace TEAMModelOS.Controllers
         private readonly Option _option;
         int baseSpaceSize = 1; //學校保底空間大小(1G)
         private readonly double bytes = 1073741824;
+        private readonly int redisAclassoneDbNum = 8; //AclassOne Redis DB號
 
         public SchoolController(AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot<Option> option)
         {
@@ -760,7 +761,7 @@ namespace TEAMModelOS.Controllers
             {
                 int result = 0;
                 string key = schoolCode + ":" + "AclassOne" + ":" + "dynamic";
-                var redisClient = _azureRedis.GetRedisClient(8);
+                var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);
                 var dyncount = redisClient.StringGet(key);
                 if (redisClient.KeyExists(key))
                 {
@@ -779,7 +780,7 @@ namespace TEAMModelOS.Controllers
         public List<string> GetSchoolDynamicAclassOneIDList(string schoolCode)
         {
             string key = schoolCode + ":" + "AclassOne" + ":" + "dynamicIds";
-            var redisClient = _azureRedis.GetRedisClient(8);
+            var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);
             RedisValue[] redisResult = redisClient.SetMembers(key);
             List<string> result = Array.ConvertAll(redisResult, x => (string)x).ToList();
             return result;
@@ -788,7 +789,7 @@ namespace TEAMModelOS.Controllers
         public long GetSchoolDynamicAclassOneIDCount(string schoolCode)
         {
             string key = schoolCode + ":" + "AclassOne" + ":" + "dynamicIds";
-            var redisClient = _azureRedis.GetRedisClient(8);
+            var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);
             long result = redisClient.SetLength(key);
             return result;
         }
@@ -802,7 +803,7 @@ namespace TEAMModelOS.Controllers
         {
             if (!request.TryGetProperty("school_code", out JsonElement school_code)) return BadRequest();
             request.TryGetProperty("student_id", out JsonElement student_id);
-            var redisClient = _azureRedis.GetRedisClient(8);
+            var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);
             string key1 = school_code + ":" + "AclassOne" + ":" + "dynamicIds";
             RedisValue[] redisIdsOriginal = redisClient.SetMembers(key1);
             var resultIdsOriginal = Array.ConvertAll(redisIdsOriginal, x => (string)x).ToList();
@@ -874,7 +875,7 @@ namespace TEAMModelOS.Controllers
                                 //STEP3更新Redis.hbcn:AclassOne:dynamic ※註:只更新動態ID可用數,不更動動態ID列表,所以若可用數為0,當天被動態分配到的學生仍可使用至今日0時才會被清掉
                                 int dynamicAclassCount = totalInDB - studentIds.Count; //動態可使用數
                                 dyncNum = (int)GetSchoolDynamicAclassOneIDCount(school_code.GetString()); //動態ID已使用數
-                                var redisClient = _azureRedis.GetRedisClient(8);                        
+                                var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);                        
                                 string keys = school_code.GetString() + ":" + "AclassOne" + ":" + "dynamic";
                                 int updDynAclassCount = (dynamicAclassCount - dyncNum > 0) ? dynamicAclassCount - dyncNum : 0;
                                 redisClient.StringSet(keys, updDynAclassCount);
@@ -924,7 +925,7 @@ namespace TEAMModelOS.Controllers
             }
             int status = 0;
             string err = "";
-            var redisClient = _azureRedis.GetRedisClient(8);
+            var redisClient = _azureRedis.GetRedisClient(redisAclassoneDbNum);
             string keys = school_code.GetString() + ":" + "AclassOne" + ":" + "dynamic";
             string keyd = school_code.GetString() + ":" + "AclassOne" + ":" + "dynamicIds";
             var clientContainer = _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "School");