diff --git a/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs b/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs new file mode 100644 index 00000000..bd0cf881 --- /dev/null +++ b/Src/Dlhis.Basic/Device/Controllers/DevicesConnectController.cs @@ -0,0 +1,58 @@ +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; + +/// +/// 设备连接控制器 +/// +[Authorize] +[Route("api/[controller]")] +[ApiController] +public class DevicesConnectController : ControllerBase +{ + private readonly IDeviceConnectService _deviceConnectService; + + public DevicesConnectController(IDeviceConnectService deviceConnectService) + { + _deviceConnectService = deviceConnectService; + } + + /// + /// 设备心跳 + /// + /// + /// + [HttpPost("heartbeat")] + [IgnoreTenant] + public async Task HeartbeatAsync(DeviceHeartbeatRequest request) + { + await _deviceConnectService.HeartbeatAsync(request); + } + + /// + /// 设备注册 + /// + /// + /// + [HttpPost("resigter")] + [IgnoreTenant] + public async Task ResigterAsync(DeviceResigterRequest request) + { + return await _deviceConnectService.ResigterAsync(request); + } + + /// + /// 尝试连接 + /// + /// + /// + [HttpPost("try-connect")] + public async Task TryConnectAsync(DeviceConnectionTryRequest request) + { + return await _deviceConnectService.TryConnectAsync(request); + } +} diff --git a/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs b/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs new file mode 100644 index 00000000..60ba4f46 --- /dev/null +++ b/Src/Dlhis.Basic/Device/Dtos/IPPortDto.cs @@ -0,0 +1,8 @@ +namespace Dlhis.Basic.Device.Dtos +{ + public class IPPortDto + { + public string IP { get; set; } + public int Port { get; set; } + } +} diff --git a/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs new file mode 100644 index 00000000..ee6a87c7 --- /dev/null +++ b/Src/Dlhis.Basic/Device/Request/DeviceConnectionTryRequest.cs @@ -0,0 +1,12 @@ +using System.ComponentModel.DataAnnotations; + +namespace Dlhis.Basic.Device.Request; + +public class DeviceConnectionTryRequest +{ + /// + /// 连接信息 + /// + [Required(ErrorMessage = "连接信息不可为空")] + public string ConnectionInfo { get; set; } +}