third-platform-sdk/platform/fliggy/api.go

49 lines
1.5 KiB
Go
Raw Normal View History

2024-08-05 17:19:30 +08:00
package fliggy
import (
"fmt"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/fliggysdk/defaultability/domain"
"repository.lenntc.com/lenntc/third-platform-sdk/sdk/fliggysdk/defaultability/request"
"github.com/zeromicro/go-zero/core/logx"
)
// FliggyApi 飞猪平台
// Api defines the interface of fliggy api
type FliggyApi interface {
// FliggyPromoteOrdersList 飞猪分销订单列表
FliggyPromoteOrdersList(req *request.AlibabaFliggyPromoteOrdersListRequest) ([]*domain.AlibabaFliggyPromoteOrdersListOrder, error)
}
type fliggyApiImpl struct {
log logx.Logger
client *Client
}
func newFliggyApiImpl(log logx.Logger, client *Client) FliggyApi {
return &fliggyApiImpl{
log: log,
client: client,
}
}
// FliggyPromoteOrdersList 飞猪分销订单列表
func (a *fliggyApiImpl) FliggyPromoteOrdersList(req *request.AlibabaFliggyPromoteOrdersListRequest) ([]*domain.AlibabaFliggyPromoteOrdersListOrder, error) {
resp, err := a.client.abilityClient.AlibabaFliggyPromoteOrdersList(req)
if err != nil {
a.log.WithFields(logx.LogField{Key: "data", Value: map[string]any{"req": req, "resp": resp}}).Errorf("[fliggyApiImpl][FliggyPromoteOrdersList] get promote orders failed, error: %v", err)
return nil, err
}
if resp == nil {
return nil, fmt.Errorf("[fliggyApiImpl][FliggyPromoteOrdersList] get promote order list is empty")
}
var result []*domain.AlibabaFliggyPromoteOrdersListOrder
if resp.Model.List != nil {
for _, item := range *resp.Model.List {
entity := item
result = append(result, &entity)
}
}
return result, nil
}