using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading.Tasks;
using VOL.Business.IServices.Device;
using VOL.Core.Filters;
using VOL.Entity.Enum;
using VOL.Model;
using VOL.Model.Device.Request;
using VOL.Model.Device.Response;
namespace VOL.WebApi.Controllers.Business
{
///
/// 学校设备管理。
///
[Route("api/[controller]")]
[ApiController]
[ApiExplorerSettings(GroupName = "v3")]
[TypeFilter(typeof(CustomApiResponseFilter))]
public class DeviceManageController : ControllerBase
{
private readonly IDeviceManageService _deviceManageService;
public DeviceManageController(IDeviceManageService deviceManageService)
{
_deviceManageService = deviceManageService;
}
///
/// 获取设备分页列表。
///
[HttpGet(nameof(GetPageList))]
public Task> GetPageList([FromQuery] DevicePageListParam param)
{
return _deviceManageService.GetPageList(param);
}
///
/// 获取当前账号可管理的学校。
///
[HttpGet(nameof(GetSchoolOptions))]
public Task> GetSchoolOptions([FromQuery] string keyword = null)
{
return _deviceManageService.GetSchoolOptions(keyword);
}
///
/// 获取设备详情。
///
[HttpGet(nameof(Details))]
public Task Details([FromQuery] long id, [FromQuery] DeviceSourceType sourceType)
{
return _deviceManageService.Details(id, sourceType);
}
///
/// 新增并绑定设备。
///
[HttpPost(nameof(Add))]
public async Task Add([FromBody] SaveDeviceParam param)
{
await _deviceManageService.Add(param);
return Ok("新增成功");
}
///
/// 修改设备及学校绑定。
///
[HttpPost(nameof(Update))]
public async Task Update([FromBody] SaveDeviceParam param)
{
await _deviceManageService.Update(param);
return Ok("修改成功");
}
///
/// 删除设备。
///
[HttpPost(nameof(Delete))]
public async Task Delete([FromBody] DeleteDeviceParam param)
{
await _deviceManageService.Delete(param);
return Ok("删除成功");
}
}
}