add transaction list page for desktop

This commit is contained in:
MaysWind
2023-07-24 02:36:59 +08:00
parent aafdbab781
commit 70fc781a03
13 changed files with 1227 additions and 19 deletions
+2 -2
View File
@@ -126,8 +126,8 @@ type TransactionListInMonthByPageRequest struct {
CategoryId int64 `form:"category_id" binding:"min=0"`
AccountId int64 `form:"account_id" binding:"min=0"`
Keyword string `form:"keyword"`
Page int32 `form:"page" binding:"required,min=1"`
Count int32 `form:"count" binding:"required,min=1,max=50"`
Page int32 `form:"page" binding:"min=0"`
Count int32 `form:"count" binding:"min=0,max=50"`
TrimAccount bool `form:"trim_account"`
TrimCategory bool `form:"trim_category"`
TrimTag bool `form:"trim_tag"`
+9 -3
View File
@@ -98,11 +98,11 @@ func (s *TransactionService) GetTransactionsInMonthByPage(uid int64, year int32,
return nil, errs.ErrUserIdInvalid
}
if page < 1 {
if page < 0 || (count > 0 && page < 1) {
return nil, errs.ErrPageIndexInvalid
}
if count < 1 {
if count < 0 {
return nil, errs.ErrPageCountInvalid
}
@@ -120,7 +120,13 @@ func (s *TransactionService) GetTransactionsInMonthByPage(uid int64, year int32,
var transactions []*models.Transaction
condition, conditionParams := s.getTransactionQueryCondition(uid, maxTransactionTime, minTransactionTime, transactionType, categoryIds, accountIds, keyword, true)
err = s.UserDataDB(uid).Where(condition, conditionParams...).Limit(int(count), int(count*(page-1))).OrderBy("transaction_time desc").Find(&transactions)
sess := s.UserDataDB(uid).Where(condition, conditionParams...)
if count > 0 {
sess = sess.Limit(int(count), int(count*(page-1)))
}
err = sess.OrderBy("transaction_time desc").Find(&transactions)
return transactions, err
}