12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package service
- import (
- "context"
- "time"
- "go-common/app/job/main/spy/model"
- "go-common/library/ecode"
- "go-common/library/log"
- )
- // UpdateStatData update spy stat data.
- func (s *Service) UpdateStatData(c context.Context, m *model.SpyStatMessage) (err error) {
- //TODO check event resaon
- if s.allEventName[m.EventName] == 0 {
- log.Error("event name not found %+v", err)
- err = ecode.SpyEventNotExist
- return
- }
- stat := &model.Statistics{
- TargetMid: m.TargetMid,
- TargetID: m.TargetID,
- EventID: s.allEventName[m.EventName],
- State: model.WaiteCheck,
- Quantity: m.Quantity,
- Ctime: time.Now(),
- }
- if stat.TargetID != 0 {
- _, ok := s.activityEvents[m.EventName]
- if ok {
- stat.Type = model.ActivityType
- } else {
- stat.Type = model.ArchiveType
- }
- }
- // add stat
- if model.ResetStat == m.Type {
- if _, err = s.dao.AddStatistics(c, stat); err != nil {
- log.Error("%+v", err)
- return
- }
- } else {
- if _, err = s.dao.AddIncrStatistics(c, stat); err != nil {
- log.Error("%+v", err)
- return
- }
- }
- return
- }
|