check whether amount is less than 0 for transfer transaction

This commit is contained in:
MaysWind
2024-10-29 00:50:37 +08:00
parent 37ff0d1fab
commit a1b7c8ad1d
4 changed files with 11 additions and 0 deletions
+8
View File
@@ -689,6 +689,10 @@ func (a *TransactionsApi) TransactionCreateHandler(c *core.WebContext) (any, *er
return nil, errs.ErrTransactionDestinationAmountCannotBeSet
}
if transactionCreateReq.Type == models.TRANSACTION_TYPE_TRANSFER && (transactionCreateReq.SourceAmount < 0 || transactionCreateReq.DestinationAmount < 0) {
return nil, errs.ErrTransferTransactionAmountCannotBeLessThanZero
}
uid := c.GetCurrentUid()
user, err := a.users.GetUserById(c, uid)
@@ -819,6 +823,10 @@ func (a *TransactionsApi) TransactionModifyHandler(c *core.WebContext) (any, *er
return nil, errs.ErrTransactionTypeInvalid
}
if transaction.Type == models.TRANSACTION_DB_TYPE_TRANSFER_OUT && (transactionModifyReq.SourceAmount < 0 || transactionModifyReq.DestinationAmount < 0) {
return nil, errs.ErrTransferTransactionAmountCannotBeLessThanZero
}
allTransactionTagIds, err := a.transactionTags.GetAllTagIdsOfTransactions(c, uid, []int64{transaction.TransactionId})
if err != nil {
+1
View File
@@ -34,4 +34,5 @@ var (
ErrNoDataToImport = NewSystemError(NormalSubcategoryTransaction, 27, http.StatusBadRequest, "no data to import")
ErrCannotAddTransactionBeforeBalanceModificationTransaction = NewSystemError(NormalSubcategoryTransaction, 28, http.StatusBadRequest, "cannot add transaction before balance modification transaction")
ErrBalanceModificationTransactionCannotModifyTime = NewSystemError(NormalSubcategoryTransaction, 29, http.StatusBadRequest, "balance modification transaction cannot modify transaction time")
ErrTransferTransactionAmountCannotBeLessThanZero = NewNormalError(NormalSubcategoryTransaction, 30, http.StatusBadRequest, "transfer transaction amount cannot be less than zero")
)
+1
View File
@@ -1081,6 +1081,7 @@
"no data to import": "No data to import",
"cannot add transaction before balance modification transaction": "You cannot add transaction before the balance modification transaction",
"balance modification transaction cannot modify transaction time": "You cannot modify transaction time for balance modification transaction",
"transfer transaction amount cannot be less than zero": "Amount cannot be less than 0 for transfer transaction",
"transaction category id is invalid": "Transaction category ID is invalid",
"transaction category not found": "Transaction category is not found",
"transaction category type is invalid": "Transaction category type is invalid",
+1
View File
@@ -1081,6 +1081,7 @@
"no data to import": "没有可以导入的数据",
"cannot add transaction before balance modification transaction": "不能添加早于修改余额的交易",
"balance modification transaction cannot modify transaction time": "您无法对修改余额的交易修改交易时间",
"transfer transaction amount cannot be less than zero": "转账交易的金额不能小于0",
"transaction category id is invalid": "交易分类ID无效",
"transaction category not found": "交易分类不存在",
"transaction category type is invalid": "交易分类类型无效",