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));
}
}
}