using Microsoft.AspNetCore.Mvc;
|
using System.Net;
|
using System.Net.Http.Headers;
|
using Microsoft.Extensions.Hosting.Internal;
|
using Microsoft.AspNetCore.Http.Extensions;
|
using IStation.Untity;
|
using Furion.DynamicApiController;
|
using System.ComponentModel.DataAnnotations;
|
using Mapster;
|
using Microsoft.AspNetCore.Http;
|
using Furion.DependencyInjection;
|
using Microsoft.AspNetCore.Authorization;
|
using Furion.DataEncryption;
|
using Furion.FriendlyException;
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
/// 摄像头
|
/// </summary>
|
[AllowAnonymous]
|
[Route("LargeScreen/Szjt/Camera")]
|
[ApiDescriptionSettings("LargeScreen", Name = "苏州金庭(摄像头)", Order = 999)]
|
public class SzjtCamera_Controller : IDynamicApiController, ITransient
|
{
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
/// <summary>
|
///
|
/// </summary>
|
public SzjtCamera_Controller(IHttpContextAccessor httpContextAccessor)
|
{
|
_httpContextAccessor = httpContextAccessor;
|
}
|
|
private const long _corpId = 3;
|
|
/// <summary>
|
/// 通过 StationID 获取列表
|
/// </summary>
|
[Route("GetListByStationID")]
|
[HttpGet]
|
public List<SzjtCameraDto> GetListByStationID([FromQuery][Required] StationIDInput input)
|
{
|
var corpId =_corpId;
|
var stationId = input.StationID;
|
var cacheKey = $"Product_Camera_Logic_GetListByStationID_{corpId}_{stationId}";
|
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var cameralList = new Service.Product().GetCameraListByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
|
if (cameralList == null || cameralList.Count < 1)
|
return default;
|
var vmCacheList = cameralList.Select(x => new SzjtCameraDto(x)).ToList();
|
return vmCacheList;
|
}, CacheHelper.CacheLevel3);
|
return vm_list;
|
}
|
|
}
|
}
|