SmallFunController.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using Microsoft.AspNetCore.Http;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.Extensions.Options;
  4. using MySqlX.XDevAPI;
  5. using OASystem.API.OAMethodLib.JuHeAPI;
  6. using OASystem.Domain.Dtos.Groups;
  7. using OASystem.Domain.Dtos.SmallFun;
  8. using OASystem.Domain.ViewModels.JuHeExchangeRate;
  9. using SqlSugar;
  10. using System.Buffers;
  11. using System.Collections.Generic;
  12. using System.Collections.Immutable;
  13. using System.Collections.Specialized;
  14. using System.Text.Json;
  15. using System.Text.Json.Nodes;
  16. using System.Xml.Linq;
  17. namespace OASystem.API.Controllers
  18. {
  19. /// <summary>
  20. /// 小功能接口
  21. /// </summary>
  22. [Route("api/[controller]/[action]")]
  23. [ApiController]
  24. public class SmallFunController : ControllerBase
  25. {
  26. private readonly IJuHeApiService _juHeApiService;
  27. private readonly IConfiguration _config;
  28. /// <summary>
  29. /// 初始化
  30. /// </summary>
  31. /// <param name="juHeApiService"></param>
  32. public SmallFunController(IJuHeApiService juHeApiService, IConfiguration config)
  33. {
  34. this._juHeApiService = juHeApiService;
  35. this._config = config;
  36. }
  37. #region 聚合汇率相关
  38. /// <summary>
  39. /// 获取汇率币种
  40. /// </summary>
  41. /// <returns></returns>
  42. [HttpPost]
  43. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  44. public async Task<IActionResult> GeRateCurrency()
  45. {
  46. var rateCurrencyData = AppSettingsHelper.Get<RateCurrencyModel>("RateCurrency");
  47. return Ok(JsonView(rateCurrencyData));
  48. }
  49. /// <summary>
  50. /// 获取汇率费用
  51. /// </summary>
  52. /// <returns></returns>
  53. [HttpPost]
  54. [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
  55. public async Task<IActionResult> GeExchangeRate(ExchangeRateDto rateDto)
  56. {
  57. #region 参数处理
  58. if (string.IsNullOrEmpty(rateDto.CurrencyCodePer) || string.IsNullOrEmpty(rateDto.CurrencyCodeSuf))
  59. {
  60. return Ok(JsonView(false, "币种参数为空!"));
  61. }
  62. if (rateDto.Money <= 0)
  63. {
  64. return Ok(JsonView(false, "转换金额 <= 0!"));
  65. }
  66. #endregion
  67. var result = await _juHeApiService.GetExchangeRateAsync(rateDto);
  68. if (result.Code != 0 || result == null)
  69. {
  70. return Ok(JsonView(false, result.Msg));
  71. }
  72. return Ok(JsonView(result.Data));
  73. }
  74. #endregion
  75. }
  76. }