From e2ac5a6325fdcbab6f7858f9fdc111894e6bd137 Mon Sep 17 00:00:00 2001 From: xinian Date: Wed, 18 Mar 2026 11:14:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=AE=A0=E7=89=A9?= =?UTF-8?q?=E8=9B=8B=E7=BB=93=E6=9E=9C=E8=AE=A1=E7=AE=97=E5=92=8C=E9=87=91?= =?UTF-8?q?=E5=B8=81=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/config/service/egg.go | 4 ++-- modules/player/controller/admin/pet.go | 10 ++++++++++ modules/player/service/egg.go | 2 +- modules/player/service/pet.go | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/config/service/egg.go b/modules/config/service/egg.go index aa845c446..bce96282a 100644 --- a/modules/config/service/egg.go +++ b/modules/config/service/egg.go @@ -35,7 +35,7 @@ func (s *EggService) GetData(p1 uint32) []int32 { return petIDs } -func (s *EggService) GetResult(m, f uint32) (uint32, bool) { +func (s *EggService) GetResult(m, f, level uint32) (uint32, bool) { //cacheKey := strings.Join([]string{fmt.Sprintf("%d", p1), fmt.Sprintf("%d", p2)}, ":") md := dbm_enable(s.Model) @@ -43,7 +43,7 @@ func (s *EggService) GetResult(m, f uint32) (uint32, bool) { md.Wheref(`male_pet_ids @> ARRAY[?]::integer[]`, m). Wheref(`female_pet_ids @> ARRAY[?]::integer[]`, f).Scan(&pet) if pet != nil { - + pet.OutputMons[len(pet.OutputMons)-1] += int32(level) t, _ := utils.RandomByWeight(pet.OutputMons, pet.Probs) if pet.OutputMons[len(pet.OutputMons)-1] == int32(t) { return uint32(t), true diff --git a/modules/player/controller/admin/pet.go b/modules/player/controller/admin/pet.go index 2129fe435..3259faf26 100644 --- a/modules/player/controller/admin/pet.go +++ b/modules/player/controller/admin/pet.go @@ -3,10 +3,12 @@ package admin import ( "blazing/common/data" "blazing/cool" + base "blazing/modules/base/service" config "blazing/modules/config/service" "blazing/modules/player/model" "blazing/modules/player/service" "context" + "fmt" "github.com/gogf/gf/v2/frame/g" ) @@ -98,6 +100,14 @@ func (c *PetBagController) ModPrise(ctx context.Context, req *PriseReq) (res *co if req.Price < 5 { req.Price = 5 } + if req.IsSale == 1 { + + if base.NewBaseSysUserService().GetFreeGold(admin.UserId) < 0 { + err = fmt.Errorf("金币不足") + return + } + + } err = service.NewPetService(uint32(admin.UserId)).UPdatePrice(req.Ctime, req.Price, req.IsSale) return diff --git a/modules/player/service/egg.go b/modules/player/service/egg.go index ee80e2b22..1eb211fa6 100644 --- a/modules/player/service/egg.go +++ b/modules/player/service/egg.go @@ -156,7 +156,7 @@ func (s *EggService) GetEgg() *model.PetInfo { return nil } - mpets, isshiny := service.NewEggService().GetResult(tt.CurEgg.MalePetID, tt.CurEgg.FeMalePetID) + mpets, isshiny := service.NewEggService().GetResult(tt.CurEgg.MalePetID, tt.CurEgg.FeMalePetID,tt.CurEgg.EggID+tt.Data.Intimacy) if mpets == 0 { return nil } diff --git a/modules/player/service/pet.go b/modules/player/service/pet.go index 7eef90c4d..bf689cb5e 100644 --- a/modules/player/service/pet.go +++ b/modules/player/service/pet.go @@ -44,7 +44,7 @@ func (s *PetService) PetCount(flag int) int { func (s *PetService) UPdateFree(ctime uint32, free uint32) { - s.dbm(s.Model).Where("catch_time", ctime).Data( + s.dbm(s.Model).Where("catch_time", ctime).Where("is_sale", 0).Data( "free", free, ).Update()