mirror of
				https://github.com/yangjian102621/geekai.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	fix: can not change user's power in admin console
This commit is contained in:
		@@ -56,6 +56,13 @@ WeChatBot = false
 | 
			
		||||
       AccessSecret = ""
 | 
			
		||||
       Bucket = ""
 | 
			
		||||
       Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com
 | 
			
		||||
   [OSS.AliYun]
 | 
			
		||||
       Endpoint = "oss-cn-hangzhou.aliyuncs.com"
 | 
			
		||||
       AccessKey = ""
 | 
			
		||||
       AccessSecret = ""
 | 
			
		||||
       Bucket = "chatgpt-plus"
 | 
			
		||||
       SubDir = ""
 | 
			
		||||
       Domain = ""
 | 
			
		||||
 | 
			
		||||
[[MjConfigs]]
 | 
			
		||||
  Enabled = false
 | 
			
		||||
 
 | 
			
		||||
@@ -150,8 +150,9 @@ type SystemConfig struct {
 | 
			
		||||
	EnabledReward bool    `json:"enabled_reward,omitempty"` // 启用众筹功能
 | 
			
		||||
	PowerPrice    float64 `json:"power_price,omitempty"`    // 算力单价
 | 
			
		||||
 | 
			
		||||
	OrderPayTimeout int   `json:"order_pay_timeout,omitempty"` //订单支付超时时间
 | 
			
		||||
	DefaultModels   []int `json:"default_models,omitempty"`    // 默认开通的 AI 模型
 | 
			
		||||
	OrderPayTimeout int    `json:"order_pay_timeout,omitempty"` //订单支付超时时间
 | 
			
		||||
	VipInfoText     string `json:"vip_info_text"`               // 会员页面充值说明
 | 
			
		||||
	DefaultModels   []int  `json:"default_models,omitempty"`    // 默认开通的 AI 模型
 | 
			
		||||
 | 
			
		||||
	MjPower   int `json:"mj_power,omitempty"`   // MJ 绘画消耗算力
 | 
			
		||||
	SdPower   int `json:"sd_power,omitempty"`   // SD 绘画消耗算力
 | 
			
		||||
 
 | 
			
		||||
@@ -89,7 +89,7 @@ func (h *UserHandler) Save(c *gin.Context) {
 | 
			
		||||
			resp.ERROR(c, "user not found")
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		var changePower = user.Power != data.Power
 | 
			
		||||
		var oldPower = user.Power
 | 
			
		||||
		user.Username = data.Username
 | 
			
		||||
		user.Status = data.Status
 | 
			
		||||
		user.Vip = data.Vip
 | 
			
		||||
@@ -98,22 +98,28 @@ func (h *UserHandler) Save(c *gin.Context) {
 | 
			
		||||
		user.ChatModels = utils.JsonEncode(data.ChatModels)
 | 
			
		||||
		user.ExpiredTime = utils.Str2stamp(data.ExpiredTime)
 | 
			
		||||
 | 
			
		||||
		res = h.DB.Updates(&user)
 | 
			
		||||
		res = h.DB.Select("username", "status", "vip", "power", "chat_roles_json", "chat_models_json", "expired_time").Updates(&user)
 | 
			
		||||
		if res.Error != nil {
 | 
			
		||||
			resp.ERROR(c, "更新数据库失败!")
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		// 记录算力日志
 | 
			
		||||
		if changePower {
 | 
			
		||||
		if oldPower != user.Power {
 | 
			
		||||
			mark := types.PowerAdd
 | 
			
		||||
			amount := user.Power - oldPower
 | 
			
		||||
			if oldPower > user.Power {
 | 
			
		||||
				mark = types.PowerSub
 | 
			
		||||
				amount = oldPower - user.Power
 | 
			
		||||
			}
 | 
			
		||||
			h.DB.Create(&model.PowerLog{
 | 
			
		||||
				UserId:    user.Id,
 | 
			
		||||
				Username:  user.Username,
 | 
			
		||||
				Type:      types.PowerGift,
 | 
			
		||||
				Amount:    user.Power,
 | 
			
		||||
				Amount:    amount,
 | 
			
		||||
				Balance:   user.Power,
 | 
			
		||||
				Mark:      types.PowerAdd,
 | 
			
		||||
				Mark:      mark,
 | 
			
		||||
				Model:     "管理员",
 | 
			
		||||
				Remark:    fmt.Sprintf("后台管理员强制修改用户算力,修改值:%d, 管理员ID:%d", user.Power, h.GetLoginUserId(c)),
 | 
			
		||||
				Remark:    fmt.Sprintf("后台管理员强制修改用户算力,修改前:%d,修改后:%d, 管理员ID:%d", oldPower, user.Power, h.GetLoginUserId(c)),
 | 
			
		||||
				CreatedAt: time.Now(),
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user