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("删除成功"); } } }