feat: 完成查询动态条件筛选,做一个快乐的crud boy
This commit is contained in:
@@ -10,21 +10,9 @@ namespace Yi.RBAC.Application.Contracts.Identity.Dtos
|
|||||||
{
|
{
|
||||||
public class MenuGetListInputVo : PagedAndSortedResultRequestDto
|
public class MenuGetListInputVo : PagedAndSortedResultRequestDto
|
||||||
{
|
{
|
||||||
public long Id { get; set; }
|
|
||||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
public bool? State { get; set; }
|
||||||
public long? CreatorId { get; set; }
|
public string? MenuName { 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; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,8 @@ namespace Yi.RBAC.Application.Contracts.Identity.Dtos
|
|||||||
{
|
{
|
||||||
public class PostGetListInputVo : PagedAndSortedResultRequestDto
|
public class PostGetListInputVo : PagedAndSortedResultRequestDto
|
||||||
{
|
{
|
||||||
public long Id { get; set; }
|
public bool? State { get; set; }
|
||||||
public DateTime CreationTime { get; set; } = DateTime.Now;
|
//public string? PostCode { get; set; }=string.Empty;
|
||||||
public long? CreatorId { get; set; }
|
public string? PostName { get; set; } = string.Empty;
|
||||||
public bool State { get; set; }
|
|
||||||
public string PostCode { get; set; }=string.Empty;
|
|
||||||
public string PostName { get; set; } = string.Empty;
|
|
||||||
public string? Remark { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,15 +8,11 @@ using Yi.RBAC.Domain.Shared.Identity.EnumClasses;
|
|||||||
|
|
||||||
namespace Yi.RBAC.Application.Contracts.Identity.Dtos
|
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? RoleName { get; set; }
|
||||||
public string? RoleCode { get; set; }
|
public string? RoleCode { get; set; }
|
||||||
public string? Remark { get; set; }
|
public bool? State { get; set; }
|
||||||
public DataScopeEnum DataScope { get; set; } = DataScopeEnum.ALL;
|
|
||||||
public bool State { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,15 +7,10 @@ using Yi.Framework.Ddd.Dtos;
|
|||||||
|
|
||||||
namespace Yi.RBAC.Application.Contracts.Setting.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; }
|
||||||
public string ConfigName { get; set; } = string.Empty;
|
public string? ConfigKey { get; set; }
|
||||||
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 DateTime CreationTime { get; set; }
|
public DateTime CreationTime { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Yi.RBAC.Application.Contracts.Identity.Dtos;
|
|||||||
using Yi.RBAC.Domain.Identity.Entities;
|
using Yi.RBAC.Domain.Identity.Entities;
|
||||||
using Yi.Framework.Ddd.Services;
|
using Yi.Framework.Ddd.Services;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
using Yi.Framework.Ddd.Dtos;
|
||||||
|
|
||||||
namespace Yi.RBAC.Application.Identity
|
namespace Yi.RBAC.Application.Identity
|
||||||
{
|
{
|
||||||
@@ -14,6 +15,19 @@ namespace Yi.RBAC.Application.Identity
|
|||||||
public class MenuService : CrudAppService<MenuEntity, MenuGetOutputDto, MenuGetListOutputDto, long, MenuGetListInputVo, MenuCreateInputVo, MenuUpdateInputVo>,
|
public class MenuService : CrudAppService<MenuEntity, MenuGetOutputDto, MenuGetListOutputDto, long, MenuGetListInputVo, MenuCreateInputVo, MenuUpdateInputVo>,
|
||||||
IMenuService, IAutoApiService
|
IMenuService, IAutoApiService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public override async Task<PagedResultDto<MenuGetListOutputDto>> GetListAsync(MenuGetListInputVo input)
|
||||||
|
{
|
||||||
|
var entity = await MapToEntityAsync(input);
|
||||||
|
|
||||||
|
RefAsync<int> 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<MenuGetListOutputDto>(total, await MapToGetListOutputDtosAsync(entities));
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询当前角色的菜单
|
/// 查询当前角色的菜单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -21,7 +35,7 @@ namespace Yi.RBAC.Application.Identity
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<MenuGetListOutputDto>> GetListRoleIdAsync(long roleId)
|
public async Task<List<MenuGetListOutputDto>> GetListRoleIdAsync(long roleId)
|
||||||
{
|
{
|
||||||
var entities= await _DbQueryable.Where(m => SqlFunc.Subqueryable<RoleMenuEntity>().Where(rm => rm.RoleId == roleId && rm.MenuId == m.Id).Any()).ToListAsync();
|
var entities = await _DbQueryable.Where(m => SqlFunc.Subqueryable<RoleMenuEntity>().Where(rm => rm.RoleId == roleId && rm.MenuId == m.Id).Any()).ToListAsync();
|
||||||
|
|
||||||
return await MapToGetListOutputDtosAsync(entities);
|
return await MapToGetListOutputDtosAsync(entities);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ using NET.AutoWebApi.Setting;
|
|||||||
using Yi.RBAC.Application.Contracts.Identity.Dtos;
|
using Yi.RBAC.Application.Contracts.Identity.Dtos;
|
||||||
using Yi.RBAC.Domain.Identity.Entities;
|
using Yi.RBAC.Domain.Identity.Entities;
|
||||||
using Yi.Framework.Ddd.Services;
|
using Yi.Framework.Ddd.Services;
|
||||||
|
using Yi.Framework.Ddd.Dtos;
|
||||||
|
using SqlSugar;
|
||||||
|
using Yi.RBAC.Application.Contracts.Setting.Dtos;
|
||||||
|
|
||||||
namespace Yi.RBAC.Application.Identity
|
namespace Yi.RBAC.Application.Identity
|
||||||
{
|
{
|
||||||
@@ -13,5 +16,16 @@ namespace Yi.RBAC.Application.Identity
|
|||||||
public class PostService : CrudAppService<PostEntity, PostGetOutputDto, PostGetListOutputDto, long, PostGetListInputVo, PostCreateInputVo, PostUpdateInputVo>,
|
public class PostService : CrudAppService<PostEntity, PostGetOutputDto, PostGetListOutputDto, long, PostGetListInputVo, PostCreateInputVo, PostUpdateInputVo>,
|
||||||
IPostService, IAutoApiService
|
IPostService, IAutoApiService
|
||||||
{
|
{
|
||||||
|
public override async Task<PagedResultDto<PostGetListOutputDto>> GetListAsync(PostGetListInputVo input)
|
||||||
|
{
|
||||||
|
var entity = await MapToEntityAsync(input);
|
||||||
|
|
||||||
|
RefAsync<int> 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<PostGetListOutputDto>(total, await MapToGetListOutputDtosAsync(entities));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ using Yi.Framework.Ddd.Services;
|
|||||||
using Yi.RBAC.Domain.Identity;
|
using Yi.RBAC.Domain.Identity;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Yi.Framework.Uow;
|
using Yi.Framework.Uow;
|
||||||
|
using Yi.Framework.Ddd.Dtos;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
namespace Yi.RBAC.Application.Identity
|
namespace Yi.RBAC.Application.Identity
|
||||||
{
|
{
|
||||||
@@ -22,6 +24,20 @@ namespace Yi.RBAC.Application.Identity
|
|||||||
[Autowired]
|
[Autowired]
|
||||||
private IUnitOfWorkManager _unitOfWorkManager { get; set; }
|
private IUnitOfWorkManager _unitOfWorkManager { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public override async Task<PagedResultDto<RoleGetListOutputDto>> GetListAsync(RoleGetListInputVo input)
|
||||||
|
{
|
||||||
|
var entity = await MapToEntityAsync(input);
|
||||||
|
|
||||||
|
RefAsync<int> 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<RoleGetListOutputDto>(total, await MapToGetListOutputDtosAsync(entities));
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加角色
|
/// 添加角色
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ using NET.AutoWebApi.Setting;
|
|||||||
using Yi.RBAC.Application.Contracts.Setting.Dtos;
|
using Yi.RBAC.Application.Contracts.Setting.Dtos;
|
||||||
using Yi.RBAC.Domain.Setting.Entities;
|
using Yi.RBAC.Domain.Setting.Entities;
|
||||||
using Yi.Framework.Ddd.Services;
|
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
|
namespace Yi.RBAC.Application.Setting
|
||||||
{
|
{
|
||||||
@@ -13,5 +17,17 @@ namespace Yi.RBAC.Application.Setting
|
|||||||
public class ConfigService : CrudAppService<ConfigEntity, ConfigGetOutputDto, ConfigGetListOutputDto, long, ConfigGetListInputVo, ConfigCreateInputVo, ConfigUpdateInputVo>,
|
public class ConfigService : CrudAppService<ConfigEntity, ConfigGetOutputDto, ConfigGetListOutputDto, long, ConfigGetListInputVo, ConfigCreateInputVo, ConfigUpdateInputVo>,
|
||||||
IConfigService, IAutoApiService
|
IConfigService, IAutoApiService
|
||||||
{
|
{
|
||||||
|
public override async Task<PagedResultDto<ConfigGetListOutputDto>> GetListAsync(ConfigGetListInputVo input)
|
||||||
|
{
|
||||||
|
var entity = await MapToEntityAsync(input);
|
||||||
|
|
||||||
|
RefAsync<int> 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<ConfigGetListOutputDto>(total, await MapToGetListOutputDtosAsync(entities));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
<el-input v-model="queryParams.roleName" placeholder="请输入角色名称" clearable style="width: 240px"
|
<el-input v-model="queryParams.roleName" placeholder="请输入角色名称" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="权限字符" prop="roleCode">
|
<el-form-item label="角色编号" prop="roleCode">
|
||||||
<el-input v-model="queryParams.roleCode" placeholder="请输入权限字符" clearable style="width: 240px"
|
<el-input v-model="queryParams.roleCode" placeholder="请输入角色编号" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="state">
|
<el-form-item label="状态" prop="state">
|
||||||
|
|||||||
Reference in New Issue
Block a user