diff --git a/ZR.Admin.WebApi/Controllers/System/SysFieldController.cs b/ZR.Admin.WebApi/Controllers/System/SysFieldController.cs index 8e24ceb..e1a0abe 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysFieldController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysFieldController.cs @@ -1,5 +1,6 @@ using ZR.Admin.WebApi.Filters; using ZR.ServiceCore.Model; +using ZR.ServiceCore.Model.Dto; using ZR.ServiceCore.Services.IService; namespace ZR.Admin.WebApi.Controllers.System; @@ -9,10 +10,12 @@ namespace ZR.Admin.WebApi.Controllers.System; public class SysFieldController : BaseController { private readonly ISysFieldService _sysFieldService; - - public SysFieldController(ISysFieldService sysFieldService) + private readonly ISysRoleFieldService _sysRoleFieldService; + + public SysFieldController(ISysFieldService sysFieldService, ISysRoleFieldService sysRoleFieldService) { _sysFieldService = sysFieldService; + _sysRoleFieldService = sysRoleFieldService; } [HttpGet("getModelList")] @@ -33,11 +36,53 @@ public class SysFieldController : BaseController } [HttpGet("getFields")] - public async Task GetFields([FromQuery] string fullName) + public async Task GetFields([FromQuery] string fullName, long roleId) { - var list = await _sysFieldService.Queryable() + var fields = await _sysFieldService.Queryable() .Where(it => it.FullName == fullName) .ToListAsync(); + var roleFields = await _sysRoleFieldService + .Queryable() + .Where(it => it.RoleId == roleId) + .Select(it => it.FieldId) + .ToListAsync(); + var list = new List(); + list = fields.Select(it => new SysFieldDto + { + FieldName = it.FieldName, + FieldType = it.FieldType, + FullName = it.FullName, + Id = it.Id, + IsClass = it.IsClass, + IsPermission = roleFields.Contains(it.Id) + }).ToList(); + // fields.ForEach(it => + // { + // if (it.Id != 0 && roleFields.Contains(it.Id)) + // { + // list.Add(new SysFieldDto + // { + // FieldName = it.FieldName, + // FieldType = it.FieldType, + // FullName = it.FullName, + // Id = it.Id, + // IsClass = it.IsClass, + // IsPermission = true + // }); + // } + // else + // { + // list.Add(new SysFieldDto + // { + // FieldName = it.FieldName, + // FieldType = it.FieldType, + // FullName = it.FullName, + // Id = it.Id, + // IsClass = it.IsClass, + // IsPermission = false + // }); + // } + // }); return SUCCESS(list); } @@ -84,4 +129,6 @@ public class SysFieldController : BaseController return SUCCESS(serviceCoreModels); } + + public async Task AddOrUpdateSysRoleField([FromBody] List sysFieldDtos){} } \ No newline at end of file diff --git a/ZR.ServiceCore/Model/Dto/SysFieldDto.cs b/ZR.ServiceCore/Model/Dto/SysFieldDto.cs new file mode 100644 index 0000000..c535524 --- /dev/null +++ b/ZR.ServiceCore/Model/Dto/SysFieldDto.cs @@ -0,0 +1,17 @@ +namespace ZR.ServiceCore.Model.Dto; + +public class SysFieldDto +{ + [JsonConverter(typeof(ValueToStringConverter))] + public long Id { get; set; } + + public string FieldName { get; set; } + + public string FullName { get; set; } + + public string FieldType { get; set; } + + public string IsClass { get; set; } + + public bool IsPermission { get; set; } +} \ No newline at end of file diff --git a/ZR.ServiceCore/Services/SysRoleFieldService.cs b/ZR.ServiceCore/Services/SysRoleFieldService.cs new file mode 100644 index 0000000..6eeebd3 --- /dev/null +++ b/ZR.ServiceCore/Services/SysRoleFieldService.cs @@ -0,0 +1,11 @@ +using Infrastructure.Attribute; +using ZR.Service; +using ZR.ServiceCore.Model; +using ZR.ServiceCore.Services.IService; + +namespace ZR.ServiceCore.Services; +[AppService(ServiceType = typeof(ISysRoleFieldService), ServiceLifetime = LifeTime.Transient)] +public class SysRoleFieldService : BaseService, ISysRoleFieldService +{ + +} \ No newline at end of file