重构 Talk 方法中物品奖励的获取方式,使用新的配置服务以支持多物品 ID 奖励机制。 移除了对 github.com/gogf/gf/v2/util/grand 包的依赖,改为通过服务获取实际物品数量。 同时更新了相关模型定义: - 修改 MineralCollectionConfig 中 ItemID 为数组形式以支持多个物品配置 - 调整 ItemGift 模型字段
34 lines
610 B
Go
34 lines
610 B
Go
package service
|
|
|
|
import (
|
|
"blazing/cool"
|
|
"blazing/modules/config/model"
|
|
|
|
"github.com/gogf/gf/v2/database/gdb"
|
|
)
|
|
|
|
type TalkConfigService struct {
|
|
*cool.Service
|
|
}
|
|
|
|
func NewTalkConfigService() *TalkConfigService {
|
|
return &TalkConfigService{
|
|
|
|
Service: &cool.Service{Model: model.NewMineralCollectionConfig()},
|
|
// Cache: gcache.New()},
|
|
}
|
|
|
|
}
|
|
|
|
func (s *TalkConfigService) GetCache(flag int) model.MineralCollectionConfig {
|
|
|
|
var config model.MineralCollectionConfig
|
|
cool.DBM(s.Model).Where("type", flag).Cache(gdb.CacheOption{
|
|
// Duration: time.Hour,
|
|
|
|
Force: false,
|
|
}).Scan(&config)
|
|
return config
|
|
|
|
}
|