92 lines
2.6 KiB
Go
92 lines
2.6 KiB
Go
|
package service
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"encoding/json"
|
||
|
"strconv"
|
||
|
|
||
|
"go-common/app/job/main/videoup-report/model/archive"
|
||
|
)
|
||
|
|
||
|
func (s *Service) trackArchive(nw *archive.Archive, old *archive.Archive) (err error) {
|
||
|
var (
|
||
|
bs []byte
|
||
|
remarks = make(map[string]string)
|
||
|
)
|
||
|
if addit, _ := s.arc.Addit(context.TODO(), nw.ID); addit != nil {
|
||
|
remarks["dynamic"] = addit.Dynamic
|
||
|
if addit.MissionID > 0 {
|
||
|
remarks["mission_id"] = strconv.FormatInt(addit.MissionID, 10)
|
||
|
}
|
||
|
}
|
||
|
if old == nil {
|
||
|
remarks["cover"] = nw.Cover
|
||
|
remarks["desc"] = nw.Content
|
||
|
remarks["title"] = nw.Title
|
||
|
remarks["typeid"] = strconv.Itoa(int(nw.TypeID))
|
||
|
remarks["copyright"] = strconv.Itoa(int(nw.Copyright))
|
||
|
bs, _ = json.Marshal(remarks)
|
||
|
} else if nw.State != old.State || nw.Access != old.Access || nw.Round != old.Round || nw.Content != old.Content ||
|
||
|
nw.Cover != old.Cover || nw.Title != old.Title || nw.TypeID != old.TypeID || nw.Copyright != old.Copyright || nw.Attribute != old.Attribute {
|
||
|
if nw.Cover != old.Cover {
|
||
|
remarks["cover"] = nw.Cover
|
||
|
}
|
||
|
if nw.Content != old.Content {
|
||
|
remarks["desc"] = nw.Content
|
||
|
}
|
||
|
if nw.Title != old.Title {
|
||
|
remarks["title"] = nw.Title
|
||
|
}
|
||
|
if nw.TypeID != old.TypeID {
|
||
|
remarks["typeid"] = strconv.Itoa(int(nw.TypeID))
|
||
|
}
|
||
|
if nw.Copyright != old.Copyright {
|
||
|
remarks["copyright"] = strconv.Itoa(int(nw.Copyright))
|
||
|
}
|
||
|
if len(remarks) != 0 {
|
||
|
bs, _ = json.Marshal(remarks)
|
||
|
}
|
||
|
if nw.State >= int(archive.StateOpen) && nw.Access == int(archive.AccessMember) {
|
||
|
nw.State = int(archive.AccessMember)
|
||
|
}
|
||
|
} else {
|
||
|
// NOTE: nothing modify
|
||
|
return
|
||
|
}
|
||
|
s.arc.AddTrack(context.TODO(), nw.ID, nw.State, nw.Round, nw.Attribute, string(bs), nw.MTime, nw.MTime)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func (s *Service) trackVideo(nw *archive.Video, old *archive.Video) (err error) {
|
||
|
var (
|
||
|
remarks = make(map[string]interface{})
|
||
|
bs []byte
|
||
|
)
|
||
|
if old == nil {
|
||
|
if nw.Title != "" {
|
||
|
remarks["title"] = nw.Title
|
||
|
}
|
||
|
if nw.Desc != "" {
|
||
|
remarks["desc"] = nw.Desc
|
||
|
}
|
||
|
} else if nw.XcodeState != old.XcodeState || nw.Status != old.Status || nw.Title != old.Title || nw.Desc != old.Desc || nw.Attribute != old.Attribute {
|
||
|
if nw.FailCode != archive.XcodeFailZero {
|
||
|
remarks["xcode_fail"] = nw.FailCode
|
||
|
}
|
||
|
if nw.Title != old.Title && nw.Title != "" {
|
||
|
remarks["title"] = nw.Title
|
||
|
}
|
||
|
if nw.Desc != old.Desc && nw.Desc != "" {
|
||
|
remarks["desc"] = nw.Desc
|
||
|
}
|
||
|
} else {
|
||
|
// no change
|
||
|
return
|
||
|
}
|
||
|
if len(remarks) != 0 {
|
||
|
bs, err = json.Marshal(remarks)
|
||
|
}
|
||
|
s.arc.AddVideoTrack(context.TODO(), nw.Aid, nw.Filename, nw.Status, nw.XcodeState, string(bs), nw.MTime, nw.MTime)
|
||
|
return
|
||
|
}
|