lkl_sdk/lklsdk/unifiedReturn/unifiedReturn.go

44 lines
1.2 KiB
Go

package unifiedreturn
import (
"context"
"github.com/black1552/lkl_sdk/lklsdk/common"
"github.com/black1552/lkl_sdk/lklsdk/unifiedreturn/mergerefund"
"github.com/black1552/lkl_sdk/lklsdk/unifiedreturn/refund"
"github.com/black1552/lkl_sdk/lklsdk/unifiedreturn/refundquery"
)
type Server[T any] struct {
Client *common.Client[T]
MergeRefound *mergerefund.MergeRefund[T]
Refound *refund.Refund[T]
RefoundQuery *refundquery.RefundQuery[T]
}
// NewServer 创建拉卡拉统一退货服务实例
func NewServer[T any](ctx context.Context, cfgJson string) *Server[T] {
client := common.NewClient[T](ctx, cfgJson)
return &Server[T]{
Client: client,
MergeRefound: mergerefund.NewMergeRefund[T](client),
Refound: refund.NewRefund[T](client),
RefoundQuery: refundquery.NewRefundQuery[T](client),
}
}
// MergeRefund 合单退货
func (u *Server[T]) MergeRefund(req *mergerefund.RequestDataMergeRefund) (*T, error) {
return u.MergeRefound.MergeRefund(req)
}
// Refund 退货
func (u *Server[T]) Refund(req *refund.RequestDataRefund) (*T, error) {
return u.Refound.Refund(req)
}
// RefundQuery 退货查询
func (u *Server[T]) RefundQuery(req *refundquery.RequestDataRefundQuery) (*T, error) {
return u.RefoundQuery.RefundQuery(req)
}