123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package dao
- import (
- "context"
- "fmt"
- "net/url"
- "go-common/app/admin/main/dm/model"
- "go-common/library/log"
- "go-common/library/xstr"
- )
- const (
- _views = "/videoup/views"
- _types = "/videoup/types"
- _season = "/pgc/admin/season/dm/aids"
- )
- // TypeInfo TypeInfo
- func (d *Dao) TypeInfo(c context.Context) (types map[int64]*model.ArchiveType, err error) {
- var (
- res struct {
- Code int64 `json:"code"`
- Data map[int64]*model.ArchiveType `json:"data"`
- Message string `json:"message"`
- }
- )
- v := make(url.Values)
- if err = d.httpCli.Get(c, d.typesURI, "", v, &res); err != nil {
- log.Error("d.httpCli.Get(%s) error(%v)", d.typesURI, err)
- return
- }
- if res.Code != 0 {
- err = fmt.Errorf("%v", res)
- log.Error("d.httpClient.Get(%s) code(%d)", d.typesURI, res.Code)
- }
- types = res.Data
- return
- }
- // ArchiveVideos return archive and video info.
- func (d *Dao) ArchiveVideos(c context.Context, aids []int64) (avm map[int64]*model.ArcVideo, err error) {
- var (
- res struct {
- Code int64 `json:"code"`
- Data map[int64]*model.ArcVideo `json:"data"`
- Message string `json:"message"`
- }
- v = make(url.Values)
- )
- v.Set("aids", xstr.JoinInts(aids))
- if err = d.httpCli.Get(c, d.viewsURI, "", v, &res); err != nil {
- log.Error("d.httpClient.Get(%s) error(%v)", d.viewsURI, err)
- return
- }
- if res.Code != 0 {
- err = fmt.Errorf("%v", res)
- log.Error("d.httpClient.Get(%s) code(%d)", d.viewsURI, res.Code)
- return
- }
- avm = res.Data
- return
- }
- // SeasonInfos return season infos
- func (d *Dao) SeasonInfos(c context.Context, IDType string, id int64) (aids, oids []int64, err error) {
- var (
- res struct {
- Code int64 `json:"code"`
- Message string `json:"message"`
- Data []*model.SeasonInfo `json:"result"`
- }
- params = make(url.Values, 1)
- )
- switch IDType {
- case "ep":
- params.Set("epid", fmt.Sprint(id))
- case "ss":
- params.Set("season_id", fmt.Sprint(id))
- default:
- err = fmt.Errorf("season type(%s) error", IDType)
- log.Error("d.SeasonInfos error(%v)", err)
- return
- }
- if err = d.httpSearch.Get(c, d.seasonURI, "", params, &res); err != nil {
- log.Error("d.httpSearch.Get(uri:%s,params:%s) error(%v)", d.seasonURI, params.Encode(), err)
- return
- }
- if res.Code != 0 {
- err = fmt.Errorf("uri:%s,code:%d", d.seasonURI, res.Code)
- log.Error("d.SeasonInfos error(%v)", err)
- return
- }
- for _, v := range res.Data {
- aids = append(aids, v.Aid)
- oids = append(oids, v.Cid)
- }
- return
- }
|