Files
jinko.yikatong/Src/Dlhis.Basic/Device/Controllers/DevicesController.cs

118 lines
3.4 KiB
C#

using Dlhis.Basic.Device.Request;
using Dlhis.Basic.Device.Response;
using Dlhis.Basic.Device.Services;
using Kurisu.Core.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Device.Controllers;
/// <summary>
/// 设备控制器
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class DevicesController : ControllerBase
{
private readonly IDeviceService _deviceService;
private readonly IDeviceTemplateService _deviceTemplateService;
private readonly IDeviceConnectService _deviceConnectService;
public DevicesController(IDeviceService deviceService, IDeviceTemplateService deviceTemplateService, IDeviceConnectService deviceConnectService)
{
_deviceService = deviceService;
_deviceTemplateService = deviceTemplateService;
_deviceConnectService = deviceConnectService;
}
/// <summary>
/// 设备模板分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("template/page")]
public async Task<Pagination<DeviceTemplateResponse>> GetTemplatePageAsync([FromQuery] DeviceTemplatePageRequest request)
{
return await _deviceTemplateService.GetPageAsync(request);
}
/// <summary>
/// 设备模板保存
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("template")]
public async Task SaveTemplateAsync(DeviceTemplateSaveRequest request)
{
await _deviceTemplateService.SaveTemplateAsync(request);
}
/// <summary>
/// 设备分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<DeviceResponse>> GetPageAsync([FromQuery] DevicePageRequest request)
{
return await _deviceService.GetPageAsync(request);
}
/// <summary>
/// 设备保存
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("save")]
public async Task SaveAsync(DeviceSaveRequest request)
{
await _deviceService.SaveAsync(request);
}
/// <summary>
/// 设备注册
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("resigter")]
public async Task<string> ResigterAsync(DeviceResigterRequest request)
{
return await _deviceConnectService.ResigterAsync(request);
}
/// <summary>
/// 获取尚未设置营业点的设备
/// </summary>
/// <returns></returns>
[HttpGet("businessplaces/incompletion")]
public async Task<List<DeviceNotSetBusinessPlaceResponse>> GetNotSetBusinessPlaceDevicesAsync()
{
return await _deviceConnectService.GetNotSetBusinessPlaceDevicesAsync();
}
/// <summary>
/// 设置设备营业点
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("businessplaces")]
public async Task SetResigterBusinessPlaceAsync(DeviceSetResigterBusinessPlaceRequest request)
{
await _deviceConnectService.SetResigterBusinessPlaceAsync(request);
}
/// <summary>
/// 设备心跳
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("heartbeat")]
public async Task HeartbeatAsync(DeviceHeartbeatRequest request)
{
await _deviceConnectService.HeartbeatAsync(request);
}
}