ly/Controllers/HomeController.cs

57 lines
1.7 KiB
C#

using LY.App.Common.Redis;
using LY.App.Device;
using LY.App.Model;
using LY.App.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace LY.App.Controllers
{
/// <summary>
/// 首页控制器
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
private readonly DeviceService _deviceService;
private readonly DeviceManager deviceManager = DeviceManager.Instance;
private readonly PositionService _positionService;
private readonly RedisService _redisService;
/// <summary>
///
/// </summary>
/// <param name="deviceService"></param>
/// <param name="positionService"></param>
/// <param name="redisService"></param>
public HomeController(DeviceService deviceService, PositionService positionService, RedisService redisService)
{
_deviceService = deviceService;
_positionService = positionService;
_redisService = redisService;
}
/// <summary>
/// 首页
/// </summary>
/// <returns></returns>
[HttpGet("view")]
public async Task<IActionResult> view()
{
ApiResult result = new ApiResult();
var positions = await _positionService.Index();
positions.ForEach(async p =>
{
foreach (var item in p.Devices)
{
item.IsOnline = await _redisService.ExistsAsync(RedisKeyList.DeviceStatus(item.DeviceSN));
}
});
result.data = new
{
positions
};
return Ok(result);
}
}
}