go-common/app/interface/main/space/dao/top_photo.go
2019-04-22 18:49:16 +08:00

76 lines
1.8 KiB
Go

package dao
import (
"context"
"net/url"
"strconv"
"go-common/app/interface/main/space/model"
"go-common/library/ecode"
"go-common/library/log"
"go-common/library/net/metadata"
)
const (
_webTopPhotoURI = "/api/member/getTopPhoto"
_topPhotoURI = "/api/member/getUploadTopPhoto"
)
// WebTopPhoto getTopPhoto from space
func (d *Dao) WebTopPhoto(c context.Context, mid int64) (space *model.TopPhoto, err error) {
var (
params = url.Values{}
remoteIP = metadata.String(c, metadata.RemoteIP)
)
params.Set("mid", strconv.FormatInt(mid, 10))
var res struct {
Code int `json:"code"`
model.TopPhoto
}
if err = d.httpR.Get(c, d.webTopPhotoURL, remoteIP, params, &res); err != nil {
log.Error("d.httpR.Get(%s,%d) error(%v)", d.webTopPhotoURL, mid, err)
return
}
if res.Code != ecode.OK.Code() {
log.Error("d.httpR.Get(%s,%d) code error(%d)", d.webTopPhotoURL, mid, res.Code)
err = ecode.Int(res.Code)
return
}
space = &res.TopPhoto
return
}
// TopPhoto getTopPhoto from space php.
func (d *Dao) TopPhoto(c context.Context, mid, vmid int64, platform, device string) (imgURL string, err error) {
var (
params = url.Values{}
remoteIP = metadata.String(c, metadata.RemoteIP)
)
if mid > 0 {
params.Set("mid", strconv.FormatInt(mid, 10))
}
params.Set("vmid", strconv.FormatInt(vmid, 10))
params.Set("platform", platform)
if device != "" {
params.Set("device", device)
}
var res struct {
Code int `json:"code"`
Data struct {
ImgURL string `json:"imgUrl"`
}
}
if err = d.httpR.Get(c, d.topPhotoURL, remoteIP, params, &res); err != nil {
log.Error("d.httpR.Get(%s,%d) error(%v)", d.topPhotoURL, mid, err)
return
}
if res.Code != ecode.OK.Code() {
log.Error("d.httpR.Get(%s,%d) code error(%d)", d.topPhotoURL, mid, res.Code)
err = ecode.Int(res.Code)
return
}
imgURL = res.Data.ImgURL
return
}