You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/projects/IoT/IoTServices/FBeeService/Controllers/Switch2Controller.cs

75 lines
2.4 KiB

using Application.Models;
using IoT.Shared.Controllers;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
using System;
namespace FBeeService.Controllers
{
[SwaggerTag("2路开关")]
public class Switch2Controller : BaseDeviceController
{
private readonly DeviceService _deviceService;
public Switch2Controller(IServiceProvider applicationServices, DeviceService deviceService) : base(applicationServices)
{
this._deviceService = deviceService;
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("")]
public ApiResponse On(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 1, 0x10);
this._deviceService.X82(gateway, id, 1, 0x11);
});
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("")]
public ApiResponse Off(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 0, 0x10);
this._deviceService.X82(gateway, id, 0, 0x11);
});
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("L1")]
public ApiResponse L1On(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 1, 0x10);
});
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("L1")]
public ApiResponse L1Off(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 0, 0x10);
});
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("L2")]
public ApiResponse L2On(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 1, 0x11);
});
}
[HttpGet, Route("/[controller]/[action]"), SwaggerOperation("L2")]
public ApiResponse L2Off(string gateway, string id)
{
return this.AsyncAction(() =>
{
this._deviceService.X82(gateway, id, 0, 0x11);
});
}
}
}