package eleme_union import ( "github.com/zeromicro/go-zero/core/logx" "gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/domain" "gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability/request" 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) (*domain.AlibabaAlscUnionKbItemPromotionShareCreateExtendDTO, error) // ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询 ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityPromotionDto, error) // AlibabaAlscUnionMediaZoneAdd 本地生活媒体创建推广位 AlibabaAlscUnionMediaZoneAdd(req *request.AlibabaAlscUnionMediaZoneAddRequest) (*domain.AlibabaAlscUnionMediaZoneAddZoneInfoDTO, error) // AlibabaAlscUnionMediaZoneGet 本地生活媒体查询推广位 AlibabaAlscUnionMediaZoneGet(req *request.AlibabaAlscUnionMediaZoneGetRequest) ([]*domain.AlibabaAlscUnionMediaZoneGetZoneInfoDTO, error) // KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询 KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) ([]*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO, 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) (*domain.AlibabaAlscUnionKbItemPromotionShareCreateExtendDTO, error) { resp, err := a.client.abilityClient.AlibabaAlscUnionKbItemPromotionShareCreate(req) if err != nil { a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}). Errorf("[elemeUnionApiImpl][GetLink] get link failed, error: %v", err) return nil, err } 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 } // ElemePromotionOfficialActivityGet 本地联盟饿了么推广官方活动查询 func (a *elemeUnionApiImpl) ElemePromotionOfficialActivityGet(req *request.AlibabaAlscUnionElemePromotionOfficialactivityGetRequest) (*domain.AlibabaAlscUnionElemePromotionOfficialactivityGetActivityPromotionDto, error) { resp, err := a.client.abilityClient.AlibabaAlscUnionElemePromotionOfficialactivityGet(req) if err != nil { 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) return nil, err } 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 { entity := item result = append(result, &entity) } return result, nil } // KbcpxPositiveOrderGet 本地生活媒体推广订单明细报表查询 func (a *elemeUnionApiImpl) KbcpxPositiveOrderGet(req *request.AlibabaAlscUnionKbcpxPositiveOrderGetRequest) ([]*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO, error) { resp, err := a.client.abilityClient.AlibabaAlscUnionKbcpxPositiveOrderGet(req) if err != nil { 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) 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][KbcpxPositiveOrderGet] response result error: %s", resp.BizErrorDesc) return nil, err } var result []*domain.AlibabaAlscUnionKbcpxPositiveOrderGetOrderDetailReportDTO for _, item := range resp.Result { entity := item result = append(result, &entity) } return result, nil }