third-platform-sdk/platform/eleme-union/api.go
2024-05-07 23:26:53 +08:00

73 lines
3.4 KiB
Go

package eleme_union
import (
"github.com/zeromicro/go-zero/core/logx"
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/request"
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/response"
sdkutil "gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/util"
"gitee.com/chengdu-lenntc/third-platform-sdk/util"
)
// ElemeUnionApi 调用第三方平台的api
// Api defines the interface of eleme_union api
type ElemeUnionApi interface {
// Sign 签名
Sign(publicParam PublicParam, data map[string]interface{}) string
// KbItemPromotionShareCreate 本地生活媒体创建商品推广链接
KbItemPromotionShareCreate(req *request.AlibabaAlscUnionKbItemPromotionShareCreateRequest) (*response.AlibabaAlscUnionKbItemPromotionShareCreateResponse, error)
// ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询
ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*response.AlibabaAlscUnionElemePromotionOfficialactivityGetResponse, error)
// KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询
KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) (*response.AlibabaAlscUnionKbcpxPositiveOrderGetResponse, error)
}
type elemeUnionApiImpl struct {
log logx.Logger
client *Client
}
func newElemeUnionApiImpl(log logx.Logger, client *Client) ElemeUnionApi {
return &elemeUnionApiImpl{
log: log,
client: client,
}
}
// Sign 签名
// @param publicParam 公共参数
// @param data 业务参数
func (a *elemeUnionApiImpl) Sign(publicParam PublicParam, data map[string]interface{}) string {
return sdkutil.GetSign(util.StructToMap(publicParam), data, a.client.authConfig.AppSecret)
}
// KbItemPromotionShareCreate 本地生活媒体创建商品推广链接
func (a *elemeUnionApiImpl) KbItemPromotionShareCreate(req *request.AlibabaAlscUnionKbItemPromotionShareCreateRequest) (*response.AlibabaAlscUnionKbItemPromotionShareCreateResponse, error) {
resp, err := a.client.abilityClient.AlibabaAlscUnionKbItemPromotionShareCreate(req)
if err != nil {
a.log.WithFields(logx.LogField{Key: "req", Value: req}).Errorf("[elemeUnionApiImpl][GetLink] get link failed, error: %v", err)
return nil, err
}
return resp, nil
}
// ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询
func (a *elemeUnionApiImpl) ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*response.AlibabaAlscUnionElemePromotionOfficialactivityGetResponse, error) {
resp, err := a.client.abilityClient.AlibabaAlscUnionElemePromotionOfficialactivityGet(req)
if err != nil {
a.log.WithFields(logx.LogField{Key: "req", Value: req}).Errorf("[elemeUnionApiImpl][PromotionOfficialActivityGet] http request failed, error: %v", err)
return nil, err
}
return resp, nil
}
// KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询
func (a *elemeUnionApiImpl) KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) (*response.AlibabaAlscUnionKbcpxPositiveOrderGetResponse, error) {
resp, err := a.client.abilityClient.AlibabaAlscUnionKbcpxPositiveOrderGet(req)
if err != nil {
a.log.WithFields(logx.LogField{Key: "req", Value: req}).Errorf("[elemeUnionApiImpl][GetPositiveOrders] get positive orders failed, error: %v", err)
return nil, err
}
return resp, nil
}