1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package service
- import (
- "context"
- "time"
- "go-common/app/job/main/videoup-report/model/archive"
- "go-common/app/job/main/videoup-report/model/email"
- "go-common/library/log"
- "go-common/library/queue/databus/report"
- )
- func (s *Service) arcReply(c context.Context, a *archive.Archive, replySwitch int64) (err error) {
- if replySwitch != archive.ReplyOn && replySwitch != archive.ReplyOff {
- log.Error("arcReply aid(%d) archive replySwitch(%d) 's state is unknow!", a.ID, replySwitch)
- return
- }
- replyState, _ := s.dataDao.CheckReply(c, a.ID)
- //删除之前的重试机会,避免延迟重试覆盖最新结果
- //s.removeRetry(c, a.ID, email.RetryActionReply)
- if replySwitch == archive.ReplyOn {
- err = s.openReply(c, a, replyState)
- } else {
- err = s.closeReply(c, a, replyState)
- }
- return
- }
- func (s *Service) openReply(c context.Context, a *archive.Archive, oldState int64) (err error) {
- if a == nil {
- return
- }
- if err = s.dataDao.OpenReply(c, a.ID, a.Mid); err != nil {
- log.Error("openReply s.dataDao.OpenReply(%d,%d) error(%v)", a.ID, a.Mid, err)
- s.addRetry(c, a.ID, email.RetryActionReply, archive.ReplyOn, oldState)
- return
- }
- if oldState == archive.ReplyOn {
- return
- }
- if oldState != archive.ReplyOn && oldState != archive.ReplyOff {
- oldState = archive.ReplyDefault
- }
- s.logJob(a, archive.ReplyDesc[archive.ReplyOn], archive.ReplyDesc[oldState])
- return
- }
- func (s *Service) closeReply(c context.Context, a *archive.Archive, oldState int64) (err error) {
- if a == nil {
- return
- }
- if err = s.dataDao.CloseReply(c, a.ID, a.Mid); err != nil {
- log.Error("closeReply s.dataDao.CloseReply(%d,%d) error(%v)", a.ID, a.Mid, err)
- s.addRetry(c, a.ID, email.RetryActionReply, archive.ReplyOff, oldState)
- return
- }
- if oldState == archive.ReplyOff {
- return
- }
- if oldState != archive.ReplyOn && oldState != archive.ReplyOff {
- oldState = archive.ReplyDefault
- }
- s.logJob(a, archive.ReplyDesc[archive.ReplyOff], archive.ReplyDesc[oldState])
- return
- }
- func (s *Service) logJob(a *archive.Archive, action string, oldAction string) {
- info := &report.ManagerInfo{
- Uname: "videoup-job",
- UID: 399,
- Business: archive.LogBusJob,
- Type: archive.LogTypeReply,
- Oid: a.ID,
- Action: action,
- Ctime: time.Now(),
- Index: []interface{}{a.State},
- Content: map[string]interface{}{"old": oldAction},
- }
- log.Info("logJob (%+v)", info)
- report.Manager(info)
- }
- func isOpenReplyState(state int) (val int) {
- if archive.NormalState(state) || state == archive.StateForbidFixed {
- val = 1
- }
- return
- }
|