123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package service
- import (
- "context"
- "time"
- "go-common/app/admin/main/spy/conf"
- spydao "go-common/app/admin/main/spy/dao"
- "go-common/app/admin/main/spy/model"
- "go-common/library/log"
- )
- // Service biz service def.
- type Service struct {
- c *conf.Config
- spyDao *spydao.Dao
- allEventName map[int64]string
- loadEventTick time.Duration
- }
- // New new a Service and return.
- func New(c *conf.Config) (s *Service) {
- s = &Service{
- c: c,
- spyDao: spydao.New(c),
- allEventName: make(map[int64]string),
- loadEventTick: time.Duration(c.Property.LoadEventTick),
- }
- s.loadeventname()
- go s.loadeventproc()
- return
- }
- // Ping check dao health.
- func (s *Service) Ping(c context.Context) (err error) {
- return s.spyDao.Ping(c)
- }
- // Wait wait all closed.
- func (s *Service) Wait() {
- }
- // Close close all dao.
- func (s *Service) Close() {
- s.spyDao.Close()
- }
- func (s *Service) loadeventname() (err error) {
- var (
- c = context.TODO()
- es []*model.Event
- )
- es, err = s.spyDao.AllEvent(c)
- if err != nil {
- log.Error("loadeventname allevent error(%v)", err)
- return
- }
- tmp := make(map[int64]string, len(es))
- for _, e := range es {
- tmp[e.ID] = e.NickName
- }
- s.allEventName = tmp
- log.V(2).Info("loadeventname (%v) load success", tmp)
- return
- }
- func (s *Service) loadeventproc() {
- for {
- time.Sleep(s.loadEventTick)
- s.loadeventname()
- }
- }
|