fix(exchange): update exchange rate API endpoint and adjust request parameters

This commit is contained in:
Chang lue Tsen 2026-01-07 09:35:09 -05:00
parent 90e2f24d46
commit 58caa497c3
2 changed files with 13 additions and 10 deletions

View File

@ -6,10 +6,11 @@ import (
"time" "time"
"github.com/go-resty/resty/v2" "github.com/go-resty/resty/v2"
"github.com/perfect-panel/server/pkg/logger"
) )
const ( const (
Url = "https://api.exchangerate.host" Url = "https://api.apilayer.com"
) )
type Response struct { type Response struct {
@ -37,18 +38,20 @@ func GetExchangeRete(form, to, access string, amount float64) (float64, error) {
amountStr := strconv.FormatFloat(amount, 'f', -1, 64) amountStr := strconv.FormatFloat(amount, 'f', -1, 64)
client.SetQueryParams(map[string]string{ client.SetQueryParams(map[string]string{
"from": form, "from": form,
"to": to, "to": to,
"amount": amountStr, "amount": amountStr,
"access_key": access,
}) })
resp := new(Response) result := new(Response)
_, err := client.R().SetResult(resp).Get("/convert") resp, err := client.R().SetHeader("apikey", access).SetResult(result).Get("/currency_data/convert")
if err != nil { if err != nil {
return 0, err return 0, err
} }
if !resp.Success { if !result.Success {
logger.Info("Exchange Rate Response: ", resp.String())
return 0, errors.New("exchange rate failed") return 0, errors.New("exchange rate failed")
} }
return resp.Result, nil return result.Result, nil
} }

View File

@ -4,7 +4,7 @@ import "testing"
func TestGetExchangeRete(t *testing.T) { func TestGetExchangeRete(t *testing.T) {
t.Skip("skip TestGetExchangeRete") t.Skip("skip TestGetExchangeRete")
result, err := GetExchangeRete("USD", "CNY", "90734e5af4f5353114cdaf3bb9c3f2e3", 1) result, err := GetExchangeRete("USD", "CNY", "", 1)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }