重构账户与商户服务模块

- 移除旧版 account.go 文件中的账户服务实现
- 新增聚合扫码关单、退款、撤销等接口实现
- 新增聚合被扫、主扫及加密接口实现
- 新增交易查询与支付宝吱口令申请接口
- 重构统一退货及退货查询接口,优化泛型使用
- 移除旧版商户进件相关接口实现
- 调整部分服务结构体命名与参数传递方式
- 统一请求时间格式并优化代码结构
This commit is contained in:
2025-10-21 13:24:24 +08:00
parent 7777630306
commit 7b9657a9e8
62 changed files with 1061 additions and 2040 deletions
+6 -14
View File
@@ -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)
}
+5 -5
View File
@@ -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 -13
View File
@@ -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)
}
+15 -18
View File
@@ -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)
}