12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package service
- import (
- "context"
- "go-common/app/admin/main/videoup/model/archive"
- "go-common/library/log"
- "time"
- )
- //EditHistory 根据稿件的某条编辑历史id,获取当时完整的稿件、分p视频编辑历史
- func (s *Service) EditHistory(c context.Context, hid int64) (h *archive.EditHistory, err error) {
- arcHistory, err := s.arc.HistoryByID(c, hid)
- if err != nil {
- log.Error("EditHistory s.arc.HistoryByID(hid(%d)) error(%v)", hid, err)
- return nil, err
- }
- vHistory, err := s.arc.VideoHistoryByHID(c, hid)
- if err != nil {
- log.Error("EditHistory s.arc.VideoHistoryByHID(hid(%d)) error(%v)", hid, err)
- return nil, err
- }
- h = &archive.EditHistory{
- ArcHistory: arcHistory,
- VHistory: vHistory,
- }
- return
- }
- //AllEditHistory 根据aid获取 其所有的用户编辑历史
- func (s *Service) AllEditHistory(c context.Context, aid int64) (hs []*archive.EditHistory, err error) {
- stime := time.Now().Add(time.Hour * 720 * -1)
- arcHistory, err := s.arc.HistoryByAID(c, aid, stime)
- if err != nil {
- log.Error("AllEditHistory s.arc.HistoryByAID(aid(%d)) error(%v)", aid, err)
- hs = []*archive.EditHistory{}
- return
- }
- var (
- videoHistory []*archive.VideoHistory
- prev *archive.EditHistory
- total int
- )
- total = len(arcHistory)
- hs = make([]*archive.EditHistory, total)
- for i := total - 1; i >= 0; i-- {
- h := arcHistory[i]
- videoHistory, err = s.arc.VideoHistoryByHID(c, h.ID)
- if err != nil {
- log.Error("AllEditHistory s.arc.VideoHistoryByHID(hid(%d), aid(%d)) error(%v)", h.ID, aid, err)
- return
- }
- one := &archive.EditHistory{
- ArcHistory: h,
- VHistory: videoHistory,
- }
- //only show diff between next edit archive
- show, diff := one.Diff(prev)
- hs[i] = show
- if diff {
- prev = one
- }
- }
- return
- }
|