2025-12-08 19:31:59 +08:00
|
|
|
package service
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"blazing/cool"
|
|
|
|
|
"blazing/modules/blazing/model"
|
2025-12-09 00:09:51 +08:00
|
|
|
"context"
|
2025-12-08 19:31:59 +08:00
|
|
|
|
|
|
|
|
"github.com/gogf/gf/v2/os/gcache"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type TalkConfigService struct {
|
|
|
|
|
*cool.Service
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-08 21:11:12 +08:00
|
|
|
var TalkConfigServiceS = NewTalkConfigService()
|
|
|
|
|
|
2025-12-08 19:31:59 +08:00
|
|
|
func NewTalkConfigService() *TalkConfigService {
|
|
|
|
|
return &TalkConfigService{
|
|
|
|
|
|
|
|
|
|
Service: &cool.Service{Model: model.NewMineralCollectionConfig(),
|
|
|
|
|
Cache: gcache.New()},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-12-08 21:11:12 +08:00
|
|
|
|
|
|
|
|
func (s *TalkConfigService) GetCache(flag int) []model.MineralCollectionConfig {
|
2025-12-09 00:09:51 +08:00
|
|
|
|
|
|
|
|
ret, _ := s.Cache.GetOrSetFuncLock(context.Background(), flag, func(context.Context) (interface{}, error) {
|
|
|
|
|
var config []model.MineralCollectionConfig
|
|
|
|
|
cool.DBM(s.Model).Where("type", flag).Scan(&config)
|
|
|
|
|
return config, nil
|
|
|
|
|
}, 0)
|
|
|
|
|
return ret.Interface().([]model.MineralCollectionConfig)
|
2025-12-08 21:11:12 +08:00
|
|
|
|
|
|
|
|
}
|