86 lines
2.4 KiB
Go
86 lines
2.4 KiB
Go
package mission
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
"strconv"
|
|
"time"
|
|
|
|
"go-common/app/interface/main/videoup/model/mission"
|
|
"go-common/library/ecode"
|
|
"go-common/library/log"
|
|
)
|
|
|
|
const (
|
|
_msAllURL = "/activity/list/videoall"
|
|
_actOnlineByTypeURI = "/activity/online/by/type"
|
|
)
|
|
|
|
// Missions get missions.
|
|
func (d *Dao) Missions(c context.Context) (mm map[int]*mission.Mission, err error) {
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
Data []*struct {
|
|
ID int `json:"id"`
|
|
Name string `json:"name"`
|
|
ETime string `json:"etime"`
|
|
Tags string `json:"tags"`
|
|
} `json:"data"`
|
|
}
|
|
if err = d.httpR.Get(c, d.missAllURL, "", nil, &res); err != nil {
|
|
log.Error("videoup mission list error(%v) | missAllURL(%s)", err, d.missAllURL)
|
|
return
|
|
}
|
|
if res.Code != 0 {
|
|
log.Error("videoup mission list res.Code nq zero error(%v) | missAllURL(%s) res(%v)", res.Code, d.missAllURL, res)
|
|
err = ecode.CreativeActivityErr
|
|
return
|
|
}
|
|
mm = make(map[int]*mission.Mission, len(res.Data))
|
|
for _, m := range res.Data {
|
|
miss := &mission.Mission{}
|
|
miss.ID = m.ID
|
|
miss.Name = m.Name
|
|
miss.ETime, _ = time.Parse("2006-01-02 15:04:05", m.ETime)
|
|
miss.Tags = m.Tags
|
|
mm[miss.ID] = miss
|
|
}
|
|
return
|
|
}
|
|
|
|
// MissionOnlineByTid fn, 这里默认会返回所有无投稿分区限制要求的通用活动,在做校验的时候允许此类活动投稿到任意分区
|
|
func (d *Dao) MissionOnlineByTid(c context.Context, tid int16) (mm map[int]*mission.Mission, err error) {
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
Data []*struct {
|
|
ID int `json:"id"`
|
|
Name string `json:"name"`
|
|
ETime string `json:"etime"`
|
|
Tags string `json:"tags"`
|
|
} `json:"data"`
|
|
}
|
|
mm = make(map[int]*mission.Mission)
|
|
params := url.Values{}
|
|
params.Set("type", strconv.Itoa(int(tid)))
|
|
params.Set("plat", "1")
|
|
if err = d.httpR.Get(c, d.actOnlineByTypeURL, "", params, &res); err != nil {
|
|
log.Error("videoup actOnlineByTypeURL error(%v) | actOnlineByTypeURL(%s)", err, d.actOnlineByTypeURL+"?"+params.Encode())
|
|
err = ecode.CreativeActivityErr
|
|
return
|
|
}
|
|
if res.Code != 0 {
|
|
log.Error("videoup actOnlineByTypeURL res.Code nq zero error(%v) | actOnlineByTypeURL(%s) res(%v)", res.Code, d.actOnlineByTypeURL+"?"+params.Encode(), res)
|
|
err = ecode.CreativeActivityErr
|
|
return
|
|
}
|
|
for _, m := range res.Data {
|
|
miss := &mission.Mission{}
|
|
miss.ID = m.ID
|
|
miss.Name = m.Name
|
|
miss.ETime, _ = time.Parse("2006-01-02 15:04:05", m.ETime)
|
|
miss.Tags = m.Tags
|
|
mm[miss.ID] = miss
|
|
}
|
|
return
|
|
}
|