Files
jinko.yikatong/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs
2024-05-07 12:54:39 +08:00

59 lines
1.5 KiB
C#

using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Services;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Device.Controllers;
/// <summary>
/// 设备连接控制器
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class DevicesConnectController : ControllerBase
{
private readonly IDeviceConnectService _deviceConnectService;
public DevicesConnectController(IDeviceConnectService deviceConnectService)
{
_deviceConnectService = deviceConnectService;
}
/// <summary>
/// 设备心跳
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("heartbeat")]
[IgnoreTenant]
public async Task HeartbeatAsync(DeviceHeartbeatRequest request)
{
await _deviceConnectService.HeartbeatAsync(request);
}
/// <summary>
/// 设备注册
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("resigter")]
[IgnoreTenant]
public async Task<string> ResigterAsync(DeviceResigterRequest request)
{
return await _deviceConnectService.RegisterAsync(request);
}
/// <summary>
/// 尝试连接
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("try-connect")]
public async Task<bool> TryConnectAsync(DeviceConnectionTryRequest request)
{
return await _deviceConnectService.TryConnectAsync(request);
}
}