95 lines
2.7 KiB
C#
95 lines
2.7 KiB
C#
using Dlhis.Basic.WorkGrids.Request;
|
|
using Dlhis.Basic.WorkGrids.Response;
|
|
using Dlhis.Basic.WorkGrids.Services;
|
|
using Kurisu.AspNetCore.DataAccess.Dto;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Dlhis.Basic.WorkGrids.Controllers;
|
|
|
|
/// <summary>
|
|
/// 电子围栏操作
|
|
/// </summary>
|
|
[Authorize]
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class EFenceController : ControllerBase
|
|
{
|
|
private readonly IEFenceService _eFenceService;
|
|
|
|
public EFenceController(IEFenceService eFenceService)
|
|
{
|
|
_eFenceService = eFenceService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存电子围栏(新增或更新)
|
|
/// </summary>
|
|
[HttpPost("save")]
|
|
public async Task SaveAsync([FromBody] EFenceSaveRequest request)
|
|
{
|
|
await _eFenceService.SaveAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取电子围栏分页
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("page")]
|
|
public async Task<Pagination<EFencePageResponse>> GetEFencePageAsync([FromQuery] EFencePageRequest request)
|
|
{
|
|
return await _eFenceService.GetEFencePageAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取围栏下的房间
|
|
/// </summary>
|
|
/// <param name="eFenceCode"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("rooms")]
|
|
public async Task<List<EFenceDormitoryRoomResponse>> GetRoomsAsync(Guid eFenceCode)
|
|
{
|
|
return await _eFenceService.GetRoomsAsync(eFenceCode);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取房间人员
|
|
/// </summary>
|
|
/// <param name="roomId"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("room-persons")]
|
|
public async Task<List<EFenceDormitoryRoomPersonResponse>> GetRoomPersonsAsync(string roomId)
|
|
{
|
|
return await _eFenceService.GetRoomPersonsAsync(roomId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 向围栏添加设备
|
|
/// </summary>
|
|
[HttpPost("devices/add")]
|
|
public async Task AddDevicesAsync(EFenceDevicesRequest request)
|
|
{
|
|
await _eFenceService.AddDevicesAsync(request.FenceId, request.DeviceCodes);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 从围栏移除设备
|
|
/// </summary>
|
|
[HttpPost("devices/remove")]
|
|
public async Task RemoveDevicesAsync(EFenceDevicesRequest request)
|
|
{
|
|
await _eFenceService.RemoveDevicesAsync(request.FenceId, request.DeviceCodes);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取设备列表
|
|
/// </summary>
|
|
/// <param name="fenceId"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("devices")]
|
|
public async Task<List<EFenceDevicePageResponse>> GetDevicesByFenceIdAsync(long fenceId)
|
|
{
|
|
return await _eFenceService.GetDevicesByFenceIdAsync(fenceId);
|
|
}
|
|
} |