From 1f33204697cd002b49d2489958ffd8f2c7280704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Sun, 19 Feb 2023 17:18:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=9D=A1=E4=BB=B6=E7=AD=9B=E9=80=89=EF=BC=8C?= =?UTF-8?q?=E5=81=9A=E4=B8=80=E4=B8=AA=E5=BF=AB=E4=B9=90=E7=9A=84crud=20bo?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Identity/Dtos/Menu/MenuGetListInputVo.cs | 20 ++++--------------- .../Identity/Dtos/Post/PostGetListInputVo.cs | 10 +++------- .../Identity/Dtos/Role/RoleGetListInputVo.cs | 10 +++------- .../Dtos/Config/ConfigGetListInputVo.cs | 11 +++------- .../Identity/MenuService.cs | 16 ++++++++++++++- .../Identity/PostService.cs | 14 +++++++++++++ .../Identity/RoleService.cs | 16 +++++++++++++++ .../Setting/ConfigService.cs | 16 +++++++++++++++ Yi.RuoYi.Vue3/src/views/system/role/index.vue | 4 ++-- 9 files changed, 76 insertions(+), 41 deletions(-) diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Menu/MenuGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Menu/MenuGetListInputVo.cs index 064c93e6..31a42e8e 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Menu/MenuGetListInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Menu/MenuGetListInputVo.cs @@ -10,21 +10,9 @@ namespace Yi.RBAC.Application.Contracts.Identity.Dtos { public class MenuGetListInputVo : PagedAndSortedResultRequestDto { - public long Id { get; set; } - public DateTime CreationTime { get; set; } = DateTime.Now; - public long? CreatorId { get; set; } - public bool State { get; set; } - public string MenuName { get; set; } = string.Empty; - public MenuTypeEnum MenuType { get; set; } = MenuTypeEnum.Menu; - public string? PermissionCode { get; set; } - public long ParentId { get; set; } - public string? MenuIcon { get; set; } - public string? Router { get; set; } - public bool IsLink { get; set; } - public bool IsCache { get; set; } - public bool IsShow { get; set; } = true; - public string? Remark { get; set; } - public string? Component { get; set; } - public string? Query { get; set; } + + public bool? State { get; set; } + public string? MenuName { get; set; } + } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Post/PostGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Post/PostGetListInputVo.cs index 9f492827..94741ff2 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Post/PostGetListInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Post/PostGetListInputVo.cs @@ -9,12 +9,8 @@ namespace Yi.RBAC.Application.Contracts.Identity.Dtos { public class PostGetListInputVo : PagedAndSortedResultRequestDto { - public long Id { get; set; } - public DateTime CreationTime { get; set; } = DateTime.Now; - public long? CreatorId { get; set; } - public bool State { get; set; } - public string PostCode { get; set; }=string.Empty; - public string PostName { get; set; } = string.Empty; - public string? Remark { get; set; } + public bool? State { get; set; } + //public string? PostCode { get; set; }=string.Empty; + public string? PostName { get; set; } = string.Empty; } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Role/RoleGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Role/RoleGetListInputVo.cs index b44b9546..36189532 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Role/RoleGetListInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Identity/Dtos/Role/RoleGetListInputVo.cs @@ -8,15 +8,11 @@ using Yi.RBAC.Domain.Shared.Identity.EnumClasses; namespace Yi.RBAC.Application.Contracts.Identity.Dtos { - public class RoleGetListInputVo : PagedAndSortedResultRequestDto + public class RoleGetListInputVo : PagedAllResultRequestDto { - public long Id { get; set; } - public DateTime CreationTime { get; set; } = DateTime.Now; - public long? CreatorId { get; set; } public string? RoleName { get; set; } public string? RoleCode { get; set; } - public string? Remark { get; set; } - public DataScopeEnum DataScope { get; set; } = DataScopeEnum.ALL; - public bool State { get; set; } + public bool? State { get; set; } + } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs index a8943fb4..4d1c0a30 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application.Contracts/Setting/Dtos/Config/ConfigGetListInputVo.cs @@ -7,15 +7,10 @@ using Yi.Framework.Ddd.Dtos; namespace Yi.RBAC.Application.Contracts.Setting.Dtos { - public class ConfigGetListInputVo : PagedAndSortedResultRequestDto + public class ConfigGetListInputVo : PagedAllResultRequestDto { - public long Id { get; set; } - public string ConfigName { get; set; } = string.Empty; - public string ConfigKey { get; set; } = string.Empty; - public string ConfigValue { get; set; } = string.Empty; - public string? ConfigType { get; set; } - public int OrderNum { get; set; } - public string? Remark { get; set; } + public string? ConfigName { get; set; } + public string? ConfigKey { get; set; } public DateTime CreationTime { get; set; } } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs index 6061e0bc..1fa8d6ab 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/MenuService.cs @@ -4,6 +4,7 @@ using Yi.RBAC.Application.Contracts.Identity.Dtos; using Yi.RBAC.Domain.Identity.Entities; using Yi.Framework.Ddd.Services; using SqlSugar; +using Yi.Framework.Ddd.Dtos; namespace Yi.RBAC.Application.Identity { @@ -14,6 +15,19 @@ namespace Yi.RBAC.Application.Identity public class MenuService : CrudAppService, IMenuService, IAutoApiService { + + public override async Task> GetListAsync(MenuGetListInputVo input) + { + var entity = await MapToEntityAsync(input); + + RefAsync total = 0; + + var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.MenuName), x => x.MenuName.Contains(input.MenuName!)) + .WhereIF(input.State is not null, x => x.State == input.State) + .ToPageListAsync(input.PageNum, input.PageSize, total); + return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); + } + /// /// 查询当前角色的菜单 /// @@ -21,7 +35,7 @@ namespace Yi.RBAC.Application.Identity /// public async Task> GetListRoleIdAsync(long roleId) { - var entities= await _DbQueryable.Where(m => SqlFunc.Subqueryable().Where(rm => rm.RoleId == roleId && rm.MenuId == m.Id).Any()).ToListAsync(); + var entities = await _DbQueryable.Where(m => SqlFunc.Subqueryable().Where(rm => rm.RoleId == roleId && rm.MenuId == m.Id).Any()).ToListAsync(); return await MapToGetListOutputDtosAsync(entities); } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs index a7685e3a..f2ce0baa 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/PostService.cs @@ -3,6 +3,9 @@ using NET.AutoWebApi.Setting; using Yi.RBAC.Application.Contracts.Identity.Dtos; using Yi.RBAC.Domain.Identity.Entities; using Yi.Framework.Ddd.Services; +using Yi.Framework.Ddd.Dtos; +using SqlSugar; +using Yi.RBAC.Application.Contracts.Setting.Dtos; namespace Yi.RBAC.Application.Identity { @@ -13,5 +16,16 @@ namespace Yi.RBAC.Application.Identity public class PostService : CrudAppService, IPostService, IAutoApiService { + public override async Task> GetListAsync(PostGetListInputVo input) + { + var entity = await MapToEntityAsync(input); + + RefAsync total = 0; + + var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.PostName), x => x.PostName.Contains(input.PostName!)) + .WhereIF(input.State is not null, x => x.State == input.State) + .ToPageListAsync(input.PageNum, input.PageSize, total); + return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); + } } } diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs index 5c453ef7..0f30eb53 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/RoleService.cs @@ -6,6 +6,8 @@ using Yi.Framework.Ddd.Services; using Yi.RBAC.Domain.Identity; using Microsoft.AspNetCore.Identity; using Yi.Framework.Uow; +using Yi.Framework.Ddd.Dtos; +using SqlSugar; namespace Yi.RBAC.Application.Identity { @@ -22,6 +24,20 @@ namespace Yi.RBAC.Application.Identity [Autowired] private IUnitOfWorkManager _unitOfWorkManager { get; set; } + + public override async Task> GetListAsync(RoleGetListInputVo input) + { + var entity = await MapToEntityAsync(input); + + RefAsync total = 0; + + var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.RoleCode), x => x.RoleCode.Contains(input.RoleCode!)) + .WhereIF(!string.IsNullOrEmpty(input.RoleName), x => x.RoleName.Contains(input.RoleName!)) + .WhereIF(input.State is not null, x => x.State == input.State) + .ToPageListAsync(input.PageNum, input.PageSize, total); + return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); + } + /// /// 添加角色 /// diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs index 294c9dc5..5a3f3a29 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Setting/ConfigService.cs @@ -3,6 +3,10 @@ using NET.AutoWebApi.Setting; using Yi.RBAC.Application.Contracts.Setting.Dtos; using Yi.RBAC.Domain.Setting.Entities; using Yi.Framework.Ddd.Services; +using Yi.Framework.Ddd.Dtos; +using SqlSugar; +using Yi.RBAC.Application.Contracts.Identity.Dtos; +using Yi.RBAC.Domain.Identity.Entities; namespace Yi.RBAC.Application.Setting { @@ -13,5 +17,17 @@ namespace Yi.RBAC.Application.Setting public class ConfigService : CrudAppService, IConfigService, IAutoApiService { + public override async Task> GetListAsync(ConfigGetListInputVo input) + { + var entity = await MapToEntityAsync(input); + + RefAsync total = 0; + + var entities = await _DbQueryable.WhereIF(!string.IsNullOrEmpty(input.ConfigKey), x => x.ConfigKey.Contains(input.ConfigKey!)) + .WhereIF(!string.IsNullOrEmpty(input.ConfigName), x => x.ConfigName!.Contains(input.ConfigName!)) + .WhereIF(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime) + .ToPageListAsync(input.PageNum, input.PageSize, total); + return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); + } } } diff --git a/Yi.RuoYi.Vue3/src/views/system/role/index.vue b/Yi.RuoYi.Vue3/src/views/system/role/index.vue index 3f54810d..3afdeab1 100644 --- a/Yi.RuoYi.Vue3/src/views/system/role/index.vue +++ b/Yi.RuoYi.Vue3/src/views/system/role/index.vue @@ -5,8 +5,8 @@ - - +