111 lines
3.4 KiB
C#
111 lines
3.4 KiB
C#
using Dlhis.Basic.Device.Dtos;
|
|
using Dlhis.Basic.Device.Filters;
|
|
using Dlhis.Basic.Device.Request;
|
|
using Dlhis.Basic.Device.Services;
|
|
using Dlhis.Basic.Organization.Dto;
|
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Dlhis.Basic.Device.Controllers;
|
|
|
|
[Authorize]
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class DevicePermissionsController : ControllerBase
|
|
{
|
|
private readonly IDevicePermissionService _devicePermissionService;
|
|
|
|
public DevicePermissionsController(IDevicePermissionService devicePermissionService)
|
|
{
|
|
_devicePermissionService = devicePermissionService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分配权限
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("assign")]
|
|
[AssignPermissionLimit]
|
|
[Transactional]
|
|
[DataPermission]
|
|
public async Task AssignAsync(DevicePermissionSaveRequest request)
|
|
{
|
|
await _devicePermissionService.AssignAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 分配权限到设备/设备组/营业点
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
[HttpPost("assign-unique")]
|
|
[AssignPermissionLimit]
|
|
[Transactional]
|
|
[DataPermission]
|
|
public async Task AssignToUniqueAsync(DevicePermissionsAssignToDeviceRequest request)
|
|
{
|
|
await _devicePermissionService.AssignToUniqueAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 当前类型的权限分配
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[DataPermission]
|
|
[HttpGet("assignments")]
|
|
public async Task<List<Guid>> GetAssignmentsAsync([FromQuery] DeviceGetAssignmentsRequest request)
|
|
{
|
|
return await _devicePermissionService.GetAssignmentsAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 当前类型的权限分配
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[IgnoreTenant]
|
|
[HttpGet("assignments-unique")]
|
|
public async Task<List<GainfoDto>> GetAssignmentUniqueAsync([FromQuery] DeviceGetAssignmentUniquesRequest request)
|
|
{
|
|
return await _devicePermissionService.GetAssignmentUniqueAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取设备下人员分页
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("gainfos/page")]
|
|
public async Task<Pagination<GainfoDto>> GetGainfoPageByDeviceAsync([FromQuery] DeviceWithGainfoRequest request)
|
|
{
|
|
return await _devicePermissionService.GetGainfoPageByDeviceAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前所有人的权限code
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AllowAnonymous]
|
|
[HttpPost("all-permission")]
|
|
[IgnoreTenant]
|
|
public async Task<PermissionUsersInfoDto> GetPermissionUsersInfoAsync(List<string> userNos)
|
|
{
|
|
return await _devicePermissionService.GetPermissionUsersInfoAsync(userNos);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据权限code生成下发任务
|
|
/// </summary>
|
|
/// <param name="beforeDto"></param>
|
|
/// <returns></returns>
|
|
[AllowAnonymous]
|
|
[IgnoreTenant]
|
|
[HttpPost("re-permission")]
|
|
public async Task<int> ReGeneratePermissionUsersInfoAsync(PermissionUsersInfoDto beforeDto)
|
|
{
|
|
return await _devicePermissionService.ReGeneratePermissionUsersInfoAsync(beforeDto);
|
|
}
|
|
} |