暂存字段权限更改
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
using SqlSugar;
|
||||
using ZR.Admin.WebApi.Extensions;
|
||||
using ZR.Admin.WebApi.Filters;
|
||||
using ZR.Model;
|
||||
using ZR.Model.System;
|
||||
using ZR.Service.System.IService;
|
||||
using ZR.ServiceCore.Filters;
|
||||
using ZR.ServiceCore.Model;
|
||||
using ZR.ServiceCore.Model.Dto;
|
||||
|
||||
@@ -34,7 +36,8 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list")]
|
||||
[ActionPermissionFilter(RolePermi = "admin")]
|
||||
// [ActionPermissionFilter(RolePermi = "admin")]
|
||||
[DataFieldFilter(typeof(PagedInfo<ArticleDto>))]
|
||||
public IActionResult Query([FromQuery] ArticleQueryDto parm)
|
||||
{
|
||||
var response = _ArticleService.GetList(parm);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using ZR.Admin.WebApi.Filters;
|
||||
using ZR.ServiceCore.Model;
|
||||
using ZR.ServiceCore.Model.Dto;
|
||||
using ZR.ServiceCore.Services.IService;
|
||||
|
||||
@@ -19,7 +18,7 @@ public class SysFieldController : BaseController
|
||||
}
|
||||
|
||||
[HttpGet("getModelList")]
|
||||
public async Task<IActionResult> GetModelList()
|
||||
public IActionResult GetModelList()
|
||||
{
|
||||
var serviceCoreModels = AppDomain.CurrentDomain
|
||||
.GetAssemblies()
|
||||
@@ -37,98 +36,15 @@ public class SysFieldController : BaseController
|
||||
|
||||
[HttpGet("getFields")]
|
||||
public async Task<IActionResult> GetFields([FromQuery] string fullName, long roleId)
|
||||
{
|
||||
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);
|
||||
}
|
||||
=> SUCCESS(await _sysFieldService.GetFields(fullName, roleId));
|
||||
|
||||
[HttpPost("initFields")]
|
||||
public async Task<IActionResult> InitFields()
|
||||
{
|
||||
var serviceCoreModels = AppDomain.CurrentDomain
|
||||
.GetAssemblies()
|
||||
.First(it => it.FullName.Contains("ZR.ServiceCore"))
|
||||
.ExportedTypes
|
||||
.Where(p => p.FullName.StartsWith("ZR.ServiceCore.Model"))
|
||||
.Select(it => new
|
||||
{
|
||||
FullName = it.FullName,
|
||||
Properties = it.GetProperties().Select(pt => new
|
||||
{
|
||||
FieldName = pt.Name,
|
||||
FieldType = pt.PropertyType.FullName,
|
||||
IsClass = pt.PropertyType.IsClass,
|
||||
IsArray = pt.PropertyType.IsArray,
|
||||
// IsList = pt.PropertyType.IsClass ? pt.DeclaringType.FullName : string.Empty
|
||||
}).ToList()
|
||||
// Properties = it.GetProperties()
|
||||
})
|
||||
.ToList();
|
||||
|
||||
foreach (var serviceCoreModel in serviceCoreModels)
|
||||
{
|
||||
var sysFields = new List<SysField>();
|
||||
foreach (var property in serviceCoreModel.Properties)
|
||||
{
|
||||
var sysField = new SysField
|
||||
{
|
||||
FieldName = property.FieldName,
|
||||
FullName = serviceCoreModel.FullName,
|
||||
FieldType = property.FieldType,
|
||||
IsClass = property.IsClass ? "1" : "0"
|
||||
};
|
||||
sysFields.Add(sysField);
|
||||
}
|
||||
await _sysFieldService.Insertable(sysFields).ExecuteReturnSnowflakeIdListAsync();
|
||||
}
|
||||
=> SUCCESS(await _sysFieldService.InitFields());
|
||||
|
||||
[HttpPut("addOrUpdateSysRoleField/{roleId}")]
|
||||
public async Task<IActionResult> AddOrUpdateSysRoleField([FromBody] List<SysFieldDto> sysFieldDtos,
|
||||
[FromRoute] long roleId)
|
||||
=> SUCCESS(await _sysRoleFieldService.InsertOrUpdateSysRoleField(sysFieldDtos, roleId));
|
||||
|
||||
|
||||
return SUCCESS(serviceCoreModels);
|
||||
}
|
||||
|
||||
public async Task<IActionResult> AddOrUpdateSysRoleField([FromBody] List<SysFieldDto> sysFieldDtos){}
|
||||
}
|
||||
Reference in New Issue
Block a user