Files
bl/modules/config/service/pet.go
昔念 9ae66a42d1 ```
fix(fight_boss): 修复NPC战斗中宠物ID和闪光属性处理逻辑

- 在NPC战斗中,当refPet.Ext不为0时,正确设置refPet.Id
- 当refPet.Ext不为0且满足随机条件时,为怪物添加随机闪光属性
- 修正了宠物信息生成时的ID使用逻辑

fix(monster): 修正注释说明稀有精灵概率计算

- 更新注释说明,明确单个ID固定刷出时的概率变尼尔尼奥不是稀有精灵

refactor(player): 重构宠物闪光属性随机生成逻辑

- 简化OgrePetInfo.RandSHiny方法的条件判断逻辑
- 统一闪光属性随机生成的处理方式

fix(task): 修复任务奖励物品信息返回

- 修正任务奖励
2026-01-01 00:30:09 +08:00

43 lines
749 B
Go

package service
import (
"blazing/cool"
"blazing/modules/config/model"
"github.com/gogf/gf/v2/database/gdb"
)
type PetRewardService struct {
*cool.Service
}
func NewPetRewardService() *PetRewardService {
return &PetRewardService{
&cool.Service{
Model: model.NewPetReward(),
},
}
}
func (s *PetRewardService) GetEgg() model.PetReward {
var item model.PetReward
cool.DBM(s.Model).Where("is_egg", 1).Where("is_enabled", 1).OrderRandom().Limit(1).Scan(&item)
return item
}
func (s *PetRewardService) Get(id uint32) *model.PetReward {
if id == 0 {
return nil
}
var item *model.PetReward
cool.DBM(s.Model).Where("id", id).
Cache(gdb.CacheOption{
// Duration: time.Hour,
Force: false,
}).Scan(&item)
return item
}