using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using OASystem.API.OAMethodLib.JuHeAPI;
using OASystem.Domain.ViewModels.JuHeExchangeRate;
using System.Buffers;
using System.Collections.Specialized;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Xml.Linq;
namespace OASystem.API.Controllers
{
///
/// 小功能接口
///
[Route("api/[controller]/[action]")]
[ApiController]
public class SmallFunController : ControllerBase
{
private readonly IJuHeApiService _juHeApiService;
///
/// 初始化
///
///
public SmallFunController(IJuHeApiService juHeApiService)
{
this._juHeApiService = juHeApiService;
}
#region 聚合汇率相关
///
/// 获取汇率接口
///
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task GeExchangeRate()
{
string rateDataString = await RedisRepository.RedisFactory
.CreateRedisRepository()
.StringGetAsync("OA2023JuHeExchangeRate");//string 取
//if (string.IsNullOrEmpty(rateDataString))
//{
var rateData = await _juHeApiService.GetExchangeRateAsync();
if (rateData.Resultcode == "200" && rateData.Error_code == 0)
{
var data = rateData.Result;
System.Text.Json.JsonSerializer.Deserialize(data.ToJson());
var node = JsonNode.Parse(data.ToJson());
var responseData = System.Text.Json.JsonSerializer.Deserialize>(node);
//var responseData = System.Text.Json.JsonSerializer.Deserialize(data);
//var responseData = JsonSerializer.Deserialize>(data);
//var node = JsonNode.Parse(data.ToJson());
//var myClass = node.GetValue;
TimeSpan ts = DateTime.Now.AddMinutes(120) - DateTime.Now; //设置redis 过期时间 比 jwt 时间 快一分钟
await RedisRepository.RedisFactory.CreateRedisRepository()
.StringSetAsync("OA2023JuHeExchangeRate", data.ToJson(), ts);//string 存
//JsonObject.Create(data, ExchangeRateModel).ToJson();
}
//}
return Ok(JsonView(true));
}
#endregion
///
/// 获取汇率
///
///
}
}