123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package dao
- import (
- "context"
- "fmt"
- "net/url"
- "strconv"
- schmdl "go-common/app/service/main/riot-search/model"
- "go-common/library/log"
- "go-common/library/net/metadata"
- "go-common/library/xstr"
- )
- const _search = "http://api.bilibili.co/x/internal/riot-search/arc/ids"
- // SearchArcs return archive ids by aids.
- func (d *Dao) SearchArcs(c context.Context, keyword string, ids []int64, pn, ps int) (res *schmdl.IDsResp, err error) {
- params := url.Values{}
- params.Set("ids", xstr.JoinInts(ids))
- params.Set("keyword", keyword)
- params.Set("pn", strconv.Itoa(pn))
- params.Set("ps", strconv.Itoa(ps))
- ip := metadata.String(c, metadata.RemoteIP)
- var (
- resp = &struct {
- Code int `json:"code"`
- Data *schmdl.IDsResp `json:"data"`
- }{}
- )
- if err = d.httpClient.Post(c, _search, ip, params, &resp); err != nil {
- log.Error("s.httpClient.Post(%s) error(%v)", _search+"?"+params.Encode(), err)
- return
- }
- log.Info("searchArcs(%s) error(%v)", _search+"?"+params.Encode(), err)
- if resp.Code != 0 {
- err = fmt.Errorf("code is:%d", resp.Code)
- log.Error("s.httpClient.Post(%s) error(%v)", _search+"?"+params.Encode(), err)
- return
- }
- return resp.Data, nil
- }
|