From bb5a49abd1e9a26d765ffa2ae3c273f11c597301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9B=9B=E5=B0=91=E7=88=B7?= Date: Wed, 3 May 2017 15:29:55 +0800 Subject: [PATCH] check issue #38 check issue #39 check issue #36 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 四少爷 --- OpenAuth.App/AuthorizeApp.cs | 2 +- OpenAuth.App/CategoryManagerApp.cs | 14 +++++++++++++- OpenAuth.App/OrgManagerApp.cs | 15 ++++++++++++++- OpenAuth.Domain/Service/ModuleManService.cs | 19 ++++++++++++++----- 建表&初始化数据.sql | Bin 248962 -> 249316 bytes 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/OpenAuth.App/AuthorizeApp.cs b/OpenAuth.App/AuthorizeApp.cs index 67e862c8..ecfaabfc 100644 --- a/OpenAuth.App/AuthorizeApp.cs +++ b/OpenAuth.App/AuthorizeApp.cs @@ -25,7 +25,7 @@ namespace OpenAuth.App { User = service.User, Orgs = service.Orgs, - Modules = service.Modules.MapToList(), + Modules = service.Modules.OrderBy(u => u.SortNo).ToList().MapToList(), Resources = service.Resources, Roles = service.Roles }; diff --git a/OpenAuth.App/CategoryManagerApp.cs b/OpenAuth.App/CategoryManagerApp.cs index 6f6e521a..3250caad 100644 --- a/OpenAuth.App/CategoryManagerApp.cs +++ b/OpenAuth.App/CategoryManagerApp.cs @@ -115,7 +115,19 @@ namespace OpenAuth.App } else { + //获取旧的的CascadeId + var CascadeId = _repository.FindSingle(o => o.Id == category.Id).CascadeId; + //根据CascadeId查询子分类 + var categorys = _repository.Find(u => u.CascadeId.Contains(CascadeId) && u.Id != category.Id).OrderBy(u => u.CascadeId).ToList(); + _repository.Update(category); + + //更新子分类的CascadeId + foreach (var a in categorys) + { + ChangeModuleCascade(a); + _repository.Update(a); + } } } @@ -147,7 +159,7 @@ namespace OpenAuth.App } else { - cascadeId = "0." + currentCascadeId +"."; + cascadeId = ".0." + currentCascadeId +"."; } org.CascadeId = cascadeId; diff --git a/OpenAuth.App/OrgManagerApp.cs b/OpenAuth.App/OrgManagerApp.cs index 5d60cdce..1e1c7aab 100644 --- a/OpenAuth.App/OrgManagerApp.cs +++ b/OpenAuth.App/OrgManagerApp.cs @@ -66,7 +66,20 @@ namespace OpenAuth.App } else { + //获取旧的的CascadeId + var CascadeId = _repository.FindSingle(o => o.Id == org.Id).CascadeId; + //根据CascadeId查询子部门 + var orgs = _repository.Find(u => u.CascadeId.Contains(CascadeId) && u.Id != org.Id).OrderBy(u => u.CascadeId).ToList(); + + //更新操作 _repository.Update(org); + + //更新子部门的CascadeId + foreach (var a in orgs) + { + ChangeModuleCascade(a); + _repository.Update(a); + } } return org.Id; @@ -150,7 +163,7 @@ namespace OpenAuth.App } else { - cascadeId = "0." + currentCascadeId+"."; + cascadeId = ".0." + currentCascadeId+"."; org.ParentName = "根节点"; } diff --git a/OpenAuth.Domain/Service/ModuleManService.cs b/OpenAuth.Domain/Service/ModuleManService.cs index cb9428d0..7fc7bd0a 100644 --- a/OpenAuth.Domain/Service/ModuleManService.cs +++ b/OpenAuth.Domain/Service/ModuleManService.cs @@ -75,17 +75,26 @@ namespace OpenAuth.Domain.Service public void AddOrUpdate(Module model) { - + ChangeModuleCascade(model); if (model.Id == Guid.Empty) { - ChangeModuleCascade(model); _repository.Add(model); } else { - //从数据库获取级联ID - model.CascadeId = _repository.FindSingle(o => o.Id == model.Id).CascadeId; + //获取旧的的CascadeId + var CascadeId = _repository.FindSingle(o => o.Id == model.Id).CascadeId; + //根据CascadeId查询子部门 + var models = _repository.Find(u => u.CascadeId.Contains(CascadeId) && u.Id != model.Id).OrderBy(u => u.CascadeId).ToList(); + _repository.Update(model); + + //更新子部门的CascadeId + foreach (var a in models) + { + ChangeModuleCascade(a); + _repository.Update(a); + } } } @@ -171,7 +180,7 @@ namespace OpenAuth.Domain.Service } else { - cascadeId = "0." + currentCascadeId +"."; + cascadeId = ".0." + currentCascadeId +"."; module.ParentName = "根节点"; } diff --git a/建表&初始化数据.sql b/建表&初始化数据.sql index a12487557ff09add2d2eb7f1374991ae0f337090..245cae9edaf4f722f4e249729413708df3e422f5 100644 GIT binary patch delta 5675 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