From a575eedf8be40e58bb359ab9362d44f6bf7c79fa Mon Sep 17 00:00:00 2001 From: anjoy8 <3143422472@qq.com> Date: Tue, 19 Feb 2019 19:18:44 +0800 Subject: [PATCH] vue.admin : add permission repository&service --- .../IModulePermissionRepository.cs | 9 ++++++ .../IPermissionRepository.cs | 10 +++++++ .../IModulePermissionServices.cs | 9 ++++++ Blog.Core.IServices/IPermissionServices.cs | 8 +++++ Blog.Core.Model/Models/Permission.cs | 26 +++++++++++----- Blog.Core.Model/Seed/DBSeed.cs | 6 ++-- .../ModulePermissionRepository.cs | 15 ++++++++++ Blog.Core.Repository/PermissionRepository.cs | 15 ++++++++++ .../ModulePermissionServices.cs | 22 ++++++++++++++ Blog.Core.Services/PermissionServices.cs | 22 ++++++++++++++ Blog.Core/Blog.Core.Model.xml | 30 ++++++++++++------- 11 files changed, 153 insertions(+), 19 deletions(-) create mode 100644 Blog.Core.IRepository/IModulePermissionRepository.cs create mode 100644 Blog.Core.IRepository/IPermissionRepository.cs create mode 100644 Blog.Core.IServices/IModulePermissionServices.cs create mode 100644 Blog.Core.IServices/IPermissionServices.cs create mode 100644 Blog.Core.Repository/ModulePermissionRepository.cs create mode 100644 Blog.Core.Repository/PermissionRepository.cs create mode 100644 Blog.Core.Services/ModulePermissionServices.cs create mode 100644 Blog.Core.Services/PermissionServices.cs diff --git a/Blog.Core.IRepository/IModulePermissionRepository.cs b/Blog.Core.IRepository/IModulePermissionRepository.cs new file mode 100644 index 0000000..93adeaf --- /dev/null +++ b/Blog.Core.IRepository/IModulePermissionRepository.cs @@ -0,0 +1,9 @@ +namespace Blog.Core.IRepository +{ + using Blog.Core.IRepository.Base; + using Blog.Core.Model.Models; + + public partial interface IModulePermissionRepository : IBaseRepository//类名 + { + } +} \ No newline at end of file diff --git a/Blog.Core.IRepository/IPermissionRepository.cs b/Blog.Core.IRepository/IPermissionRepository.cs new file mode 100644 index 0000000..9d46a3c --- /dev/null +++ b/Blog.Core.IRepository/IPermissionRepository.cs @@ -0,0 +1,10 @@ + +using Blog.Core.IRepository.Base; +using Blog.Core.Model.Models; + +namespace Blog.Core.IRepository +{ + public partial interface IPermissionRepository : IBaseRepository + { + } +} \ No newline at end of file diff --git a/Blog.Core.IServices/IModulePermissionServices.cs b/Blog.Core.IServices/IModulePermissionServices.cs new file mode 100644 index 0000000..a0adcb0 --- /dev/null +++ b/Blog.Core.IServices/IModulePermissionServices.cs @@ -0,0 +1,9 @@ +using Blog.Core.IServices.BASE; +using Blog.Core.Model.Models; + +namespace Blog.Core.IServices +{ + public partial interface IModulePermissionServices : IBaseServices + { + } +} \ No newline at end of file diff --git a/Blog.Core.IServices/IPermissionServices.cs b/Blog.Core.IServices/IPermissionServices.cs new file mode 100644 index 0000000..add45db --- /dev/null +++ b/Blog.Core.IServices/IPermissionServices.cs @@ -0,0 +1,8 @@ +using Blog.Core.IServices.BASE; +using Blog.Core.Model.Models; +namespace Blog.Core.IServices +{ + public partial interface IPermissionServices : IBaseServices + { + } +} \ No newline at end of file diff --git a/Blog.Core.Model/Models/Permission.cs b/Blog.Core.Model/Models/Permission.cs index e96e5cb..4d0a66d 100644 --- a/Blog.Core.Model/Models/Permission.cs +++ b/Blog.Core.Model/Models/Permission.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace Blog.Core.Model.Models { /// - /// 按钮表 + /// 路由菜单表 /// public class Permission : RootEntity { @@ -18,21 +18,27 @@ namespace Blog.Core.Model.Models //this.RoleModulePermission = new List(); } - /// - ///获取或设置是否禁用,逻辑上的删除,非物理删除 - /// - [SugarColumn(IsNullable = true)] - public bool? IsDeleted { get; set; } /// /// 菜单执行Action名 /// [SugarColumn(Length = 50, IsNullable = true)] public string Code { get; set; } /// - /// 菜单名 + /// 菜单显示名(如用户页、编辑(按钮)、删除(按钮)) /// [SugarColumn(Length = 50, IsNullable = true)] public string Name { get; set; } + /// + /// 是否是按钮 + /// + public bool IsButton { get; set; } = false; + + /// + /// 上一级菜单(0表示上一级无菜单) + /// + public int Pid { get; set; } + + /// /// 排序 /// @@ -82,6 +88,12 @@ namespace Blog.Core.Model.Models [SugarColumn(IsNullable = true)] public DateTime? ModifyTime { get; set; } + /// + ///获取或设置是否禁用,逻辑上的删除,非物理删除 + /// + [SugarColumn(IsNullable = true)] + public bool? IsDeleted { get; set; } + //public virtual ICollection ModulePermission { get; set; } //public virtual ICollection RoleModulePermission { get; set; } } diff --git a/Blog.Core.Model/Seed/DBSeed.cs b/Blog.Core.Model/Seed/DBSeed.cs index 5e4a30a..a337631 100644 --- a/Blog.Core.Model/Seed/DBSeed.cs +++ b/Blog.Core.Model/Seed/DBSeed.cs @@ -20,9 +20,11 @@ namespace Blog.Core.Model.Models // 注意!一定要手动先创建要给空的数据库 // 会覆盖,可以设置为true,来备份数据 // 如果生成过了,第二次,就不用再执行一遍了,注释掉该方法即可 - myContext.CreateTableByEntity(false, typeof(Advertisement), typeof(BlogArticle), typeof(Guestbook), typeof(Module), typeof(ModulePermission), typeof(OperateLog), typeof(PasswordLib), typeof(Permission), typeof(Role), typeof(RoleModulePermission), typeof(sysUserInfo), typeof(Topic), typeof(TopicDetail), typeof(UserRole)); + //myContext.CreateTableByEntity(false, typeof(Advertisement), typeof(BlogArticle), typeof(Guestbook), typeof(Module), typeof(ModulePermission), typeof(OperateLog), typeof(PasswordLib), typeof(Permission), typeof(Role), typeof(RoleModulePermission), typeof(sysUserInfo), typeof(Topic), typeof(TopicDetail), typeof(UserRole)); - //myContext.Db.CodeFirst.InitTables(typeof(sysUserInfo)); // 后期单独处理某些表 + // 后期单独处理某些表 + //myContext.Db.CodeFirst.InitTables(typeof(sysUserInfo)); + //myContext.Db.CodeFirst.InitTables(typeof(Permission)); #region Advertisement diff --git a/Blog.Core.Repository/ModulePermissionRepository.cs b/Blog.Core.Repository/ModulePermissionRepository.cs new file mode 100644 index 0000000..9f1eb7c --- /dev/null +++ b/Blog.Core.Repository/ModulePermissionRepository.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Blog.Core.IRepository; +using Blog.Core.Model.Models; +using Blog.Core.Repository.Base; + +namespace Blog.Core.Repository +{ + public class ModulePermissionRepository : BaseRepository, IModulePermissionRepository + { + } +} diff --git a/Blog.Core.Repository/PermissionRepository.cs b/Blog.Core.Repository/PermissionRepository.cs new file mode 100644 index 0000000..15c100d --- /dev/null +++ b/Blog.Core.Repository/PermissionRepository.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Blog.Core.IRepository; +using Blog.Core.Model.Models; +using Blog.Core.Repository.Base; + +namespace Blog.Core.Repository +{ + public class PermissionRepository : BaseRepository, IPermissionRepository + { + } +} diff --git a/Blog.Core.Services/ModulePermissionServices.cs b/Blog.Core.Services/ModulePermissionServices.cs new file mode 100644 index 0000000..7615b1d --- /dev/null +++ b/Blog.Core.Services/ModulePermissionServices.cs @@ -0,0 +1,22 @@ +using Blog.Core.Services.BASE; +using Blog.Core.Model.Models; +using Blog.Core.IRepository; +using Blog.Core.IServices; + +namespace Blog.Core.Services +{ + /// + /// ModulePermissionServices + /// + public class ModulePermissionServices : BaseServices, IModulePermissionServices + { + + IModulePermissionRepository dal; + public ModulePermissionServices(IModulePermissionRepository dal) + { + this.dal = dal; + base.baseDal = dal; + } + + } +} diff --git a/Blog.Core.Services/PermissionServices.cs b/Blog.Core.Services/PermissionServices.cs new file mode 100644 index 0000000..296c1b2 --- /dev/null +++ b/Blog.Core.Services/PermissionServices.cs @@ -0,0 +1,22 @@ +using Blog.Core.Services.BASE; +using Blog.Core.Model.Models; +using Blog.Core.IRepository; +using Blog.Core.IServices; + +namespace Blog.Core.Services +{ + /// + /// PermissionServices + /// + public class PermissionServices : BaseServices, IPermissionServices + { + + IPermissionRepository dal; + public PermissionServices(IPermissionRepository dal) + { + this.dal = dal; + base.baseDal = dal; + } + + } +} diff --git a/Blog.Core/Blog.Core.Model.xml b/Blog.Core/Blog.Core.Model.xml index 5564bf9..817b134 100644 --- a/Blog.Core/Blog.Core.Model.xml +++ b/Blog.Core/Blog.Core.Model.xml @@ -69,7 +69,7 @@ 创建时间 - + 主键 @@ -373,14 +373,9 @@ - 按钮表 + 路由菜单表 - - - 获取或设置是否禁用,逻辑上的删除,非物理删除 - - 菜单执行Action名 @@ -388,7 +383,17 @@ - 菜单名 + 菜单显示名(如用户页、编辑(按钮)、删除(按钮)) + + + + + 是否是按钮 + + + + + 上一级菜单(0表示上一级无菜单) @@ -441,6 +446,11 @@ 修改时间 + + + 获取或设置是否禁用,逻辑上的删除,非物理删除 + + 角色表 @@ -616,8 +626,8 @@ 登录账号 - - + + 用户跟角色关联表