diff --git a/service/commodity.go b/service/commodity.go index 7e54506..088a5ad 100644 --- a/service/commodity.go +++ b/service/commodity.go @@ -30,7 +30,11 @@ func SyncCommodityPrice(c *gin.Context) { } // 刷新货币最新汇率值 - script.RefreshLedgerCurrency(ledgerConfig) + err = script.LoadLedgerCurrencyMap(ledgerConfig) + if err != nil { + InternalError(c, err.Error()) + return + } OK(c, syncCommodityPriceForm) } diff --git a/service/transactions.go b/service/transactions.go index fd7f9d9..f3187ed 100644 --- a/service/transactions.go +++ b/service/transactions.go @@ -183,8 +183,9 @@ func saveTransaction(c *gin.Context, addTransactionForm AddTransactionForm, ledg continue } + _, isCurrency := currencyMap[account.Currency] // 货币跳过汇率转换 - if _, ok := currencyMap[account.Currency]; !ok { + if !isCurrency { // 根据 number 的正负来判断是买入还是卖出 if entry.Number.GreaterThan(zero) { // {351.729 CNY, 2021-09-29} @@ -203,6 +204,14 @@ func saveTransaction(c *gin.Context, addTransactionForm AddTransactionForm, ledg } return errors.New("internal error") } + // 刷新币种汇率 + if isCurrency { + err = script.LoadLedgerCurrencyMap(ledgerConfig) + if err != nil { + InternalError(c, err.Error()) + return errors.New("internal error") + } + } } }