12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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
- {
- /// <summary>
- /// 小功能接口
- /// </summary>
- [Route("api/[controller]/[action]")]
- [ApiController]
- public class SmallFunController : ControllerBase
- {
- private readonly IJuHeApiService _juHeApiService;
- /// <summary>
- /// 初始化
- /// </summary>
- /// <param name="juHeApiService"></param>
- public SmallFunController(IJuHeApiService juHeApiService)
- {
- this._juHeApiService = juHeApiService;
- }
- #region 聚合汇率相关
- /// <summary>
- /// 获取汇率接口
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
- public async Task<IActionResult> GeExchangeRate()
- {
- string rateDataString = await RedisRepository.RedisFactory
- .CreateRedisRepository()
- .StringGetAsync<string>("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<ListDictionary>(data.ToJson());
- var node = JsonNode.Parse(data.ToJson());
- var responseData = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, dynamic>>(node);
- //var responseData = System.Text.Json.JsonSerializer.Deserialize<ExchangeRateModel>(data);
- //var responseData = JsonSerializer.Deserialize<Dictionary<string, dynamic>>(data);
- //var node = JsonNode.Parse(data.ToJson());
- //var myClass = node.GetValue<ExchangeRateModel>;
- TimeSpan ts = DateTime.Now.AddMinutes(120) - DateTime.Now; //设置redis 过期时间 比 jwt 时间 快一分钟
- await RedisRepository.RedisFactory.CreateRedisRepository()
- .StringSetAsync<string>("OA2023JuHeExchangeRate", data.ToJson(), ts);//string 存
- //JsonObject.Create(data, ExchangeRateModel).ToJson();
- }
- //}
-
- return Ok(JsonView(true));
- }
- #endregion
- /// <summary>
- /// 获取汇率
- /// </summary>
- /// <returns></returns>
- }
- }
|