From edacd13025e26c23fc41bce900f3826a188b2c69 Mon Sep 17 00:00:00 2001 From: "Laisky.Cai" Date: Thu, 16 Nov 2023 04:53:08 +0000 Subject: [PATCH] feat:Exclude fields from database schema and add additional field to struct - Add `gorm:"-"` tag to exclude certain fields from the database schema - Add `AddReason` field to the `updateTokenDto` struct - Record consumption log if `AddUsedQuota` is non-zero - Record token quota modification log if `AddRemainQuota` is non-zero - Update and save `cleanToken` with new values --- controller/token.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/controller/token.go b/controller/token.go index a452102b..db2b64fe 100644 --- a/controller/token.go +++ b/controller/token.go @@ -169,9 +169,10 @@ type updateTokenDto struct { RemainQuota *int `json:"remain_quota" gorm:"default:0"` UnlimitedQuota *bool `json:"unlimited_quota" gorm:"default:false"` // AddRemainQuota add or subtract remain quota - AddRemainQuota int `json:"add_remain_quota"` + AddRemainQuota int `json:"add_remain_quota" gorm:"-"` // AddUsedQuota add or subtract used quota - AddUsedQuota int `json:"add_used_quota"` + AddUsedQuota int `json:"add_used_quota" gorm:"-"` + AddReason string `json:"add_reason" gorm:"-"` } func UpdateToken(c *gin.Context) { @@ -245,6 +246,13 @@ func UpdateToken(c *gin.Context) { cleanToken.RemainQuota += tokenPatch.AddRemainQuota cleanToken.UsedQuota += tokenPatch.AddUsedQuota + if tokenPatch.AddUsedQuota != 0 { + model.RecordLog(userId, model.LogTypeConsume, fmt.Sprintf("外部(%s)消耗 %s", tokenPatch.AddReason, common.LogQuota(tokenPatch.AddUsedQuota))) + } + if tokenPatch.AddRemainQuota != 0 { + model.RecordLog(userId, model.LogTypeManage, fmt.Sprintf("修改令牌可用额度(%s) %s", tokenPatch.AddReason, common.LogQuota(tokenPatch.AddRemainQuota))) + } + if err = cleanToken.Update(); err != nil { c.JSON(http.StatusOK, gin.H{ "success": false,