go-common/app/interface/main/creative/dao/growup/api.go

201 lines
5.9 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package growup
import (
"context"
"net/url"
"strconv"
"time"
"go-common/app/interface/main/creative/model/growup"
"go-common/library/ecode"
"go-common/library/log"
)
// UpStatus get up info.
func (d *Dao) UpStatus(c context.Context, mid int64, ip string) (us *growup.UpStatus, err error) {
us = &growup.UpStatus{}
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
var res struct {
Code int `json:"code"`
Data *growup.UpStatus
}
if err = d.client.Get(c, d.upStatusURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.upStatusURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.upStatusURL, res)
err = ecode.CreativeOrderAPIErr
return
}
us = res.Data
return
}
// UpInfo get up info.
func (d *Dao) UpInfo(c context.Context, mid int64, ip string) (ui *growup.UpInfo, err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
var res struct {
Code int `json:"code"`
Data *growup.UpInfo
}
if err = d.client.Get(c, d.upInfoURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.upInfoURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.upInfoURL, res)
err = ecode.CreativeOrderAPIErr
return
}
ui = res.Data
return
}
//Join join growup.
func (d *Dao) Join(c context.Context, mid int64, accTy, signTy int, ip string) (err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("account_type", strconv.Itoa(accTy))
params.Set("sign_type", strconv.Itoa(signTy))
var res struct {
Code int `json:"code"`
Message string `json:"message"`
}
if err = d.client.Post(c, d.joinURL, ip, params, &res); err != nil {
log.Error("growup url(%s) mid(%d) error(%v)", d.joinURL+"?"+params.Encode(), mid, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) mid(%d) res.code(%d) error(%v)", d.joinURL+"?"+params.Encode(), mid, res.Code, err)
err = ecode.CreativeOrderAPIErr
}
return
}
//Quit quit growup.
func (d *Dao) Quit(c context.Context, mid int64, ip string) (err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
var res struct {
Code int `json:"code"`
Message string `json:"message"`
}
if err = d.client.Post(c, d.quitURL, ip, params, &res); err != nil {
log.Error("growup url(%s) mid(%d) error(%v)", d.quitURL+"?"+params.Encode(), mid, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) mid(%d) res.code(%d) error(%v)", d.quitURL+"?"+params.Encode(), mid, res.Code, err)
err = ecode.CreativeOrderAPIErr
}
return
}
// Summary income.
func (d *Dao) Summary(c context.Context, mid int64, ip string) (sm *growup.Summary, err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("ts", strconv.FormatInt(time.Now().UnixNano()/1000000, 10))
var res struct {
Code int `json:"code"`
Data *growup.Summary
Message string `json:"message"`
}
if err = d.client.Get(c, d.summaryURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.summaryURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.summaryURL, res)
err = ecode.CreativeOrderAPIErr
return
}
sm = res.Data
return
}
// Stat income by month.
func (d *Dao) Stat(c context.Context, mid int64, ip string) (st *growup.Stat, err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("ts", strconv.FormatInt(time.Now().UnixNano()/1000000, 10))
var res struct {
Code int `json:"code"`
Data *growup.Stat
Message string `json:"message"`
}
if err = d.client.Get(c, d.statURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.statURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.statURL, res)
err = ecode.CreativeOrderAPIErr
return
}
st = res.Data
return
}
// IncomeList income by video/article/music.
func (d *Dao) IncomeList(c context.Context, mid int64, ty, pn, ps int, ip string) (il *growup.IncomeList, err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("type", strconv.Itoa(ty))
params.Set("page", strconv.Itoa(pn))
params.Set("size", strconv.Itoa(ps))
params.Set("ts", strconv.FormatInt(time.Now().UnixNano()/1000000, 10))
var res struct {
Code int `json:"code"`
Data *growup.IncomeList
Message string `json:"message"`
}
if err = d.client.Get(c, d.arcURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.arcURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.arcURL, res)
err = ecode.CreativeOrderAPIErr
return
}
il = res.Data
return
}
// BreachList breach list.
func (d *Dao) BreachList(c context.Context, mid int64, pn, ps int, ip string) (bl *growup.BreachList, err error) {
params := url.Values{}
params.Set("mid", strconv.FormatInt(mid, 10))
params.Set("page", strconv.Itoa(pn))
params.Set("size", strconv.Itoa(ps))
params.Set("ts", strconv.FormatInt(time.Now().UnixNano()/1000000, 10))
var res struct {
Code int `json:"code"`
Data *growup.BreachList
Message string `json:"message"`
}
if err = d.client.Get(c, d.breachURL, ip, params, &res); err != nil {
log.Error("growup url(%s) response(%v) error(%v)", d.breachURL+"?"+params.Encode(), res, err)
err = ecode.CreativeOrderAPIErr
return
}
if res.Code != 0 {
log.Error("growup url(%s) res(%v)", d.breachURL, res)
err = ecode.CreativeOrderAPIErr
return
}
bl = res.Data
return
}