2024-04-30 17:57:27 +08:00
|
|
|
package eleme_union
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
2024-05-04 16:57:40 +08:00
|
|
|
|
2024-05-17 11:45:26 +08:00
|
|
|
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/domain"
|
2024-05-04 16:57:40 +08:00
|
|
|
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/request"
|
2024-05-04 21:12:15 +08:00
|
|
|
sdkutil "gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/util"
|
|
|
|
|
"gitee.com/chengdu-lenntc/third-platform-sdk/util"
|
2024-04-30 17:57:27 +08:00
|
|
|
)
|
|
|
|
|
|
2024-05-04 16:57:40 +08:00
|
|
|
// ElemeUnionApi 调用第三方平台的api
|
2024-04-30 17:57:27 +08:00
|
|
|
// Api defines the interface of eleme_union api
|
2024-05-04 16:57:40 +08:00
|
|
|
type ElemeUnionApi interface {
|
|
|
|
|
// Sign 签名
|
2024-05-04 21:12:15 +08:00
|
|
|
Sign(publicParam PublicParam, data map[string]interface{}) string
|
2024-05-07 23:26:53 +08:00
|
|
|
// KbItemPromotionShareCreate 本地生活媒体创建商品推广链接
|
2024-05-17 11:45:26 +08:00
|
|
|
KbItemPromotionShareCreate(req *request.AlibabaAlscUnionKbItemPromotionShareCreateRequest) (*domain.AlibabaAlscUnionKbItemPromotionShareCreateExtendDTO, error)
|
2024-05-07 23:26:53 +08:00
|
|
|
// ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询
|
2024-05-17 11:45:26 +08:00
|
|
|
ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityPromotionDto, error)
|
|
|
|
|
// AlibabaAlscUnionMediaZoneAdd 本地生活媒体创建推广位
|
|
|
|
|
AlibabaAlscUnionMediaZoneAdd(req *request.AlibabaAlscUnionMediaZoneAddRequest) (*domain.AlibabaAlscUnionMediaZoneAddZoneInfoDTO, error)
|
|
|
|
|
// AlibabaAlscUnionMediaZoneGet 本地生活媒体查询推广位
|
|
|
|
|
AlibabaAlscUnionMediaZoneGet(req *request.AlibabaAlscUnionMediaZoneGetRequest) ([]*domain.AlibabaAlscUnionMediaZoneGetZoneInfoDTO, error)
|
2024-05-07 23:26:53 +08:00
|
|
|
// KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询
|
2024-05-17 11:45:26 +08:00
|
|
|
KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) ([]*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO, error)
|
2024-04-30 17:57:27 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-04 16:57:40 +08:00
|
|
|
type elemeUnionApiImpl struct {
|
2024-04-30 17:57:27 +08:00
|
|
|
log logx.Logger
|
|
|
|
|
client *Client
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 16:57:40 +08:00
|
|
|
func newElemeUnionApiImpl(log logx.Logger, client *Client) ElemeUnionApi {
|
|
|
|
|
return &elemeUnionApiImpl{
|
2024-04-30 17:57:27 +08:00
|
|
|
log: log,
|
|
|
|
|
client: client,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-04 16:57:40 +08:00
|
|
|
// Sign 签名
|
|
|
|
|
// @param publicParam 公共参数
|
|
|
|
|
// @param data 业务参数
|
2024-05-04 21:12:15 +08:00
|
|
|
func (a *elemeUnionApiImpl) Sign(publicParam PublicParam, data map[string]interface{}) string {
|
|
|
|
|
return sdkutil.GetSign(util.StructToMap(publicParam), data, a.client.authConfig.AppSecret)
|
2024-04-30 17:57:27 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-07 23:26:53 +08:00
|
|
|
// KbItemPromotionShareCreate 本地生活媒体创建商品推广链接
|
2024-05-17 11:45:26 +08:00
|
|
|
func (a *elemeUnionApiImpl) KbItemPromotionShareCreate(req *request.AlibabaAlscUnionKbItemPromotionShareCreateRequest) (*domain.AlibabaAlscUnionKbItemPromotionShareCreateExtendDTO, error) {
|
2024-05-04 16:57:40 +08:00
|
|
|
resp, err := a.client.abilityClient.AlibabaAlscUnionKbItemPromotionShareCreate(req)
|
|
|
|
|
if err != nil {
|
2024-05-17 11:45:26 +08:00
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][GetLink] get link failed, error: %v", err)
|
2024-05-04 16:57:40 +08:00
|
|
|
return nil, err
|
|
|
|
|
}
|
2024-05-17 11:45:26 +08:00
|
|
|
if !resp.ResultSuccess || resp.BizErrorCode != "" {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][GetLink] response result error: %s", resp.BizErrorDesc)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &resp.Result, nil
|
2024-04-30 17:57:27 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-07 23:26:53 +08:00
|
|
|
// ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询
|
2024-05-17 11:45:26 +08:00
|
|
|
func (a *elemeUnionApiImpl) ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityPromotionDto, error) {
|
2024-05-07 23:26:53 +08:00
|
|
|
resp, err := a.client.abilityClient.AlibabaAlscUnionElemePromotionOfficialactivityGet(req)
|
2024-05-04 16:57:40 +08:00
|
|
|
if err != nil {
|
2024-05-17 11:45:26 +08:00
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][PromotionOfficialActivityGet] http request failed, error: %v", err)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if resp.ResultCode != 0 {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][ElemePromotionOfficialActivityGet] response result error: %s", resp.Message)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return &resp.Data, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// AlibabaAlscUnionMediaZoneAdd 本地生活媒体创建推广位
|
|
|
|
|
func (a *elemeUnionApiImpl) AlibabaAlscUnionMediaZoneAdd(req *request.AlibabaAlscUnionMediaZoneAddRequest) (*domain.AlibabaAlscUnionMediaZoneAddZoneInfoDTO, error) {
|
|
|
|
|
resp, err := a.client.abilityClient.AlibabaAlscUnionMediaZoneAdd(req)
|
|
|
|
|
if err != nil {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][AlibabaAlscUnionMediaZoneAdd] http request failed, error: %v", err)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if !resp.ResultSuccess || resp.BizErrorCode != 0 {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][AlibabaAlscUnionMediaZoneAdd] response result error: %s", resp.BizErrorDesc)
|
2024-05-04 16:57:40 +08:00
|
|
|
return nil, err
|
|
|
|
|
}
|
2024-05-17 11:45:26 +08:00
|
|
|
return &resp.Result, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// AlibabaAlscUnionMediaZoneGet 本地生活媒体查询推广位
|
|
|
|
|
func (a *elemeUnionApiImpl) AlibabaAlscUnionMediaZoneGet(req *request.AlibabaAlscUnionMediaZoneGetRequest) ([]*domain.AlibabaAlscUnionMediaZoneGetZoneInfoDTO, error) {
|
|
|
|
|
resp, err := a.client.abilityClient.AlibabaAlscUnionMediaZoneGet(req)
|
|
|
|
|
if err != nil {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][AlibabaAlscUnionMediaZoneGet] http request failed, error: %v", err)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if !resp.ResultSuccess || resp.BizErrorCode != 0 {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][AlibabaAlscUnionMediaZoneGet] response result error: %s", resp.BizErrorDesc)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
var result []*domain.AlibabaAlscUnionMediaZoneGetZoneInfoDTO
|
|
|
|
|
for _, item := range resp.Result {
|
2024-05-31 12:46:04 +08:00
|
|
|
entity := item
|
|
|
|
|
result = append(result, &entity)
|
2024-05-17 11:45:26 +08:00
|
|
|
}
|
|
|
|
|
return result, nil
|
2024-04-30 17:57:27 +08:00
|
|
|
}
|
2024-05-04 23:55:35 +08:00
|
|
|
|
2024-05-07 23:26:53 +08:00
|
|
|
// KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询
|
2024-05-17 11:45:26 +08:00
|
|
|
func (a *elemeUnionApiImpl) KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) ([]*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO, error) {
|
2024-05-04 23:55:35 +08:00
|
|
|
resp, err := a.client.abilityClient.AlibabaAlscUnionKbcpxPositiveOrderGet(req)
|
|
|
|
|
if err != nil {
|
2024-05-17 11:45:26 +08:00
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][KbcpxPositiveOrderGet] get positive orders failed, error: %v", err)
|
2024-05-04 23:55:35 +08:00
|
|
|
return nil, err
|
|
|
|
|
}
|
2024-05-17 11:45:26 +08:00
|
|
|
if !resp.ResultSuccess || resp.BizErrorCode != 0 {
|
|
|
|
|
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).
|
|
|
|
|
Errorf("[elemeUnionApiImpl][KbcpxPositiveOrderGet] response result error: %s", resp.BizErrorDesc)
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
var result []*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO
|
|
|
|
|
for _, item := range resp.Result {
|
2024-05-31 12:46:04 +08:00
|
|
|
entity := item
|
2024-06-02 23:09:59 +08:00
|
|
|
entity.BizUnit = req.BizUnit // 将业务类型,手动添加到订单详情数据中
|
2024-05-31 12:46:04 +08:00
|
|
|
result = append(result, &entity)
|
2024-05-17 11:45:26 +08:00
|
|
|
}
|
|
|
|
|
return result, nil
|
2024-05-04 23:55:35 +08:00
|
|
|
}
|