增加字段dto数据传输对象,对该角色没有关联的属性是否授权赋值为null

This commit is contained in:
2023-09-27 00:04:37 +08:00
parent 764a77456e
commit b932f6f6a0
3 changed files with 79 additions and 4 deletions
@@ -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<IActionResult> GetFields([FromQuery] string fullName)
public async Task<IActionResult> 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<SysFieldDto>();
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<IActionResult> AddOrUpdateSysRoleField([FromBody] List<SysFieldDto> sysFieldDtos){}
}