You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.6 KiB
91 lines
2.6 KiB
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 |
|
}
|
|
|