go-common/app/interface/main/app-resource/service/show/service.go
2019-04-22 18:49:16 +08:00

53 lines
1.4 KiB
Go

package show
import (
"time"
"go-common/app/interface/main/app-resource/conf"
adtdao "go-common/app/interface/main/app-resource/dao/audit"
resdao "go-common/app/interface/main/app-resource/dao/resource"
tabdao "go-common/app/interface/main/app-resource/dao/tab"
"go-common/app/interface/main/app-resource/model/show"
"go-common/app/interface/main/app-resource/model/tab"
resource "go-common/app/service/main/resource/model"
)
// Service is showtab service.
type Service struct {
c *conf.Config
//dao
rdao *resdao.Dao
tdao *tabdao.Dao
adt *adtdao.Dao
tick time.Duration
tabCache map[string][]*show.Tab
limitsCahce map[int64][]*resource.SideBarLimit
menuCache []*tab.Menu
abtestCache map[string]*resource.AbTest
showTabMids map[int64]struct{}
auditCache map[string]map[int]struct{} // audit mobi_app builds
}
// New new a showtab service.
func New(c *conf.Config) (s *Service) {
s = &Service{
c: c,
rdao: resdao.New(c),
tdao: tabdao.New(c),
adt: adtdao.New(c),
tick: time.Duration(c.Tick),
tabCache: map[string][]*show.Tab{},
limitsCahce: map[int64][]*resource.SideBarLimit{},
menuCache: []*tab.Menu{},
abtestCache: map[string]*resource.AbTest{},
showTabMids: map[int64]struct{}{},
auditCache: map[string]map[int]struct{}{},
}
if err := s.loadCache(); err != nil {
panic(err)
}
s.loadShowTabAids()
go s.loadCacheproc()
return
}