Browse Source

权限调整

denny 8 months ago
parent
commit
2f9cef726e
2 changed files with 35 additions and 0 deletions
  1. 21 0
      src/Service/DatabaseService.cs
  2. 14 0
      src/Service/UserDBService.cs

+ 21 - 0
src/Service/DatabaseService.cs

@@ -790,7 +790,28 @@ namespace WingMongoDBModule.Service
                     Logger.WriteLineInfo($"mongoDB upgrade failed, now the version is 2.0, error:{ex}");
                 }
             }
+            if (Convert.ToDouble(currentVersion) < 2.1d)//升级DB版本 
+            {
+                try
+                { //以下更新数据库版本号时升级具体内容
+                    Logger.WriteLineInfo($"mongoDB is upgrading from 2.0 to 2.1, please wait.");
 
+                    await DeleteTwoUserFeatureForResearchProjectDBAsync();
+                    //更新版本
+                    var isSuccess = await UpgradeToV11.DoUpgradeAsync();
+                    if (isSuccess)
+                    {
+                        //注:下次正式线上发布需要升级DB版本号
+                        SetNewDBVersion("2.1").Wait();
+                        currentVersion = "2.1";
+                    }
+                    Logger.WriteLineInfo($"mongoDB upgrade successful, now the version is 2.1");
+                }
+                catch (Exception ex)
+                {
+                    Logger.WriteLineInfo($"mongoDB upgrade failed, now the version is 2.1, error:{ex}");
+                }
+            }
         }
         /// <summary>
         /// 获取当前DB版本

+ 14 - 0
src/Service/UserDBService.cs

@@ -5450,5 +5450,19 @@ namespace WingMongoDBModule.Service
                 return res;
             }
         }
+
+        /// <summary>
+        /// 删除科研版权限-时间轴/系统管理权限
+        /// </summary>
+        /// <returns>是否成功</returns>
+        private async Task<bool> DeleteTwoUserFeatureForResearchProjectDBAsync()
+        {
+            using (new Performance(_performanceThreshold, "{0} DeleteTwoUserFeatureForResearchProjectDBAsync execute", $"{this.GetType().Name}"))
+            {
+                var res = await _userFeatureDBRepository.DeleteOneAsync("Code", "RRTimeAxis");
+                await _userFeatureDBRepository.DeleteOneAsync("Code", "SystemManagementAuthority");
+                return res;
+            }
+        }
     }
 }