重构账户与商户服务模块
- 移除旧版 account.go 文件中的账户服务实现 - 新增聚合扫码关单、退款、撤销等接口实现 - 新增聚合被扫、主扫及加密接口实现 - 新增交易查询与支付宝吱口令申请接口 - 重构统一退货及退货查询接口,优化泛型使用 - 移除旧版商户进件相关接口实现 - 调整部分服务结构体命名与参数传递方式 - 统一请求时间格式并优化代码结构
This commit is contained in:
@@ -6,29 +6,21 @@ import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
)
|
||||
|
||||
type MergeRefund[T any] struct {
|
||||
client *common.Client[T]
|
||||
type MergeRefund struct {
|
||||
client *common.Client[ResponseMergeRefund]
|
||||
}
|
||||
|
||||
func NewMergeRefund[T any](client *common.Client[T]) *MergeRefund[T] {
|
||||
return &MergeRefund[T]{
|
||||
func NewMergeRefund(client *common.Client[ResponseMergeRefund]) *MergeRefund {
|
||||
return &MergeRefund{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
func (t *MergeRefund[T]) MergeRefund(req *RequestDataMergeRefund) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_UNIFIED_RETURN_MERGE_REFUND_URL
|
||||
func (t *MergeRefund) MergeRefund(req *RequestDataMergeRefund) (*ResponseMergeRefund, error) {
|
||||
// 构建BaseModel请求
|
||||
baseReq := RequestMergeRefund{
|
||||
ReqTime: gtime.Now().Format("YmdHis"),
|
||||
Version: "3.0",
|
||||
ReqData: req,
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := t.client.DoRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
return t.client.DoRequest(consts.BASE_URL+consts.LKL_UNIFIED_RETURN_MERGE_REFUND_URL, baseReq)
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@ import (
|
||||
)
|
||||
|
||||
// Refund 统一退货API结构体
|
||||
type Refund[T any] struct {
|
||||
client *common.Client[T]
|
||||
type Refund struct {
|
||||
client *common.Client[ResponseRefund]
|
||||
}
|
||||
|
||||
// NewRefund 创建统一退货API实例
|
||||
func NewRefund[T any](client *common.Client[T]) *Refund[T] {
|
||||
return &Refund[T]{
|
||||
func NewRefund(client *common.Client[ResponseRefund]) *Refund {
|
||||
return &Refund{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
@@ -21,7 +21,7 @@ func NewRefund[T any](client *common.Client[T]) *Refund[T] {
|
||||
// Refund 发起统一退货请求
|
||||
// request: 统一退货请求参数
|
||||
// 返回统一退货响应结果和错误信息
|
||||
func (api *Refund[T]) Refund(req *RequestDataRefund) (*T, error) {
|
||||
func (api *Refund) Refund(req *RequestDataRefund) (*ResponseRefund, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_UNIFIED_RETURN_REFUND_URL
|
||||
// 构建BaseModel请求
|
||||
|
||||
@@ -6,21 +6,19 @@ import (
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
)
|
||||
|
||||
type RefundQuery[T any] struct {
|
||||
client *common.Client[T]
|
||||
type RefundQuery struct {
|
||||
client *common.Client[ResponseRefundQuery]
|
||||
}
|
||||
|
||||
// NewRefundQuery 创建统一退货查询API实例
|
||||
func NewRefundQuery[T any](client *common.Client[T]) *RefundQuery[T] {
|
||||
return &RefundQuery[T]{
|
||||
func NewRefundQuery(client *common.Client[ResponseRefundQuery]) *RefundQuery {
|
||||
return &RefundQuery{
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
// RefundQuery 发起统一退货查询请求
|
||||
func (api *RefundQuery[T]) RefundQuery(req *RequestDataRefundQuery) (*T, error) {
|
||||
// 构建请求参数
|
||||
url := consts.BASE_URL + consts.LKL_UNIFIED_RETURN_REFUND_QUERY_URL
|
||||
func (api *RefundQuery) RefundQuery(req *RequestDataRefundQuery) (*ResponseRefundQuery, error) {
|
||||
// 构建BaseModel请求
|
||||
baseReq := RequestRefundQuery{
|
||||
ReqTime: gtime.Now().Format("YmdHis"),
|
||||
@@ -28,10 +26,5 @@ func (api *RefundQuery[T]) RefundQuery(req *RequestDataRefundQuery) (*T, error)
|
||||
ReqData: req,
|
||||
}
|
||||
|
||||
// 发送请求
|
||||
respBody, err := api.client.DoRequest(url, baseReq)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return respBody, nil
|
||||
return api.client.DoRequest(consts.BASE_URL+consts.LKL_UNIFIED_RETURN_REFUND_QUERY_URL, baseReq)
|
||||
}
|
||||
|
||||
@@ -4,40 +4,37 @@ 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"
|
||||
mergeRefund "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]
|
||||
type Server struct {
|
||||
MergeRefound *mergeRefund.MergeRefund
|
||||
Refound *refund.Refund
|
||||
RefoundQuery *refundquery.RefundQuery
|
||||
}
|
||||
|
||||
// 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),
|
||||
func NewServer(ctx context.Context, cfgJson string) *Server {
|
||||
return &Server{
|
||||
MergeRefound: mergeRefund.NewMergeRefund(common.NewClient[mergeRefund.ResponseMergeRefund](ctx, cfgJson)),
|
||||
Refound: refund.NewRefund(common.NewClient[refund.ResponseRefund](ctx, cfgJson)),
|
||||
RefoundQuery: refundquery.NewRefundQuery(common.NewClient[refundquery.ResponseRefundQuery](ctx, cfgJson)),
|
||||
}
|
||||
}
|
||||
|
||||
// MergeRefund 合单退货
|
||||
func (u *Server[T]) MergeRefund(req *mergerefund.RequestDataMergeRefund) (*T, error) {
|
||||
func (u *Server) MergeRefund(req *mergeRefund.RequestDataMergeRefund) (*mergeRefund.ResponseMergeRefund, error) {
|
||||
return u.MergeRefound.MergeRefund(req)
|
||||
}
|
||||
|
||||
// Refund 退货
|
||||
func (u *Server[T]) Refund(req *refund.RequestDataRefund) (*T, error) {
|
||||
func (u *Server) Refund(req *refund.RequestDataRefund) (*refund.ResponseRefund, error) {
|
||||
return u.Refound.Refund(req)
|
||||
}
|
||||
|
||||
// RefundQuery 退货查询
|
||||
func (u *Server[T]) RefundQuery(req *refundquery.RequestDataRefundQuery) (*T, error) {
|
||||
func (u *Server) RefundQuery(req *refundquery.RequestDataRefundQuery) (*refundquery.ResponseRefundQuery, error) {
|
||||
return u.RefoundQuery.RefundQuery(req)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user