From 4e365f54af3fc092b86fa18aff7f0d2a96f27a3b Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sun, 1 Sep 2024 00:40:49 +0800 Subject: [PATCH] code refactor --- pkg/api/transaction_templates.go | 6 ++++-- pkg/api/transactions.go | 19 +++++++++++-------- pkg/errs/transaction.go | 2 ++ pkg/errs/transaction_picture.go | 1 - pkg/errs/transaction_tag.go | 1 - src/consts/transaction.js | 2 ++ src/locales/en.json | 4 ++-- src/locales/zh_Hans.json | 4 ++-- .../transactions/list/dialogs/EditDialog.vue | 2 +- src/views/mobile/transactions/EditPage.vue | 2 +- 10 files changed, 25 insertions(+), 18 deletions(-) diff --git a/pkg/api/transaction_templates.go b/pkg/api/transaction_templates.go index 472ac7e5..2744250e 100644 --- a/pkg/api/transaction_templates.go +++ b/pkg/api/transaction_templates.go @@ -15,6 +15,8 @@ import ( "github.com/mayswind/ezbookkeeping/pkg/utils" ) +const maximumTagsCountOfTemplate = 10 + // TransactionTemplatesApi represents transaction template api type TransactionTemplatesApi struct { ApiUsingConfig @@ -140,7 +142,7 @@ func (a *TransactionTemplatesApi) TemplateCreateHandler(c *core.WebContext) (any } } - if len(templateCreateReq.TagIds) > 10 { + if len(templateCreateReq.TagIds) > maximumTagsCountOfTemplate { return nil, errs.ErrTransactionTemplateHasTooManyTags } @@ -234,7 +236,7 @@ func (a *TransactionTemplatesApi) TemplateModifyHandler(c *core.WebContext) (any } } - if len(templateModifyReq.TagIds) > 10 { + if len(templateModifyReq.TagIds) > maximumTagsCountOfTemplate { return nil, errs.ErrTransactionTemplateHasTooManyTags } diff --git a/pkg/api/transactions.go b/pkg/api/transactions.go index daeb5791..ebfe8702 100644 --- a/pkg/api/transactions.go +++ b/pkg/api/transactions.go @@ -16,6 +16,9 @@ import ( "github.com/mayswind/ezbookkeeping/pkg/utils" ) +const maximumTagsCountOfTransaction = 10 +const maximumPicturesCountOfTransaction = 10 + // TransactionsApi represents transaction api type TransactionsApi struct { ApiUsingConfig @@ -646,8 +649,8 @@ func (a *TransactionsApi) TransactionCreateHandler(c *core.WebContext) (any, *er return nil, errs.ErrTransactionTagIdInvalid } - if len(tagIds) > 10 { - return nil, errs.ErrTransactionTagTooMuch + if len(tagIds) > maximumTagsCountOfTransaction { + return nil, errs.ErrTransactionHasTooManyTags } pictureIds, err := utils.StringArrayToInt64Array(transactionCreateReq.PictureIds) @@ -657,8 +660,8 @@ func (a *TransactionsApi) TransactionCreateHandler(c *core.WebContext) (any, *er return nil, errs.ErrTransactionPictureIdInvalid } - if len(pictureIds) > 10 { - return nil, errs.ErrTransactionPictureTooMuch + if len(pictureIds) > maximumPicturesCountOfTransaction { + return nil, errs.ErrTransactionHasTooManyPictures } if transactionCreateReq.Type < models.TRANSACTION_TYPE_MODIFY_BALANCE || transactionCreateReq.Type > models.TRANSACTION_TYPE_TRANSFER { @@ -776,8 +779,8 @@ func (a *TransactionsApi) TransactionModifyHandler(c *core.WebContext) (any, *er return nil, errs.ErrTransactionTagIdInvalid } - if len(tagIds) > 10 { - return nil, errs.ErrTransactionTagTooMuch + if len(tagIds) > maximumTagsCountOfTransaction { + return nil, errs.ErrTransactionHasTooManyTags } pictureIds, err := utils.StringArrayToInt64Array(transactionModifyReq.PictureIds) @@ -787,8 +790,8 @@ func (a *TransactionsApi) TransactionModifyHandler(c *core.WebContext) (any, *er return nil, errs.ErrTransactionPictureIdInvalid } - if len(pictureIds) > 10 { - return nil, errs.ErrTransactionPictureTooMuch + if len(pictureIds) > maximumPicturesCountOfTransaction { + return nil, errs.ErrTransactionHasTooManyPictures } uid := c.GetCurrentUid() diff --git a/pkg/errs/transaction.go b/pkg/errs/transaction.go index 6af17ca6..517e16fb 100644 --- a/pkg/errs/transaction.go +++ b/pkg/errs/transaction.go @@ -27,4 +27,6 @@ var ( ErrCannotUseHiddenAccount = NewNormalError(NormalSubcategoryTransaction, 20, http.StatusBadRequest, "cannot use hidden account") ErrCannotUseHiddenTransactionCategory = NewNormalError(NormalSubcategoryTransaction, 21, http.StatusBadRequest, "cannot use hidden transaction category") ErrCannotUseHiddenTransactionTag = NewNormalError(NormalSubcategoryTransaction, 22, http.StatusBadRequest, "cannot use hidden transaction tag") + ErrTransactionHasTooManyTags = NewNormalError(NormalSubcategoryTransaction, 23, http.StatusBadRequest, "transaction has too many tags") + ErrTransactionHasTooManyPictures = NewNormalError(NormalSubcategoryTransaction, 24, http.StatusBadRequest, "transaction has too many pictures") ) diff --git a/pkg/errs/transaction_picture.go b/pkg/errs/transaction_picture.go index 904f6f1c..9a13002d 100644 --- a/pkg/errs/transaction_picture.go +++ b/pkg/errs/transaction_picture.go @@ -10,5 +10,4 @@ var ( ErrTransactionPictureIsEmpty = NewNormalError(NormalSubcategoryPicture, 3, http.StatusBadRequest, "transaction picture is empty") ErrTransactionPictureNoExists = NewNormalError(NormalSubcategoryPicture, 4, http.StatusNotFound, "transaction picture not exists") ErrTransactionPictureExtensionInvalid = NewNormalError(NormalSubcategoryPicture, 5, http.StatusNotFound, "transaction picture file extension invalid") - ErrTransactionPictureTooMuch = NewNormalError(NormalSubcategoryPicture, 6, http.StatusBadRequest, "transaction pictures too much") ) diff --git a/pkg/errs/transaction_tag.go b/pkg/errs/transaction_tag.go index 401b913e..2ee54321 100644 --- a/pkg/errs/transaction_tag.go +++ b/pkg/errs/transaction_tag.go @@ -10,5 +10,4 @@ var ( ErrTransactionTagNameAlreadyExists = NewNormalError(NormalSubcategoryTag, 3, http.StatusBadRequest, "transaction tag name already exists") ErrTransactionTagInUseCannotBeDeleted = NewNormalError(NormalSubcategoryTag, 4, http.StatusBadRequest, "transaction tag is in use and cannot be deleted") ErrTransactionTagIndexNotFound = NewNormalError(NormalSubcategoryTag, 5, http.StatusBadRequest, "transaction tag index not found") - ErrTransactionTagTooMuch = NewNormalError(NormalSubcategoryTag, 6, http.StatusBadRequest, "transaction tags too much") ) diff --git a/src/consts/transaction.js b/src/consts/transaction.js index 515d371a..78b0b516 100644 --- a/src/consts/transaction.js +++ b/src/consts/transaction.js @@ -38,10 +38,12 @@ const allTransactionEditScopeTypes = { const minAmountNumber = -99999999999; // -999999999.99 const maxAmountNumber = 99999999999; // 999999999.99 +const maxPictureCount = 10; export default { allTransactionTypes: allTransactionTypes, allTransactionEditScopeTypes: allTransactionEditScopeTypes, minAmountNumber: minAmountNumber, maxAmountNumber: maxAmountNumber, + maxPictureCount: maxPictureCount, }; diff --git a/src/locales/en.json b/src/locales/en.json index ba11bffa..72c5fd6b 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1064,6 +1064,8 @@ "cannot use hidden account": "You cannot use hidden account", "cannot use hidden transaction category": "You cannot use hidden transaction category", "cannot use hidden transaction tag": "You cannot use hidden transaction tag", + "transaction has too many tags": "There are too many tags in this transaction", + "transaction has too many pictures": "There are too many pictures in this 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", @@ -1081,7 +1083,6 @@ "transaction tag name already exists": "Transaction tag title already exists", "transaction tag is in use and cannot be deleted": "Transaction tag is in use and it cannot be deleted", "transaction tag index not found": "Transaction tag index is not found", - "transaction tags too much": "There are too many transaction tags", "data export not allowed": "User data export is not allowed", "transaction template id is invalid": "Transaction template ID is invalid", "transaction template not found": "Transaction template is not found", @@ -1095,7 +1096,6 @@ "transaction picture is empty": "Transaction picture file is empty", "transaction picture not exists": "Transaction picture does not exist", "transaction picture file extension invalid": "Transaction picture file extension is invalid", - "transaction pictures too much": "There are too many transaction pictures", "query items cannot be blank": "There are no query items", "query items too much": "There are too many query items", "query items have invalid item": "There is invalid item in query items", diff --git a/src/locales/zh_Hans.json b/src/locales/zh_Hans.json index 0f4ad497..061a7e1a 100644 --- a/src/locales/zh_Hans.json +++ b/src/locales/zh_Hans.json @@ -1064,6 +1064,8 @@ "cannot use hidden account": "您不能使用隐藏的账户", "cannot use hidden transaction category": "您不能使用隐藏的交易分类", "cannot use hidden transaction tag": "您不能使用隐藏的交易标签", + "transaction has too many tags": "交易中的标签过多", + "transaction has too many pictures": "交易中的图片过多", "transaction category id is invalid": "交易分类ID无效", "transaction category not found": "交易分类不存在", "transaction category type is invalid": "交易分类类型无效", @@ -1081,7 +1083,6 @@ "transaction tag name already exists": "交易标签标题已经存在", "transaction tag is in use and cannot be deleted": "交易标签正在被使用,无法删除", "transaction tag index not found": "交易标签索引不存在", - "transaction tags too much": "交易标签过多", "data export not allowed": "不允许用户数据导出", "transaction template id is invalid": "交易模板ID无效", "transaction template not found": "交易模板不存在", @@ -1095,7 +1096,6 @@ "transaction picture is empty": "交易图片文件为空", "transaction picture not exists": "交易图片不存在", "transaction picture file extension invalid": "交易图片文件扩展名无效", - "transaction pictures too much": "交易图片过多", "query items cannot be blank": "请求项目不能为空", "query items too much": "请求项目过多", "query items have invalid item": "请求项目中有非法项目", diff --git a/src/views/desktop/transactions/list/dialogs/EditDialog.vue b/src/views/desktop/transactions/list/dialogs/EditDialog.vue index ba72cc64..92d79b16 100644 --- a/src/views/desktop/transactions/list/dialogs/EditDialog.vue +++ b/src/views/desktop/transactions/list/dialogs/EditDialog.vue @@ -671,7 +671,7 @@ export default { return false; } - return !isArray(this.transaction.pictures) || this.transaction.pictures.length < 10; + return !isArray(this.transaction.pictures) || this.transaction.pictures.length < transactionConstants.maxPictureCount; }, mapProvider() { return getMapProvider(); diff --git a/src/views/mobile/transactions/EditPage.vue b/src/views/mobile/transactions/EditPage.vue index ab816b22..4b803823 100644 --- a/src/views/mobile/transactions/EditPage.vue +++ b/src/views/mobile/transactions/EditPage.vue @@ -790,7 +790,7 @@ export default { return false; } - return !isArray(this.transaction.pictures) || this.transaction.pictures.length < 10; + return !isArray(this.transaction.pictures) || this.transaction.pictures.length < transactionConstants.maxPictureCount; }, mapProvider() { return getMapProvider();