From c9218250073bdb1e896888ab27ffd26c5a1a71e1 Mon Sep 17 00:00:00 2001 From: xinian Date: Thu, 26 Feb 2026 10:40:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/controller/pet_fusion.go | 7 ++++--- modules/player/service/item.go | 35 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/logic/controller/pet_fusion.go b/logic/controller/pet_fusion.go index a743a6d1..1f07fa87 100644 --- a/logic/controller/pet_fusion.go +++ b/logic/controller/pet_fusion.go @@ -61,11 +61,12 @@ func (h Controller) PetFusion(data *pet.C2S_PetFusion, c *player.Player) (result if effect == 0 { return result, errorcode.ErrorCodes.ErrSpiritOrbNotExists } + c.Service.Item.UPDATEM(data.Item1[:], -1) - for _, v := range data.Item1 { - c.Service.Item.UPDATE(v, -1) + // for _, v := range data.Item1 { + // c.Service.Item.UPDATE(v, -1) - } + // } result = &pet.PetFusionInfo{ SoulID: 1000017, diff --git a/modules/player/service/item.go b/modules/player/service/item.go index 44dbb899..1d0b8ef7 100644 --- a/modules/player/service/item.go +++ b/modules/player/service/item.go @@ -59,7 +59,42 @@ func (s *ItemService) UPDATE(id uint32, count int) { } } +func (s *ItemService) UPDATEM(id []uint32, count int) { + if cool.Config.ServerInfo.IsVip != 0 && count < 0 { + return + } + if len(id)==0 { + return + } + m := s.dbm(s.Model) + ok, err := m.Where("item_id", id).Exist() + if err != nil { + panic(err) + } + if ok { + _, err := s.dbm(s.Model).WhereIn("item_id", id).Increment("item_cnt", count) + if err != nil { + panic(err) + } + + } else { + m := s.dbm(s.Model) + data :=g.List{} + for _, v := range id { + data=append(data, g.Map{ + "player_id": s.userid, + "item_id": v, + "item_cnt": count, + "is_vip": cool.Config.ServerInfo.IsVip, + }) + } + + + m.Data(data).Insert() + } + +} func (s *ItemService) CheakItem(id uint32) int64 { var ttt model.Item m := s.dbm(s.Model)