xdd-plus/models/user.go
u188 b6cb2f5648 update models/user.go.
互助值重新赋值
2021-09-13 07:46:12 +00:00

66 lines
1.2 KiB
Go

package models
import (
"fmt"
"time"
"gorm.io/gorm"
)
type User struct {
ID int
Number int `gorm:"unique"`
Class string
ActiveAt time.Time
Coin int
}
func ClearCoin(uid int) int {
var u User
if db.Where("number = ?", uid).First(&u).Error != nil {
return 0
}
db.Model(u).Updates(map[string]interface{}{
"coin": gorm.Expr(fmt.Sprintf("%d",1)),
})
u.Coin=1
return u.Coin
}
func AdddCoin(uid int , num int) int {
var u User
if db.Where("number = ?", uid).First(&u).Error != nil {
return 0
}
db.Model(u).Updates(map[string]interface{}{
"coin": gorm.Expr(fmt.Sprintf("coin+%d",num)),
})
u.Coin+=num
return u.Coin
}
func AddCoin(uid int) int {
var u User
if db.Where("number = ?", uid).First(&u).Error != nil {
return 0
}
db.Model(u).Updates(map[string]interface{}{
"coin": gorm.Expr("coin+1"),
})
u.Coin++
return u.Coin
}
func RemCoin(uid int, num int) int {
var u User
db.Where("number = ?", uid).First(&u)
db.Model(u).Updates(map[string]interface{}{
"coin": gorm.Expr(fmt.Sprintf("coin-%d", num)),
})
u.Coin -= num
return u.Coin
}
func GetCoin(uid int) int {
var u User
db.Where("number = ?", uid).First(&u)
return u.Coin
}