123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- package http
- import (
- "strconv"
- "strings"
- v1 "go-common/app/interface/bbq/app-bbq/api/http/v1"
- "go-common/app/interface/bbq/app-bbq/model"
- video "go-common/app/service/bbq/video/api/grpc/v1"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/metadata"
- "github.com/pkg/errors"
- )
- // @params SvListReq
- // @router get /bbq/app-bbq/sv/list/
- // @response VideoResponse
- func svList(c *bm.Context) {
- b, _ := c.Get("BBQBase")
- mid, _ := c.Get("mid")
- arg := &v1.SvListReq{}
- if err := c.Bind(arg); err != nil {
- errors.Wrap(err, "参数验证失败")
- return
- }
- arg.Base = b.(*v1.Base)
- if mid != nil {
- arg.MID = mid.(int64)
- } else {
- arg.MID = 0
- }
- //获取deviceID
- deviceID := c.Request.Form.Get("device_id")
- log.Info("sv list Context [%+v]", c.Request.Header)
- log.Info("sv list Base [%+v]", arg.Base)
- arg.RemoteIP = metadata.String(c, metadata.RemoteIP)
- resp, err := srv.SvList(c, arg.PageSize, arg.MID, arg.Base, deviceID)
- c.JSON(resp, err)
- // 埋点
- if err != nil {
- return
- }
- var svidList []int64
- for _, v := range resp {
- svidList = append(svidList, v.SVID)
- }
- ext := struct {
- Svids []int64 `json:"svid_list"`
- }{
- Svids: svidList,
- }
- uiLog(c, model.ActionRecommend, ext)
- }
- func svDetail(c *bm.Context) {
- mid := int64(0)
- if res, ok := c.Get("mid"); ok {
- mid = res.(int64)
- }
- arg := &v1.SvDetailReq{}
- if err := c.Bind(arg); err != nil {
- errors.Wrap(err, "参数验证失败")
- return
- }
- c.JSON(srv.SvDetail(c, arg.SVID, mid))
- }
- //svStatistics 视频互动数据
- func svStatistics(c *bm.Context) {
- arg := new(model.ParamStatistic)
- if err := c.Bind(arg); err != nil {
- errors.Wrap(err, "参数验证失败")
- return
- }
- ids := strings.Split(arg.SVIDs, ",")
- if len(ids) == 0 {
- err := ecode.RequestErr
- errors.Wrap(err, "svid解析为空")
- return
- }
- var svids []int64
- for _, v := range ids {
- id, err := strconv.ParseInt(v, 10, 64)
- if err != nil {
- errors.Wrap(err, "svid解析错误")
- return
- }
- svids = append(svids, id)
- }
- var mid int64
- if res, ok := c.Get("mid"); ok {
- mid = res.(int64)
- }
- c.JSON(srv.SvStatistics(c, mid, svids))
- }
- func svPlayList(c *bm.Context) {
- dev, _ := c.Get("device")
- mid, _ := c.Get("mid")
- arg := &v1.PlayListReq{}
- if err := c.Bind(arg); err != nil {
- errors.Wrap(err, "参数验证失败")
- return
- }
- arg.Device = dev.(*bm.Device)
- if mid != nil {
- arg.MID = mid.(int64)
- } else {
- arg.MID = 0
- }
- arg.RemoteIP = metadata.String(c, metadata.RemoteIP)
- cidStr := strings.Split(arg.CIDs, ",")
- var cids []int64
- for _, v := range cidStr {
- cid, err := strconv.ParseInt(v, 10, 64)
- if err != nil {
- errors.Wrap(err, "cid解析错误")
- return
- }
- cids = append(cids, cid)
- }
- c.JSON(srv.SvCPlays(c, cids, arg.MID))
- }
- func svRelList(c *bm.Context) {
- b, _ := c.Get("BBQBase")
- mid, _ := c.Get("mid")
- arg := &v1.SvRelReq{}
- if err := c.Bind(arg); err != nil {
- errors.Wrap(err, "参数验证失败")
- return
- }
- base := b.(*v1.Base)
- if mid != nil {
- arg.MID = mid.(int64)
- } else {
- arg.MID = 0
- }
- arg.BUVID = base.BUVID
- arg.APP = base.App
- arg.APPVersion = base.Version
- arg.QueryID = base.QueryID
- arg.Limit = 15
- arg.Offset = 0
- c.JSON(srv.SvRelRec(c, arg))
- }
- func svDel(c *bm.Context) {
- arg := new(video.VideoDeleteRequest)
- if err := c.Bind(arg); err != nil {
- return
- }
- if mid, _ := c.Get("mid"); mid != nil {
- arg.UpMid = mid.(int64)
- } else {
- arg.UpMid = 0
- }
- c.JSON(srv.SvDel(c, arg))
- }
|