fix: 修复切片长度校验和内存分配防护问题
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

refactor: 优化战斗循环中的宠物处理逻辑
refactor: 重构物品更新服务使用ORM模型
This commit is contained in:
xinian
2026-02-22 21:46:36 +08:00
committed by cnb
parent 3e4b091724
commit 932e199622
3 changed files with 50 additions and 28 deletions

View File

@@ -32,27 +32,30 @@ func (s *ItemService) UPDATE(id uint32, count int) {
return
}
if id == 0 {
return
}
m := s.dbm(s.Model)
if t, _ := m.Where("item_id", id).Exist(); t {
_, err := s.dbm(s.Model).Where("item_id", id).Increment("item_cnt", count)
if err != nil {
panic(err)
}
} else {
m := s.dbm(s.Model)
data := g.Map{
"player_id": s.userid,
"item_id": id,
"item_cnt": count,
"is_vip": cool.Config.ServerInfo.IsVip,
}
var ttt model.Item
s.dbm(s.Model).Scan(&ttt)
ttt.PlayerID = uint64(s.userid)
ttt.ItemId = id
ttt.IsVip = cool.Config.ServerInfo.IsVip
ttt.ItemCnt += int64(count)
s.dbm(s.Model).Save(ttt)
// if t, _ := m.Where("item_id", id).Exist(); t {
// _, err := s.dbm(s.Model).Where("item_id", id).Increment("item_cnt", count)
// if err != nil {
// panic(err)
// }
// } else {
// m := s.dbm(s.Model)
// data := g.Map{
// "player_id": s.userid,
// "item_id": id,
// "item_cnt": count,
// "is_vip": cool.Config.ServerInfo.IsVip,
// }
m.Data(data).Insert()
}
// m.Data(data).Insert()
// }
}