You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
200 lines
5.9 KiB
200 lines
5.9 KiB
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 |
|
}
|
|
|