From a0a3807bd4e6ea7a43161efe622e059f74d5d09c Mon Sep 17 00:00:00 2001 From: CalciumIon <1808837298@qq.com> Date: Sun, 4 Aug 2024 03:12:24 +0800 Subject: [PATCH] chore: epay --- controller/topup.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/controller/topup.go b/controller/topup.go index 995f4126..c4b1aa91 100644 --- a/controller/topup.go +++ b/controller/topup.go @@ -41,12 +41,12 @@ func GetEpayClient() *epay.Client { return withUrl } -func getPayMoney(amount float64, user model.User) float64 { +func getPayMoney(amount float64, group string) float64 { if !common.DisplayInCurrencyEnabled { amount = amount / common.QuotaPerUnit } // 别问为什么用float64,问就是这么点钱没必要 - topupGroupRatio := common.GetTopupGroupRatio(user.Group) + topupGroupRatio := common.GetTopupGroupRatio(group) if topupGroupRatio == 0 { topupGroupRatio = 1 } @@ -75,8 +75,12 @@ func RequestEpay(c *gin.Context) { } id := c.GetInt("id") - user, _ := model.GetUserById(id, false) - payMoney := getPayMoney(float64(req.Amount), *user) + group, err := model.CacheGetUserGroup(id) + if err != nil { + c.JSON(200, gin.H{"message": "error", "data": "获取用户分组失败"}) + return + } + payMoney := getPayMoney(float64(req.Amount), group) if payMoney < 0.01 { c.JSON(200, gin.H{"message": "error", "data": "充值金额过低"}) return @@ -233,8 +237,12 @@ func RequestAmount(c *gin.Context) { return } id := c.GetInt("id") - user, _ := model.GetUserById(id, false) - payMoney := getPayMoney(float64(req.Amount), *user) + group, err := model.CacheGetUserGroup(id) + if err != nil { + c.JSON(200, gin.H{"message": "error", "data": "获取用户分组失败"}) + return + } + payMoney := getPayMoney(float64(req.Amount), group) if payMoney <= 0.01 { c.JSON(200, gin.H{"message": "error", "data": "充值金额过低"}) return