12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package goblin
- import (
- "context"
- "go-common/app/interface/main/tv/conf"
- "go-common/app/interface/main/tv/dao/account"
- "go-common/app/interface/main/tv/dao/archive"
- gobDao "go-common/app/interface/main/tv/dao/goblin"
- "go-common/app/interface/main/tv/model"
- "go-common/app/interface/main/tv/model/goblin"
- tvapi "go-common/app/service/main/tv/api"
- )
- // Service .
- type Service struct {
- conf *conf.Config
- dao *gobDao.Dao
- accDao *account.Dao
- arcDao *archive.Dao
- ChlSplash map[string]string // channel's splash data
- Hotword []*model.Hotword // search hotword data
- VipQns map[string]int // playurl qualities for vips
- labels *goblin.IndexLabels
- tvCilent tvapi.TVServiceClient
- }
- var ctx = context.TODO()
- // New .
- func New(c *conf.Config) *Service {
- srv := &Service{
- conf: c,
- dao: gobDao.New(c),
- ChlSplash: make(map[string]string),
- VipQns: make(map[string]int),
- accDao: account.New(c),
- arcDao: archive.New(c),
- labels: &goblin.IndexLabels{},
- }
- var err error
- if srv.tvCilent, err = tvapi.NewClient(c.TvVipClient); err != nil {
- panic(err)
- }
- for _, v := range c.Cfg.VipQns {
- srv.VipQns[v] = 1
- }
- go srv.loadSph() // splash
- go srv.loadHotword() // hotword
- go srv.loadSphproc() // splash proc
- go srv.loadHotwordproc() // hotword proc
- srv.prepareLabels() // prepare index labels
- go srv.labelsproc()
- return srv
- }
|