using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Yi.Framework.Common.Models; using Yi.Framework.DTOModel; using Yi.Framework.Interface; using Yi.Framework.Model.Models; using Yi.Framework.Repository; using Yi.Framework.Service; using Yi.Framework.WebCore; using Yi.Framework.WebCore.AttributeExtend; using Yi.Framework.WebCore.AuthorizationPolicy; namespace Yi.Framework.ApiMicroservice.Controllers { /// /// 角色管理 /// [ApiController] [Route("api/[controller]/[action]")] public class RoleController : BaseSimpleRdController { private IRoleService _iRoleService; public RoleController(ILogger logger, IRoleService iRoleService) : base(logger, iRoleService) { _iRoleService = iRoleService; } /// /// 动态条件分页查询 /// /// [HttpGet] public async Task PageList([FromQuery] RoleEntity role, [FromQuery] PageParModel page) { return Result.Success().SetData(await _iRoleService.SelctPageList(role, page)); } /// /// 给多用户设置多角色 /// /// /// [HttpPut] public async Task GiveRoleSetMenu(GiveRoleSetMenuDto giveRoleSetMenuDto) { return Result.Success().SetStatus(await _iRoleService.GiveRoleSetMenu(giveRoleSetMenuDto.RoleIds, giveRoleSetMenuDto.MenuIds)); } /// /// 添加角色包含菜单 /// /// /// [HttpPost] public async Task Add(RoleInfoDto roleDto) { return Result.Success().SetData(await _iRoleService.AddInfo(roleDto)); } /// /// 更新角色信息 /// /// [HttpPut] public async Task Update(RoleInfoDto roleDto) { return Result.Success().SetStatus(await _iRoleService.UpdateInfo(roleDto)); } /// /// 更改角色状态 /// /// /// /// [HttpPut] public async Task UpdateStatus(long roleId, bool isDel) { return Result.Success().SetData(await _iRoleService._repository.UpdateIgnoreNullAsync(new RoleEntity() { Id = roleId, IsDeleted = isDel })); } /// ///更改角色数据权限 /// /// [HttpPut] public async Task UpdateDataScpoce(RoleInfoDto roleDto) { return Result.Success().SetStatus(await _iRoleService.UpdateDataScpoce(roleDto)); } } }