using Furion.DynamicApiController;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Nirvana.Common;
using Nirvana.Common.ApiBase;
using System.Collections.Generic;
using System.Threading.Tasks;
using YBDevice.Entity;
namespace YBDevice.Application.DeviceInfo
{
///
/// 设备管理
///
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class DeviceAppService : IDynamicApiController
{
private readonly IDeviceService _Service;
public DeviceAppService(IDeviceService Service)
{
_Service = Service;
}
///
/// 查询设备分配记录
///
/// 设备ID
///
[QueryParameters]
public async Task> GetDeviceAllocListAsync(int id)
{
return await _Service.GetDeviceAllocListAsync(id);
}
///
/// 设备批量操作
///
///
///
[HttpPost]
public async Task BatchSetAsync(DeviceBatchModel data)
{
return await _Service.BatchSetAsync(data);
}
///
/// 设备列表
///
///
///
[HttpPost]
public async Task GetListAsync(QueryParams param)
{
var result = await _Service.GetListAsync(param);
return new ResultInfo(ResultState.SUCCESS, "success", result);
}
///
/// 设备类型列表
///
///
///
[HttpPost]
public async Task GetTypeListAsync(QueryParams param)
{
var result = await _Service.GetTypeListAsync(param);
return new ResultInfo(ResultState.SUCCESS, "success", result);
}
///
/// 信息编辑
///
///
///
public async Task SubmitAsync(YB_Device model)
{
return await _Service.SubmitAsync(model);
}
///
/// 信息编辑
///
///
///
public async Task SubmitTypeAsync(YB_DeviceType model)
{
return await _Service.SubmitTypeAsync(model);
}
///
/// 设备停用/启用
///
///
/// 0-停用,1-启用
///
[HttpGet]
[QueryParameters]
public async Task StopDevAsync(int id, DeviceStatus status)
{
return await _Service.StopDevAsync(id, status);
}
///
/// 设备类型关联的小程序列表
///
///
///
[HttpPost]
public async Task GetDeviceAppListAsync(QueryParams param)
{
return await _Service.GetDeviceAppListAsync(param);
}
///
/// 设备类型关联的小程序提交
///
///
///
[HttpPost]
public async Task SubmitDeviceAppAsync(DeviceAppC2SDto data)
{
return await _Service.SubmitDeviceAppAsync(data);
}
///
/// 设备类型关联的小程序删除
///
///
///
[HttpPost]
public async Task DeleteDeviceAppAsync(DeviceAppDeleteC2SDto data)
{
return await _Service.DeleteDeviceAppAsync(data);
}
}
}