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.

96 lines
3.2 KiB

package serviceGame
import (
"context"
"errors"
"strconv"
"tyj_admin/api/v1/game"
"tyj_admin/internal/dao"
"tyj_admin/internal/model/do"
"tyj_admin/internal/serviceGame/internal"
)
type IAdvertisement interface {
Advertise(ctx context.Context, req *game.ADReq) (res *game.ADRes, err error)
DeepAdvertise(ctx context.Context, req *game.DeepADReq) (res *game.DeepADRes, err error)
AttributionHugeAmount(ctx context.Context, req *game.ATHAReq) (res *game.ATHARes, err error)
ConversionHugeAmount(ctx context.Context, req *game.CSHAReq) (res *game.CSHARes, err error)
AdvertiseHugeAmount(ctx context.Context, req *game.AdvertiseHAReq) (res *game.AdvertiseHARes, err error)
AdvertiseHugeAmount1(ctx context.Context, androidId, idfa, os, callBack, timestamp string) (err error)
GetAccessToken(ctx context.Context, req *game.GetAccessTokenReq) (res *game.GetAccessTokenRes, err error)
RefreshAccessToken(ctx context.Context, req *game.RefreshAccessTokenReq) (res *game.RefreshAccessTokenRes, err error)
}
type advertisementImpl struct {
}
var advertisementService = advertisementImpl{}
func Advertisement() IAdvertisement {
return &advertisementService
}
func (g *advertisementImpl) Advertise(ctx context.Context, req *game.ADReq) (res *game.ADRes, err error) {
res = new(game.ADRes)
res, err = internal.Advertise(ctx, req)
return
}
func (g *advertisementImpl) DeepAdvertise(ctx context.Context, req *game.DeepADReq) (res *game.DeepADRes, err error) {
res = new(game.DeepADRes)
res, err = internal.DeepAdvertise(ctx, req)
return
}
func (g *advertisementImpl) AttributionHugeAmount(ctx context.Context, req *game.ATHAReq) (res *game.ATHARes, err error) {
res = new(game.ATHARes)
res, err = internal.AttributionHugeAmount(ctx, req)
return
}
func (g *advertisementImpl) ConversionHugeAmount(ctx context.Context, req *game.CSHAReq) (res *game.CSHARes, err error) {
res = new(game.CSHARes)
res, err = internal.ConversionHugeAmount(ctx, req)
return
}
func (g *advertisementImpl) AdvertiseHugeAmount(ctx context.Context, req *game.AdvertiseHAReq) (res *game.AdvertiseHARes, err error) {
res = new(game.AdvertiseHARes)
res, err = internal.AdvertiseHugeAmount(ctx, req)
return
}
func (g *advertisementImpl) AdvertiseHugeAmount1(ctx context.Context, androidId, idfa, os, callBack, timestamp string) (err error) {
osInt, err := strconv.Atoi(os)
if err != nil {
return
}
if osInt != 0 && osInt != 1 {
return errors.New("系统类型错误!")
}
if osInt == 1 && idfa == "__IDFA__" {
return
}
if osInt == 0 && androidId == "__ANDROIDID__" {
return
}
_, err = dao.AdvertisementOceanegine.Ctx(ctx).Insert(do.AdvertisementOceanegine{
AdvAndroidId: androidId,
Idfa: idfa,
Os: os,
CallbackParam: callBack,
LastTouchTime: timestamp,
})
return
}
func (g *advertisementImpl) GetAccessToken(ctx context.Context, req *game.GetAccessTokenReq) (res *game.GetAccessTokenRes, err error) {
res = new(game.GetAccessTokenRes)
res.Msg = internal.GetAccessToken(ctx, req.AuthCode)
return
}
func (g *advertisementImpl) RefreshAccessToken(ctx context.Context, req *game.RefreshAccessTokenReq) (res *game.RefreshAccessTokenRes, err error) {
internal.RefreshAccessToken(ctx)
return
}