From fd650b41a1e3bcd2e06f8f9abe395e114408e2d1 Mon Sep 17 00:00:00 2001 From: Kelvin Date: Thu, 20 Jul 2023 09:29:56 +0800 Subject: [PATCH] Revert "update" This reverts commit 10c5cf55439fa846fe8bf58d717e49459f1cf437. --- main.go | 1 - service.go | 70 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/main.go b/main.go index c357148..997a2eb 100644 --- a/main.go +++ b/main.go @@ -134,7 +134,6 @@ type ModelInfo struct { ModelPrice float64 `json:"model_price"` ModelPrice2 float64 `json:"model_price2"` ModelPrepayment int `json:"model_prepayment"` - ServerId int `json:"server_id"` } var ( diff --git a/service.go b/service.go index 3cc3467..2683d0e 100644 --- a/service.go +++ b/service.go @@ -59,24 +59,12 @@ func queryBlance(key string) (float64, error) { // 余额查询 func checkBlance(key string, model string) (ServerInfo, error) { var serverInfo ServerInfo - - //获取模型价格 - modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() - if err != nil { - return serverInfo, errors.New("模型信息不存在") - } - var modelInfo ModelInfo - err = json.Unmarshal([]byte(modelPriceStr), &modelInfo) - if err != nil { - return serverInfo, errors.New("模型信息解析失败") - } - //获取用户信息 userInfoStr, err := Redis.Get(context.Background(), "user:"+key).Result() var userInfo UserInfo err = json.Unmarshal([]byte(userInfoStr), &userInfo) //获取服务器信息 - serverInfoStr, err := Redis.Get(context.Background(), "server:"+string(modelInfo.ServerId)).Result() + serverInfoStr, err := Redis.Get(context.Background(), "server:"+userInfo.SID).Result() if err != nil { return serverInfo, errors.New("服务器信息不存在") } @@ -84,7 +72,16 @@ func checkBlance(key string, model string) (ServerInfo, error) { if err != nil { return serverInfo, errors.New("服务器信息解析失败") } - + //获取模型价格 + modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() + if err != nil { + return serverInfo, errors.New("模型信息不存在") + } + var modelInfo ModelInfo + err = json.Unmarshal([]byte(modelPriceStr), &modelInfo) + if err != nil { + return serverInfo, errors.New("模型信息解析失败") + } //计算余额-先扣除指定金额 balance, err := Redis.IncrByFloat(context.Background(), "user:"+userInfo.UID+":balance", -(float64(modelInfo.ModelPrepayment) * modelInfo.ModelPrice)).Result() if err != nil { @@ -102,24 +99,12 @@ func checkBlance(key string, model string) (ServerInfo, error) { // 余额查询 for images func checkBlanceForImages(key string, model string, n int) (ServerInfo, error) { var serverInfo ServerInfo - - //获取模型价格 - modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() - if err != nil { - return serverInfo, errors.New("模型信息不存在") - } - var modelInfo ModelInfo - err = json.Unmarshal([]byte(modelPriceStr), &modelInfo) - if err != nil { - return serverInfo, errors.New("模型信息解析失败") - } - //获取用户信息 userInfoStr, err := Redis.Get(context.Background(), "user:"+key).Result() var userInfo UserInfo err = json.Unmarshal([]byte(userInfoStr), &userInfo) //获取服务器信息 - serverInfoStr, err := Redis.Get(context.Background(), "server:"+string(modelInfo.ServerId)).Result() + serverInfoStr, err := Redis.Get(context.Background(), "server:"+userInfo.SID).Result() if err != nil { return serverInfo, errors.New("服务器信息不存在") } @@ -127,7 +112,16 @@ func checkBlanceForImages(key string, model string, n int) (ServerInfo, error) { if err != nil { return serverInfo, errors.New("服务器信息解析失败") } - + //获取模型价格 + modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() + if err != nil { + return serverInfo, errors.New("模型信息不存在") + } + var modelInfo ModelInfo + err = json.Unmarshal([]byte(modelPriceStr), &modelInfo) + if err != nil { + return serverInfo, errors.New("模型信息解析失败") + } //计算余额-先扣除指定金额 balance, err := Redis.IncrByFloat(context.Background(), "user:"+userInfo.UID+":balance", -(float64(modelInfo.ModelPrepayment*n) * modelInfo.ModelPrice)).Result() if err != nil { @@ -144,10 +138,20 @@ func checkBlanceForImages(key string, model string, n int) (ServerInfo, error) { // 预扣返还 func checkBlanceReturn(key string, model string) error { + var serverInfo ServerInfo //获取用户信息 userInfoStr, err := Redis.Get(context.Background(), "user:"+key).Result() var userInfo UserInfo err = json.Unmarshal([]byte(userInfoStr), &userInfo) + //获取服务器信息 + serverInfoStr, err := Redis.Get(context.Background(), "server:"+userInfo.SID).Result() + if err != nil { + return errors.New("服务器信息不存在") + } + err = json.Unmarshal([]byte(serverInfoStr), &serverInfo) + if err != nil { + return errors.New("服务器信息解析失败") + } //获取模型价格 modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() if err != nil { @@ -165,10 +169,20 @@ func checkBlanceReturn(key string, model string) error { // 预扣返还 for images func checkBlanceReturnForImages(key string, model string, n int) error { + var serverInfo ServerInfo //获取用户信息 userInfoStr, err := Redis.Get(context.Background(), "user:"+key).Result() var userInfo UserInfo err = json.Unmarshal([]byte(userInfoStr), &userInfo) + //获取服务器信息 + serverInfoStr, err := Redis.Get(context.Background(), "server:"+userInfo.SID).Result() + if err != nil { + return errors.New("服务器信息不存在") + } + err = json.Unmarshal([]byte(serverInfoStr), &serverInfo) + if err != nil { + return errors.New("服务器信息解析失败") + } //获取模型价格 modelPriceStr, err := Redis.Get(context.Background(), "model:"+model).Result() if err != nil {