12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package dao
- import (
- "context"
- "net/url"
- "strconv"
- "go-common/app/service/main/tv/internal/model"
- mvip "go-common/app/service/main/vipinfo/api"
- "go-common/library/ecode"
- "go-common/library/log"
- )
- const (
- _mvipGiftRemark = "电视大会员赠送"
- )
- // MainVip returns main vip info.
- func (d *Dao) MainVip(c context.Context, mid int64) (mv *model.MainVip, err error) {
- var (
- res *mvip.InfoReply
- )
- res, err = d.mvipCli.Info(c, &mvip.InfoReq{Mid: int64(mid)})
- if err != nil {
- log.Error("d.MainVip(%d) err(%v)", mid, err)
- return
- }
- mv = &model.MainVip{
- Mid: int64(mid),
- VipType: int8(res.Res.Type),
- VipStatus: int8(res.Res.Status),
- VipDueDate: res.Res.DueDate,
- }
- log.Info("d.MainVip(%d) res(%+v)", mid, res)
- return
- }
- // GiveMVipGift gives bilibili vip to user.
- func (d *Dao) GiveMVipGift(c context.Context, mid int64, batchId int, orderNo string) error {
- var (
- err error
- )
- res := new(struct {
- Code int `json:"code"`
- Message string `json:"message"`
- TTL int `json:"ttl"`
- })
- params := url.Values{}
- params.Set("batchId", strconv.Itoa(batchId))
- params.Set("mid", strconv.Itoa(int(mid)))
- params.Set("orderNo", orderNo)
- params.Set("remark", _mvipGiftRemark)
- url := d.c.MVIP.BatchUserInfoUrl
- if err = d.mvipHttpCli.Post(c, url, "", params, res); err != nil {
- log.Error("d.mvipHttpCli.Post(%s, %+v) err(%+v)", url, params, err)
- return err
- }
- if res.Code != 0 {
- log.Error("d.mvipHttpCli.Post(%s, %+v) res(%+v)", url, params, res)
- return ecode.TVIPGiveMVipFailed
- }
- log.Info("d.GiveMVipGift(%d, %d, %s) res(%+v)", mid, batchId, orderNo, res)
- return nil
- }
|