From e905eebf60ba51825d1c99a0100809b9fd04f110 Mon Sep 17 00:00:00 2001 From: BaoXuebin Date: Sun, 10 Dec 2023 17:56:21 +0800 Subject: [PATCH] temp commit --- script/config.go | 6 +++--- service/accounts.go | 2 +- service/ledger.go | 2 +- service/source_file.go | 9 +++++++++ service/transactions.go | 11 ++++++----- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/script/config.go b/script/config.go index 95c53b6..ed1d971 100644 --- a/script/config.go +++ b/script/config.go @@ -270,7 +270,7 @@ func LoadLedgerAccountsMap() error { if err != nil { return err } - err = LoadLedgerCurrencyMap(config) + err = LoadLedgerCurrencyMap(&config) if err != nil { return err } @@ -408,7 +408,7 @@ func LoadServerCurrencyMap() { serverCurrencies = append(serverCurrencies, LedgerCurrency{Name: "俄罗斯卢布", Currency: "RUB", Symbol: "₽"}) } -func LoadLedgerCurrencyMap(config Config) error { +func LoadLedgerCurrencyMap(config *Config) error { LoadServerCurrencyMap() path := GetLedgerCurrenciesFilePath(config.DataPath) if !FileIfExist(path) { @@ -443,7 +443,7 @@ func LoadLedgerCurrencyMap(config Config) error { ledgerCurrencyMap[config.Id] = currencies LogSystemInfo(fmt.Sprintf("Success load [%s] account type cache", config.Mail)) // 刷新汇率 - RefreshLedgerCurrency(&config) + RefreshLedgerCurrency(config) return nil } diff --git a/service/accounts.go b/service/accounts.go index 7036151..968d281 100644 --- a/service/accounts.go +++ b/service/accounts.go @@ -331,7 +331,7 @@ func RefreshAccountCache(c *gin.Context) { return } // 加载货币缓存 - err = script.LoadLedgerCurrencyMap(*ledgerConfig) + err = script.LoadLedgerCurrencyMap(ledgerConfig) if err != nil { InternalError(c, err.Error()) return diff --git a/service/ledger.go b/service/ledger.go index 8f82123..db5da6e 100644 --- a/service/ledger.go +++ b/service/ledger.go @@ -273,7 +273,7 @@ func createNewLedger(loginForm LoginForm, ledgerId string) (*script.Config, erro return nil, err } // add currency cache - err = script.LoadLedgerCurrencyMap(ledgerConfig) + err = script.LoadLedgerCurrencyMap(&ledgerConfig) if err != nil { return nil, err } diff --git a/service/source_file.go b/service/source_file.go index d6fe857..e25afbc 100644 --- a/service/source_file.go +++ b/service/source_file.go @@ -92,5 +92,14 @@ func UpdateLedgerSourceFileContent(c *gin.Context) { return } + // 更新外币种源文件后,更新缓存 + if strings.Contains(updateSourceFileForm.Path, "currency.json") { + err = script.LoadLedgerCurrencyMap(ledgerConfig) + if err != nil { + InternalError(c, err.Error()) + return + } + } + OK(c, nil) } diff --git a/service/transactions.go b/service/transactions.go index 8511f17..fd7f9d9 100644 --- a/service/transactions.go +++ b/service/transactions.go @@ -69,11 +69,12 @@ type AddTransactionForm struct { } type AddTransactionEntryForm struct { - Account string `form:"account" binding:"required" json:"account"` - Number decimal.Decimal `form:"number" json:"number"` - Currency string `form:"currency" json:"currency"` - Price decimal.Decimal `form:"price" json:"price"` - PriceCurrency string `form:"priceCurrency" json:"priceCurrency"` + Account string `form:"account" binding:"required" json:"account"` + Number decimal.Decimal `form:"number" json:"number,omitempty"` + Currency string `form:"currency" json:"currency"` + Price decimal.Decimal `form:"price" json:"price,omitempty"` + PriceCurrency string `form:"priceCurrency" json:"priceCurrency,omitempty"` + IsAnotherCurrency bool `form:"isAnotherCurrency" json:"isAnotherCurrency,omitempty"` } func sum(entries []AddTransactionEntryForm, openingBalances string) decimal.Decimal {