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" "gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/util" ) // ElemeUnionApi 调用第三方平台的api // Api defines the interface of eleme_union api type ElemeUnionApi interface { // Sign 签名 Sign(publicParam map[string]interface{}, data map[string]interface{}) string // GetLink 获取推广链接 GetLink(req *request.AlibabaAlscUnionKbItemPromotionShareCreateRequest) (*response.AlibabaAlscUnionKbItemPromotionShareCreateResponse, error) // GetOrders 获取推广订单 GetOrders(req *request.AlibabaAlscUnionKbcpaOrderDetailsGetRequest) (*response.AlibabaAlscUnionKbcpaOrderDetailsGetResponse, 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 map[string]interface{}, data map[string]interface{}) string { return util.GetSign(publicParam, data, a.client.authConfig.AppSecret) } // GetLink 获取推广链接 func (a *elemeUnionApiImpl) GetLink(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 } // GetOrders 获取推广订单 func (a *elemeUnionApiImpl) GetOrders(req *request.AlibabaAlscUnionKbcpaOrderDetailsGetRequest) (*response.AlibabaAlscUnionKbcpaOrderDetailsGetResponse, error) { resp, err := a.client.abilityClient.AlibabaAlscUnionKbcpaOrderDetailsGet(req) if err != nil { a.log.WithFields(logx.LogField{Key: "req", Value: req}).Errorf("[elemeUnionApiImpl][GetOrders] get orders failed, error: %v", err) return nil, err } return resp, nil }