go-common/app/interface/openplatform/article/dao/dynamic.go
2019-04-22 18:49:16 +08:00

42 lines
1.0 KiB
Go

package dao
import (
"context"
"net/url"
"strconv"
"go-common/library/ecode"
"go-common/library/log"
)
const _Dynamic = "http://api.vc.bilibili.co/dynamic_repost/v0/dynamic_repost/view_repost"
// DynamicCount get dynamic count from api
func (d *Dao) DynamicCount(c context.Context, aid int64) (count int64, err error) {
params := url.Values{}
params.Set("rid", strconv.FormatInt(aid, 10))
params.Set("type", "64")
params.Set("offset", "0")
var res struct {
Code int `json:"errno"`
Msg string `json:"msg"`
Data struct {
TotalCount int64 `json:"total_count"`
} `json:"data"`
}
err = d.httpClient.Get(c, _Dynamic, "", params, &res)
if err != nil {
PromError("count:dynamic")
log.Error("dynamic: d.client.Get(%s) error(%+v)", _Dynamic+"?"+params.Encode(), err)
return
}
if res.Code != 0 {
PromError("count:dynamic接口")
log.Error("dynamic: url(%s) res code(%d) msg: %s", _Dynamic+"?"+params.Encode(), res.Code, res.Msg)
err = ecode.Int(res.Code)
return
}
count = res.Data.TotalCount
return
}