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.Authorization;
|
|
namespace IStation.Application
|
{
|
/// <summary>
|
/// BimfaceFile
|
/// </summary>
|
[Route("Bimface/BimfaceFile/Logic")]
|
[ApiDescriptionSettings("Bimface", Name = "Bimface文件", Order = 899)]
|
public class BimfaceFile_LogicController : IDynamicApiController
|
{
|
/// <summary>
|
/// 获取 AccessToken (业务)
|
/// </summary>
|
[Route("GetAccessToken@V1.0")]
|
[HttpGet]
|
public string GetAccessToken()
|
{
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetAccessToken";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
return client.GetAccessToken();
|
}, CacheHelper.CacheLevel3);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取默认 ViewToken (业务)
|
/// </summary>
|
[Route("GetDefaultViewTokenByStationID@V1.0")]
|
[HttpGet]
|
public string GetDefaultViewTokenByStationID([FromQuery][Required] StationIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var stationId=input.StationID;
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetDefaultViewTokenByStationID_{corpId}_{stationId}";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var fileMapping = new Service.BimfaceFileMapping().GetDefaultByBelongTypeAndBelongID(corpId,ObjectType.Station,stationId);
|
if (fileMapping == null)
|
return default;
|
var file = new Service.BimfaceFile().GetByID(corpId,fileMapping.BimfaceFileID);
|
if (file == null)
|
return default;
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey,ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
return client.GetViewToken(file.BimfaceID);
|
|
},CacheHelper.CacheLevel4);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取默认 ViewToken (业务)(不需要验证token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetDefaultViewTokenByStationID@V1.1")]
|
[HttpGet]
|
public string GetDefaultViewTokenByStationIDWithOutToken([FromQuery][Required] StationIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var stationId = input.StationID;
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetDefaultViewTokenByStationID_{corpId}_{stationId}";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var fileMapping = new Service.BimfaceFileMapping().GetDefaultByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
|
if (fileMapping == null)
|
return default;
|
var file = new Service.BimfaceFile().GetByID(corpId, fileMapping.BimfaceFileID);
|
if (file == null)
|
return default;
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
return client.GetViewToken(file.BimfaceID);
|
|
}, CacheHelper.CacheLevel4);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 BimfaceID(Bimface平台标识) 获取 ViewToken (业务)
|
/// </summary>
|
[Route("GetViewTokenByBimfaceID@V1.0")]
|
[HttpGet]
|
public string GetViewTokenByBimfaceID([Required] long BimfaceID)
|
{
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
return client.GetViewToken(BimfaceID);
|
}
|
|
/// <summary>
|
/// 通过 BimfaceID(Bimface平台标识) 获取 ViewToken (业务)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetViewTokenByBimfaceID@V1.1")]
|
[HttpGet]
|
public string GetViewTokenByBimfaceID_V1_1([Required] long BimfaceID)
|
{
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
return client.GetViewToken(BimfaceID);
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取默认 (业务)
|
/// </summary>
|
[Route("GetDefaultByStationID@V1.0")]
|
[HttpGet]
|
public BimfaceFileLogicDto GetDefaultByStationID([FromQuery][Required] StationIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var stationId = input.StationID;
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetDefaultByStationID_{corpId}_{stationId}";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var fileMapping = new Service.BimfaceFileMapping().GetDefaultByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
|
if (fileMapping == null)
|
return default;
|
var file = new Service.BimfaceFile().GetByID(corpId, fileMapping.BimfaceFileID);
|
if (file == null)
|
return default;
|
var vmCache = new BimfaceFileLogicDto(file,fileMapping);
|
return vmCache;
|
}, CacheHelper.CacheLevel3);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取默认带ViewToken (业务)
|
/// </summary>
|
[Route("GetDefaultWithViewTokenByStationID@V1.0")]
|
[HttpGet]
|
public BimfaceFileWithViewTokenLogicDto GetDefaultWithViewTokenByStationID([FromQuery][Required] StationIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var stationId = input.StationID;
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetDefaultWithViewTokenByStationID_{corpId}_{stationId}";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var fileMapping = new Service.BimfaceFileMapping().GetDefaultByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
|
if (fileMapping == null)
|
return default;
|
var file = new Service.BimfaceFile().GetByID(corpId, fileMapping.BimfaceFileID);
|
if (file == null)
|
return default;
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
var viewToken= client.GetViewToken(file.BimfaceID);
|
var vmCache = new BimfaceFileWithViewTokenLogicDto(file, fileMapping, viewToken);
|
return vmCache;
|
}, CacheHelper.CacheLevel3);
|
return vm;
|
}
|
|
/// <summary>
|
/// 通过 StationID 获取默认带ViewToken (业务)(不需要验证token)
|
/// </summary>
|
[AllowAnonymous]
|
[Route("GetDefaultWithViewTokenByStationID@V1.1")]
|
[HttpGet]
|
public BimfaceFileWithViewTokenLogicDto GetDefaultWithViewTokenByStationIDWithOutToken([FromQuery][Required] StationIDUnderCorpInput input)
|
{
|
var corpId = input.CorpID;
|
var stationId = input.StationID;
|
var cacheKey = $"Bimface_BimfaceFile_Logic_GetDefaultWithViewTokenByStationID_{corpId}_{stationId}";
|
var vm = MemoryCacheHelper.GetSet(cacheKey, () => {
|
var fileMapping = new Service.BimfaceFileMapping().GetDefaultByBelongTypeAndBelongID(corpId, ObjectType.Station, stationId);
|
if (fileMapping == null)
|
return default;
|
var file = new Service.BimfaceFile().GetByID(corpId, fileMapping.BimfaceFileID);
|
if (file == null)
|
return default;
|
var client = BimfaceClient.GetClient(ConfigHelper.AppKey, ConfigHelper.AppSecret);
|
if (client == null)
|
return default;
|
var viewToken = client.GetViewToken(file.BimfaceID);
|
var vmCache = new BimfaceFileWithViewTokenLogicDto(file, fileMapping, viewToken);
|
return vmCache;
|
}, CacheHelper.CacheLevel3);
|
return vm;
|
}
|
|
|
|
}
|
}
|