This commit is contained in:
cdle 2021-08-19 20:42:01 +08:00
parent c9f756da85
commit 83af478508
2 changed files with 13 additions and 8 deletions

View File

@ -100,9 +100,9 @@ var handleMessage = func(msgs ...interface{}) interface{} {
if len(msgs) == 4 {
gid = msgs[3].(int)
}
// if new, rt := NewActiveUser(tp, uid); new {
// sendMessagee(rt, msgs...)
// }
if new, rt := NewActiveUser(tp, uid); new {
sendMessagee(rt, msgs...)
}
switch msg {
case "status", "状态":
if !isAdmin(msgs...) {

View File

@ -26,8 +26,10 @@ func NewActiveUser(class string, uid int) (bool, string) {
var u User
var ntime = time.Now()
var first = false
msg := ""
total := []int{}
err := db.Where("class = ? and number = ?", class, uid).First(&u).Error
tx := db.Begin()
err := tx.Where("class = ? and number = ?", class, uid).First(&u).Error
if err != nil {
first = true
u = User{
@ -36,13 +38,14 @@ func NewActiveUser(class string, uid int) (bool, string) {
Coin: 1,
ActiveAt: ntime,
}
if err := db.Create(u).Error; err != nil {
if err := tx.Create(&u).Error; err != nil {
tx.Rollback()
return true, err.Error()
}
} else {
if zero.After(u.ActiveAt) {
first = true
db.Updates(map[string]interface{}{
tx.Updates(map[string]interface{}{
"active_at": ntime,
"coin": gorm.Expr("coin+1"),
})
@ -50,7 +53,9 @@ func NewActiveUser(class string, uid int) (bool, string) {
}
}
if first {
db.Select("count(id) as total").Where("active_at > ?", u.ActiveAt).Pluck("total", &total)
tx.Model(User{}).Select("count(id) as total").Where("active_at > ?", zero).Pluck("total", &total)
msg = fmt.Sprintf("你是今天第%d个发言的用户奖励%d个心愿币心愿币余额%d。", total[0]+1, 1, u.Coin)
}
return first, fmt.Sprintf("你是今天第%d个发言的用户奖励%d个心愿币心愿币余额%d", total[0]+1, 1, u.Coin)
tx.Commit()
return first, msg
}