From 0af5b194fcdb8eb91dc3e447265ff1d017127136 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Wed, 30 Apr 2025 00:00:32 +0800 Subject: [PATCH] add logs --- pkg/services/accounts.go | 21 +++++++++++++++++++++ pkg/services/transactions.go | 23 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/pkg/services/accounts.go b/pkg/services/accounts.go index 8408da13..182d8c4c 100644 --- a/pkg/services/accounts.go +++ b/pkg/services/accounts.go @@ -297,6 +297,12 @@ func (s *AccountService) CreateAccounts(c core.Context, mainAccount *models.Acco createdRows, err := sess.Insert(transaction) if err != nil || createdRows < 1 { // maybe another transaction has same time + if err != nil { + log.Warnf(c, "[accounts.CreateAccounts] cannot create trasaction, because %s, regenerate transaction time value", err.Error()) + } else { + log.Warnf(c, "[accounts.CreateAccounts] cannot create trasaction, regenerate transaction time value") + } + err = userDataDb.RollbackToSavePoint(sess, insertTransactionSavePointName) if err != nil { @@ -313,6 +319,7 @@ func (s *AccountService) CreateAccounts(c core.Context, mainAccount *models.Acco if err != nil { return err } else if !has { + log.Errorf(c, "[accounts.CreateAccounts] it should have transactions in %d - %d, but result is empty", minTransactionTime, maxTransactionTime) return errs.ErrDatabaseOperationFailed } else if sameSecondLatestTransaction.TransactionTime == maxTransactionTime-1 { return errs.ErrTooMuchTransactionInOneSecond @@ -322,8 +329,10 @@ func (s *AccountService) CreateAccounts(c core.Context, mainAccount *models.Acco createdRows, err := sess.Insert(transaction) if err != nil { + log.Errorf(c, "[accounts.CreateAccounts] failed to add transaction again, because %s", err.Error()) return err } else if createdRows < 1 { + log.Errorf(c, "[accounts.CreateAccounts] failed to add transaction again") return errs.ErrDatabaseOperationFailed } } @@ -442,6 +451,12 @@ func (s *AccountService) ModifyAccounts(c core.Context, mainAccount *models.Acco createdRows, err := sess.Insert(transaction) if err != nil || createdRows < 1 { // maybe another transaction has same time + if err != nil { + log.Warnf(c, "[accounts.ModifyAccounts] cannot create trasaction, because %s, regenerate transaction time value", err.Error()) + } else { + log.Warnf(c, "[accounts.ModifyAccounts] cannot create trasaction, regenerate transaction time value") + } + err = userDataDb.RollbackToSavePoint(sess, insertTransactionSavePointName) if err != nil { @@ -458,6 +473,7 @@ func (s *AccountService) ModifyAccounts(c core.Context, mainAccount *models.Acco if err != nil { return err } else if !has { + log.Errorf(c, "[accounts.ModifyAccounts] it should have transactions in %d - %d, but result is empty", minTransactionTime, maxTransactionTime) return errs.ErrDatabaseOperationFailed } else if sameSecondLatestTransaction.TransactionTime == maxTransactionTime-1 { return errs.ErrTooMuchTransactionInOneSecond @@ -467,8 +483,10 @@ func (s *AccountService) ModifyAccounts(c core.Context, mainAccount *models.Acco createdRows, err := sess.Insert(transaction) if err != nil { + log.Errorf(c, "[accounts.ModifyAccounts] failed to add transaction again, because %s", err.Error()) return err } else if createdRows < 1 { + log.Errorf(c, "[accounts.ModifyAccounts] failed to add transaction again") return errs.ErrDatabaseOperationFailed } } @@ -536,6 +554,7 @@ func (s *AccountService) ModifyAccounts(c core.Context, mainAccount *models.Acco if err != nil { return err } else if deletedTransactionRows < int64(len(transactionIds)) { + log.Errorf(c, "[accounts.ModifyAccounts] it should delete %d transactions, but have deleted %d actually", len(transactionIds), deletedTransactionRows) return errs.ErrDatabaseOperationFailed } } @@ -675,6 +694,7 @@ func (s *AccountService) DeleteAccount(c core.Context, uid int64, accountId int6 if err != nil { return err } else if deletedTransactionRows < int64(len(transactionIds)) { + log.Errorf(c, "[accounts.DeleteAccount] it should delete %d transactions, but have deleted %d actually", len(transactionIds), deletedTransactionRows) return errs.ErrDatabaseOperationFailed } } @@ -755,6 +775,7 @@ func (s *AccountService) DeleteSubAccount(c core.Context, uid int64, accountId i if err != nil { return err } else if deletedTransactionRows < int64(len(transactionIds)) { + log.Errorf(c, "[accounts.DeleteSubAccount] it should delete %d transactions, but have deleted %d actually", len(transactionIds), deletedTransactionRows) return errs.ErrDatabaseOperationFailed } } diff --git a/pkg/services/transactions.go b/pkg/services/transactions.go index 6016eb44..c9e0b5cf 100644 --- a/pkg/services/transactions.go +++ b/pkg/services/transactions.go @@ -758,6 +758,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update related transaction, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update related transaction") return errs.ErrDatabaseOperationFailed } } @@ -849,6 +850,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -870,6 +872,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -882,6 +885,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -903,6 +907,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -915,6 +920,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -936,6 +942,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -948,6 +955,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -969,6 +977,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -981,6 +990,7 @@ func (s *TransactionService) ModifyTransaction(c core.Context, transaction *mode log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.ModifyTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } @@ -1088,6 +1098,7 @@ func (s *TransactionService) DeleteTransaction(c core.Context, uid int64, transa if err != nil { return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.DeleteTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if oldTransaction.Type == models.TRANSACTION_DB_TYPE_INCOME { @@ -1097,6 +1108,7 @@ func (s *TransactionService) DeleteTransaction(c core.Context, uid int64, transa if err != nil { return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.DeleteTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if oldTransaction.Type == models.TRANSACTION_DB_TYPE_EXPENSE { @@ -1106,6 +1118,7 @@ func (s *TransactionService) DeleteTransaction(c core.Context, uid int64, transa if err != nil { return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.DeleteTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if oldTransaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT { @@ -1115,6 +1128,7 @@ func (s *TransactionService) DeleteTransaction(c core.Context, uid int64, transa if err != nil { return err } else if updatedSourceRows < 1 { + log.Errorf(c, "[transactions.DeleteTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } @@ -1124,6 +1138,7 @@ func (s *TransactionService) DeleteTransaction(c core.Context, uid int64, transa if err != nil { return err } else if updatedDestinationRows < 1 { + log.Errorf(c, "[transactions.DeleteTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if oldTransaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_IN { @@ -1697,6 +1712,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to get trasaction time, because %s", err.Error()) return err } else if !has { + log.Errorf(c, "[transactions.doCreateTransaction] it should have transactions in %d - %d, but result is empty", minTransactionTime, maxTransactionTime) return errs.ErrDatabaseOperationFailed } else if sameSecondLatestTransaction.TransactionTime == maxTransactionTime-1 { return errs.ErrTooMuchTransactionInOneSecond @@ -1709,6 +1725,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to add transaction again, because %s", err.Error()) return err } else if createdRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to add transaction again") return errs.ErrDatabaseOperationFailed } } @@ -1726,6 +1743,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to add related transaction, because %s", err.Error()) return err } else if createdRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to add related transaction") return errs.ErrDatabaseOperationFailed } } @@ -1766,6 +1784,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if transaction.Type == models.TRANSACTION_DB_TYPE_INCOME { @@ -1776,6 +1795,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if transaction.Type == models.TRANSACTION_DB_TYPE_EXPENSE { @@ -1786,6 +1806,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT { @@ -1796,6 +1817,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedSourceRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } @@ -1806,6 +1828,7 @@ func (s *TransactionService) doCreateTransaction(c core.Context, database *datas log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance, because %s", err.Error()) return err } else if updatedDestinationRows < 1 { + log.Errorf(c, "[transactions.doCreateTransaction] failed to update account balance") return errs.ErrDatabaseOperationFailed } } else if transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_IN {