update: auto refresh currency cache

This commit is contained in:
BaoXuebin 2023-12-10 22:52:24 +08:00
parent f0aa8ab0c0
commit 017bf20c56
2 changed files with 15 additions and 2 deletions

View File

@ -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)
}

View File

@ -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")
}
}
}
}