From d7a13dda12fdb554dc1ee9f2ce7f642671fa88d2 Mon Sep 17 00:00:00 2001 From: tengge1 <930372551@qq.com> Date: Fri, 25 Oct 2019 21:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=8F=AA=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=9C=AC=E4=BA=BA=E7=9A=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AssetsController.cs | 56 +++++++++++++++---- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/ShadowEditor.Server/Controllers/AssetsController.cs b/ShadowEditor.Server/Controllers/AssetsController.cs index d2203983..752f7bca 100644 --- a/ShadowEditor.Server/Controllers/AssetsController.cs +++ b/ShadowEditor.Server/Controllers/AssetsController.cs @@ -28,18 +28,52 @@ namespace ShadowEditor.Server.Controllers { var mongo = new MongoHelper(); + long sceneCount = 0, meshCount = 0, mapCount = 0, materialCount = 0, audioCount = 0, animationCount = 0, particleCount = 0, + prefabCount = 0, characterCount = 0, screenshotCount = 0, videoCount = 0; + // 获取所有类别 - var sceneCount = mongo.Count(Constant.SceneCollectionName); - var meshCount = mongo.Count(Constant.MeshCollectionName); - var mapCount = mongo.Count(Constant.MapCollectionName); - var materialCount = mongo.Count(Constant.MaterialCollectionName); - var audioCount = mongo.Count(Constant.AudioCollectionName); - var animationCount = mongo.Count(Constant.AnimationCollectionName); - var particleCount = mongo.Count(Constant.ParticleCollectionName); - var prefabCount = mongo.Count(Constant.PrefabCollectionName); - var characterCount = mongo.Count(Constant.CharacterCollectionName); - var screenshotCount = mongo.Count(Constant.ScreenshotCollectionName); - var videoCount = mongo.Count(Constant.VideoCollectionName); + if (ConfigHelper.EnableAuthority) + { + var user = UserHelper.GetCurrentUser(); + + if (user != null) + { + var filter = Builders.Filter.Eq("UserID", user.ID); + + if (user.Name == "Administrator") + { + var filter2 = Builders.Filter.Exists("UserID"); + var filter3 = Builders.Filter.Not(filter2); + filter = Builders.Filter.Or(filter, filter2); + + } + sceneCount = mongo.Count(Constant.SceneCollectionName, filter); + meshCount = mongo.Count(Constant.MeshCollectionName, filter); + mapCount = mongo.Count(Constant.MapCollectionName, filter); + materialCount = mongo.Count(Constant.MaterialCollectionName, filter); + audioCount = mongo.Count(Constant.AudioCollectionName, filter); + animationCount = mongo.Count(Constant.AnimationCollectionName, filter); + particleCount = mongo.Count(Constant.ParticleCollectionName, filter); + prefabCount = mongo.Count(Constant.PrefabCollectionName, filter); + characterCount = mongo.Count(Constant.CharacterCollectionName, filter); + screenshotCount = mongo.Count(Constant.ScreenshotCollectionName, filter); + videoCount = mongo.Count(Constant.VideoCollectionName, filter); + } + } + else + { + sceneCount = mongo.Count(Constant.SceneCollectionName); + meshCount = mongo.Count(Constant.MeshCollectionName); + mapCount = mongo.Count(Constant.MapCollectionName); + materialCount = mongo.Count(Constant.MaterialCollectionName); + audioCount = mongo.Count(Constant.AudioCollectionName); + animationCount = mongo.Count(Constant.AnimationCollectionName); + particleCount = mongo.Count(Constant.ParticleCollectionName); + prefabCount = mongo.Count(Constant.PrefabCollectionName); + characterCount = mongo.Count(Constant.CharacterCollectionName); + screenshotCount = mongo.Count(Constant.ScreenshotCollectionName); + videoCount = mongo.Count(Constant.VideoCollectionName); + } return Json(new {