This commit is contained in:
@@ -48,7 +48,11 @@ func init() {
|
||||
}
|
||||
|
||||
havs := itemService.CheakItem(400501)
|
||||
if havs < int64(count) {
|
||||
if havs <= int64(count) {
|
||||
ctx.Send("扭蛋币不足,当前扭蛋币数量:" + gconv.String(havs))
|
||||
return
|
||||
}
|
||||
if err := itemService.UPDATE(400501, -count); err != nil {
|
||||
ctx.Send("扭蛋币不足,当前扭蛋币数量:" + gconv.String(havs))
|
||||
return
|
||||
}
|
||||
@@ -140,8 +144,6 @@ func init() {
|
||||
buf.WriteString("恭喜你获得 " + xmlres.ItemsMAP[int(item.ItemId)].Name + ":" + gconv.String(item.ItemCnt) + "\n")
|
||||
}
|
||||
|
||||
itemService.UPDATE(400501, -count)
|
||||
|
||||
ctx.SendChain(message.At(ctx.Event.Sender.ID), message.Reply(ctx.Event.MessageID), message.Text(buf.String()))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
dictservice "blazing/modules/dict/service"
|
||||
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
@@ -58,12 +59,28 @@ func (s *ItemService) UPDATE(id uint32, count int) error {
|
||||
return err
|
||||
}
|
||||
if ok {
|
||||
_, err := s.dbm(s.Model).Where("item_id", id).Increment("item_cnt", count)
|
||||
updateModel := s.dbm(s.Model).Where("item_id", id)
|
||||
if count < 0 {
|
||||
updateModel = updateModel.Where("item_cnt + ? > 0", count)
|
||||
}
|
||||
|
||||
result, err := updateModel.Increment("item_cnt", count)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
affected, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if affected == 0 {
|
||||
return gerror.New("item update failed: no rows affected")
|
||||
}
|
||||
|
||||
} else {
|
||||
if count <= 0 {
|
||||
return gerror.New("item update failed: cannot insert non-positive item count")
|
||||
}
|
||||
m := s.dbm(s.Model)
|
||||
data := g.Map{
|
||||
"player_id": s.userid,
|
||||
|
||||
Reference in New Issue
Block a user