diff --git a/logic/controller/pet_fusion.go b/logic/controller/pet_fusion.go index 33e71da16..a743a6d11 100644 --- a/logic/controller/pet_fusion.go +++ b/logic/controller/pet_fusion.go @@ -47,12 +47,14 @@ func (h Controller) PetFusion(data *pet.C2S_PetFusion, c *player.Player) (result if Auxpetinfo.Nature == Mcatchpetinfo.Nature { natureId = int32(Auxpetinfo.Nature) } - for _, v := range data.Item1 { - if c.Service.Item.CheakItem(v) == 0 { + + for _, v := range c.Service.Item.CheakItemM(data.Item1[:]...) { + + if v.ItemCnt <= 0 { return result, errorcode.ErrorCodes.ErrInsufficientItems } - } + resid := int(service.NewPetFusionService().Data(Mcatchpetinfo.ID, Auxpetinfo.ID, Mcatchpetinfo.Level+Auxpetinfo.Level)) effect := int(service.NewPetFusionMaterialService().Data(data.Item1)) diff --git a/modules/player/service/item.go b/modules/player/service/item.go index 8fe522bcd..44dbb8992 100644 --- a/modules/player/service/item.go +++ b/modules/player/service/item.go @@ -67,6 +67,13 @@ func (s *ItemService) CheakItem(id uint32) int64 { m.Where("item_id", id).Scan(&ttt) return ttt.ItemCnt } +func (s *ItemService) CheakItemM(id ...uint32) []model.Item { + var ttt []model.Item + m := s.dbm(s.Model) + + m.WhereIn("item_id", id).Scan(&ttt) + return ttt +} // /添加进来的物品一定是保证存在的 type ItemService struct {