From 54917f8985a1ea855038080b997945c200c2130f Mon Sep 17 00:00:00 2001 From: maguodong Date: Tue, 21 Oct 2025 14:34:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(basePay):=20=E6=B7=BB=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=8E=AF=E5=A2=83=E6=94=AF=E6=8C=81=E5=92=8C=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 transPreorder 和 relationClose 添加测试环境请求方法 - 更新所有模块导入路径,统一使用新的 common 包 - 重构多个结构体和服务命名以提高一致性 - 新增 labs 包整合基础支付相关功能模块 - 创建 SDK 入口文件便于统一管理和调用 - 在 consts 中增加 BASE_TEST_URL 常量定义 - 优化请求数据结构体字段注释和文档标签 - 移除冗余代码并调整部分函数签名以增强可读性 --- .../dcp/transPreorder/api.go | 11 ++++- .../dcp/transPreorder/request.go | 0 .../dcp/transPreorder/response.go | 0 basePay/labs/labs.go | 39 ++++++++++++++++++ .../labs/relationClose/api.go | 24 ++++++++--- .../labs/relationClose/request.go | 14 +++---- .../labs/relationClose/response.go | 0 .../labs/relationRefund/api.go | 2 +- .../labs/relationRefund/request.go | 0 .../labs/relationRefund/response.go | 0 .../labs/relationRevoked/api.go | 2 +- .../labs/relationRevoked/request.go | 0 .../labs/relationRevoked/response.go | 0 .../labs/transMicropay/api.go | 2 +- .../labs/transMicropay/request.go | 0 .../labs/transMicropay/response.go | 0 .../labs/transMicropayEncry/api.go | 12 +++--- .../labs/transMicropayEncry/request.go | 0 .../labs/transMicropayEncry/response.go | 0 .../labs/transPreorder/api.go | 6 +-- .../labs/transPreorder/request.go | 0 .../labs/transPreorder/response.go | 2 +- .../labs/transPreorederEncry/api.go | 12 +++--- .../labs/transPreorederEncry/request.go | 0 .../labs/transPreorederEncry/response.go | 0 .../labs/transQuery/api.go | 10 ++--- .../labs/transQuery/request.go | 0 .../labs/transQuery/response.go | 0 .../labs/transShareCode/api.go | 2 +- .../labs/transShareCode/request.go | 0 .../labs/transShareCode/response.go | 0 {lklsdk/common => common}/client.go | 0 {lklsdk/common => common}/json_cleaner.go | 0 {lklsdk/common => common}/structs.go | 0 consts/url.go | 3 +- lklsdk/unifiedReturn/unifiedReturn.go | 40 ------------------- sdk.go | 20 ++++++++++ .../mergerefund}/api.go | 11 ++++- .../mergerefund}/request.go | 0 .../mergerefund}/response.go | 0 .../refund/api.go | 2 +- .../refund/reponse.go | 0 .../refund/request.go | 0 .../refundfee/api.go | 0 .../refundfee/request.go | 0 .../refundfee/response.go | 0 .../refundquery/api.go | 2 +- .../refundquery/request.go | 0 .../refundquery/response.go | 0 unifiedreturn/unifiedReturn.go | 25 ++++++++++++ 50 files changed, 158 insertions(+), 83 deletions(-) rename {lklsdk/basePay => basePay}/dcp/transPreorder/api.go (62%) rename {lklsdk/basePay => basePay}/dcp/transPreorder/request.go (100%) rename {lklsdk/basePay => basePay}/dcp/transPreorder/response.go (100%) create mode 100644 basePay/labs/labs.go rename {lklsdk/basePay => basePay}/labs/relationClose/api.go (55%) rename {lklsdk/basePay => basePay}/labs/relationClose/request.go (54%) rename {lklsdk/basePay => basePay}/labs/relationClose/response.go (100%) rename {lklsdk/basePay => basePay}/labs/relationRefund/api.go (95%) rename {lklsdk/basePay => basePay}/labs/relationRefund/request.go (100%) rename {lklsdk/basePay => basePay}/labs/relationRefund/response.go (100%) rename {lklsdk/basePay => basePay}/labs/relationRevoked/api.go (95%) rename {lklsdk/basePay => basePay}/labs/relationRevoked/request.go (100%) rename {lklsdk/basePay => basePay}/labs/relationRevoked/response.go (100%) rename {lklsdk/basePay => basePay}/labs/transMicropay/api.go (96%) rename {lklsdk/basePay => basePay}/labs/transMicropay/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transMicropay/response.go (100%) rename {lklsdk/basePay => basePay}/labs/transMicropayEncry/api.go (63%) rename {lklsdk/basePay => basePay}/labs/transMicropayEncry/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transMicropayEncry/response.go (100%) rename {lklsdk/basePay => basePay}/labs/transPreorder/api.go (84%) rename {lklsdk/basePay => basePay}/labs/transPreorder/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transPreorder/response.go (97%) rename {lklsdk/basePay => basePay}/labs/transPreorederEncry/api.go (63%) rename {lklsdk/basePay => basePay}/labs/transPreorederEncry/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transPreorederEncry/response.go (100%) rename {lklsdk/basePay => basePay}/labs/transQuery/api.go (74%) rename {lklsdk/basePay => basePay}/labs/transQuery/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transQuery/response.go (100%) rename {lklsdk/basePay => basePay}/labs/transShareCode/api.go (95%) rename {lklsdk/basePay => basePay}/labs/transShareCode/request.go (100%) rename {lklsdk/basePay => basePay}/labs/transShareCode/response.go (100%) rename {lklsdk/common => common}/client.go (100%) rename {lklsdk/common => common}/json_cleaner.go (100%) rename {lklsdk/common => common}/structs.go (100%) delete mode 100644 lklsdk/unifiedReturn/unifiedReturn.go create mode 100644 sdk.go rename {lklsdk/unifiedReturn/mergeRefund => unifiedreturn/mergerefund}/api.go (62%) rename {lklsdk/unifiedReturn/mergeRefund => unifiedreturn/mergerefund}/request.go (100%) rename {lklsdk/unifiedReturn/mergeRefund => unifiedreturn/mergerefund}/response.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refund/api.go (95%) rename {lklsdk/unifiedReturn => unifiedreturn}/refund/reponse.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refund/request.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundfee/api.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundfee/request.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundfee/response.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundquery/api.go (94%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundquery/request.go (100%) rename {lklsdk/unifiedReturn => unifiedreturn}/refundquery/response.go (100%) create mode 100644 unifiedreturn/unifiedReturn.go diff --git a/lklsdk/basePay/dcp/transPreorder/api.go b/basePay/dcp/transPreorder/api.go similarity index 62% rename from lklsdk/basePay/dcp/transPreorder/api.go rename to basePay/dcp/transPreorder/api.go index 9583ccd..68221e2 100644 --- a/lklsdk/basePay/dcp/transPreorder/api.go +++ b/basePay/dcp/transPreorder/api.go @@ -1,8 +1,8 @@ package transpreorder import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) @@ -23,3 +23,12 @@ func (tp *TransPreorder) TransPreorder(reqData *TransPreorderRequestData) (*Tran } return tp.client.DoRequest(consts.BASE_URL+consts.LKL_DCP_TRANS_PREORDER_URL, request) } +func (tp *TransPreorder) TransPreorderTest(reqData *TransPreorderRequestData) (*TransPreorderResponse, error) { + // 构建请求结构体 + request := &TransPreorderRequest{ + ReqTime: gtime.Now().Format("YmdHis"), + Version: "3.0", + ReqData: reqData, + } + return tp.client.DoRequest(consts.BASE_TEST_URL+consts.LKL_DCP_TRANS_PREORDER_URL, request) +} diff --git a/lklsdk/basePay/dcp/transPreorder/request.go b/basePay/dcp/transPreorder/request.go similarity index 100% rename from lklsdk/basePay/dcp/transPreorder/request.go rename to basePay/dcp/transPreorder/request.go diff --git a/lklsdk/basePay/dcp/transPreorder/response.go b/basePay/dcp/transPreorder/response.go similarity index 100% rename from lklsdk/basePay/dcp/transPreorder/response.go rename to basePay/dcp/transPreorder/response.go diff --git a/basePay/labs/labs.go b/basePay/labs/labs.go new file mode 100644 index 0000000..29a4a02 --- /dev/null +++ b/basePay/labs/labs.go @@ -0,0 +1,39 @@ +package labs + +import ( + "context" + + relationclose "github.com/black1552/lkl_sdk/basePay/labs/relationClose" + "github.com/black1552/lkl_sdk/basePay/labs/relationRefund" + "github.com/black1552/lkl_sdk/basePay/labs/relationRevoked" + transmicropay "github.com/black1552/lkl_sdk/basePay/labs/transMicropay" + "github.com/black1552/lkl_sdk/basePay/labs/transMicropayEncry" + "github.com/black1552/lkl_sdk/basePay/labs/transPreorder" + "github.com/black1552/lkl_sdk/basePay/labs/transPreorederEncry" + transquery "github.com/black1552/lkl_sdk/basePay/labs/transQuery" + "github.com/black1552/lkl_sdk/common" +) + +type Labs struct { + RelationClose *relationclose.RelationCloseServer + RelationRefund *relationRefund.RelationRefundServer + RelationRevoked *relationRevoked.RelationRevokedServer + TransMicropay *transmicropay.TransMicropayServer + TransMicropayEncry *transMicropayEncry.TransMicropayEncryServer + TransPreorder *transPreorder.TransPreorderServer + TransPreorderEncry *transPreorederEncry.TransPreorderEncryServer + TransQuery *transquery.TransQueryServer +} + +func NewLabs(ctx context.Context, cfgJson string) *Labs { + return &Labs{ + RelationClose: relationclose.NewRelationCloseServer(common.NewClient[relationclose.RelationCloseResponse](ctx, cfgJson)), + RelationRefund: relationRefund.NewRelationRefundServer(common.NewClient[relationRefund.RelationRefundResponse](ctx, cfgJson)), + RelationRevoked: relationRevoked.NewRelationRevokedServer(common.NewClient[relationRevoked.RelationRevokedResponse](ctx, cfgJson)), + TransMicropay: transmicropay.NewTransMicropayServer(common.NewClient[transmicropay.TransMicropayResponse](ctx, cfgJson)), + TransMicropayEncry: transMicropayEncry.NewTransMicropayEncryServer(common.NewClient[transMicropayEncry.TransMicropayEncryResponse](ctx, cfgJson)), + TransPreorder: transPreorder.NewTransPreorderServer(common.NewClient[transPreorder.TransPreorderResponse](ctx, cfgJson)), + TransPreorderEncry: transPreorederEncry.NewTransPreorderEncryServer(common.NewClient[transPreorederEncry.TransPreorederEncryResponse](ctx, cfgJson)), + TransQuery: transquery.NewTransQueryServer(common.NewClient[transquery.TransQueryResponse](ctx, cfgJson)), + } +} diff --git a/lklsdk/basePay/labs/relationClose/api.go b/basePay/labs/relationClose/api.go similarity index 55% rename from lklsdk/basePay/labs/relationClose/api.go rename to basePay/labs/relationClose/api.go index 5c14c8e..5d91451 100644 --- a/lklsdk/basePay/labs/relationClose/api.go +++ b/basePay/labs/relationClose/api.go @@ -1,8 +1,8 @@ package relationclose import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) @@ -30,10 +30,22 @@ func (a *RelationCloseServer) RelationClose(reqData *RelationCloseRequestData) ( Version: "3.0", ReqData: reqData, } - - // 设置API路径 - 使用consts中的生产环境URL - url := consts.BASE_URL + consts.LKL_BASE_URL_RELATION_CLOSE_URL - // 发送请求 - 使用consts中定义的聚合扫码关单URL - return a.Client.DoRequest(url, request) + return a.Client.DoRequest(consts.BASE_URL+consts.LKL_BASE_URL_RELATION_CLOSE_URL, request) +} + +// RelationCloseTest 执行聚合扫码关单测试请求 +// - merchantNo: 商户号 +// - termNo: 终端号 +// - 原交易标识:originOutTradeNo、originTradeNo、(originOutOrderSource+originOutOrderNo) 三者必选其一 +// - locationInfo: 地址位置信息(风控要求必送) +func (a *RelationCloseServer) RelationCloseTest(reqData *RelationCloseRequestData) (*RelationCloseResponse, error) { + // 构建请求结构体 + request := &RelationCloseRequest{ + ReqTime: gtime.Now().Format("YmdHis"), + Version: "3.0", + ReqData: reqData, + } + // 发送请求 - 使用consts中定义的聚合扫码关单URL + return a.Client.DoRequest(consts.BASE_TEST_URL+consts.LKL_BASE_URL_RELATION_CLOSE_URL, request) } diff --git a/lklsdk/basePay/labs/relationClose/request.go b/basePay/labs/relationClose/request.go similarity index 54% rename from lklsdk/basePay/labs/relationClose/request.go rename to basePay/labs/relationClose/request.go index 8537a07..94887da 100644 --- a/lklsdk/basePay/labs/relationClose/request.go +++ b/basePay/labs/relationClose/request.go @@ -9,13 +9,13 @@ type LocationInfo struct { // RelationCloseRequestData 聚合扫码关单请求数据结构体 type RelationCloseRequestData struct { - MerchantNo string `json:"merchant_no"` // 商户号 (必填) - TermNo string `json:"term_no"` // 终端号 (必填) - OriginOutTradeNo string `json:"origin_out_trade_no,omitempty"` // 原商户交易流水号 (可选) - OriginTradeNo string `json:"origin_trade_no,omitempty"` // 原交易拉卡拉交易流水号 (可选) - OriginOutOrderSource string `json:"origin_out_order_source,omitempty"` // 原订单外部订单来源 (可选) - OriginOutOrderNo string `json:"origin_out_order_no,omitempty"` // 原订单外部商户订单号 (可选) - LocationInfo *LocationInfo `json:"location_info"` // 地址位置信息 (必填) + MerchantNo string `json:"merchant_no" dc:"商户号 (必填)"` // 商户号 (必填) + TermNo string `json:"term_no" dc:"终端号 (必填)"` // 终端号 (必填) + OriginOutTradeNo string `json:"origin_out_trade_no,omitempty" dc:"原商户交易流水号 (可选)"` // 原商户交易流水号 (可选) + OriginTradeNo string `json:"origin_trade_no,omitempty" dc:"原交易拉卡拉交易流水号 (可选)"` // 原交易拉卡拉交易流水号 (可选) + OriginOutOrderSource string `json:"origin_out_order_source,omitempty" dc:"原订单外部订单来源 (可选)"` // 原订单外部订单来源 (可选) + OriginOutOrderNo string `json:"origin_out_order_no,omitempty" dc:"原订单外部商户订单号 (可选)"` // 原订单外部商户订单号 (可选) + LocationInfo *LocationInfo `json:"location_info" dc:"地址位置信息 (必填)"` // 地址位置信息 (必填) } // RelationCloseRequest 聚合扫码关单请求结构体 diff --git a/lklsdk/basePay/labs/relationClose/response.go b/basePay/labs/relationClose/response.go similarity index 100% rename from lklsdk/basePay/labs/relationClose/response.go rename to basePay/labs/relationClose/response.go diff --git a/lklsdk/basePay/labs/relationRefund/api.go b/basePay/labs/relationRefund/api.go similarity index 95% rename from lklsdk/basePay/labs/relationRefund/api.go rename to basePay/labs/relationRefund/api.go index 6c1d6ea..fe5d117 100644 --- a/lklsdk/basePay/labs/relationRefund/api.go +++ b/basePay/labs/relationRefund/api.go @@ -1,8 +1,8 @@ package relationRefund import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/basePay/labs/relationRefund/request.go b/basePay/labs/relationRefund/request.go similarity index 100% rename from lklsdk/basePay/labs/relationRefund/request.go rename to basePay/labs/relationRefund/request.go diff --git a/lklsdk/basePay/labs/relationRefund/response.go b/basePay/labs/relationRefund/response.go similarity index 100% rename from lklsdk/basePay/labs/relationRefund/response.go rename to basePay/labs/relationRefund/response.go diff --git a/lklsdk/basePay/labs/relationRevoked/api.go b/basePay/labs/relationRevoked/api.go similarity index 95% rename from lklsdk/basePay/labs/relationRevoked/api.go rename to basePay/labs/relationRevoked/api.go index 732cfe3..29c33f8 100644 --- a/lklsdk/basePay/labs/relationRevoked/api.go +++ b/basePay/labs/relationRevoked/api.go @@ -1,8 +1,8 @@ package relationRevoked import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/basePay/labs/relationRevoked/request.go b/basePay/labs/relationRevoked/request.go similarity index 100% rename from lklsdk/basePay/labs/relationRevoked/request.go rename to basePay/labs/relationRevoked/request.go diff --git a/lklsdk/basePay/labs/relationRevoked/response.go b/basePay/labs/relationRevoked/response.go similarity index 100% rename from lklsdk/basePay/labs/relationRevoked/response.go rename to basePay/labs/relationRevoked/response.go diff --git a/lklsdk/basePay/labs/transMicropay/api.go b/basePay/labs/transMicropay/api.go similarity index 96% rename from lklsdk/basePay/labs/transMicropay/api.go rename to basePay/labs/transMicropay/api.go index dd56c92..e3ecc37 100644 --- a/lklsdk/basePay/labs/transMicropay/api.go +++ b/basePay/labs/transMicropay/api.go @@ -1,8 +1,8 @@ package transmicropay import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/basePay/labs/transMicropay/request.go b/basePay/labs/transMicropay/request.go similarity index 100% rename from lklsdk/basePay/labs/transMicropay/request.go rename to basePay/labs/transMicropay/request.go diff --git a/lklsdk/basePay/labs/transMicropay/response.go b/basePay/labs/transMicropay/response.go similarity index 100% rename from lklsdk/basePay/labs/transMicropay/response.go rename to basePay/labs/transMicropay/response.go diff --git a/lklsdk/basePay/labs/transMicropayEncry/api.go b/basePay/labs/transMicropayEncry/api.go similarity index 63% rename from lklsdk/basePay/labs/transMicropayEncry/api.go rename to basePay/labs/transMicropayEncry/api.go index c880444..b7db4c6 100644 --- a/lklsdk/basePay/labs/transMicropayEncry/api.go +++ b/basePay/labs/transMicropayEncry/api.go @@ -1,25 +1,25 @@ package transMicropayEncry import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) // TransMicropayEncryServer 聚合扫码被扫接口(全报文加密)服务结构体 -type TransMicropayEncryServer[T any] struct { - Client *common.Client[T] +type TransMicropayEncryServer struct { + Client *common.Client[TransMicropayEncryResponse] } // NewTransMicropayEncryServer 创建聚合扫码被扫接口(全报文加密)服务实例 -func NewTransMicropayEncryServer(client *common.Client[TransMicropayEncryResponse]) *TransMicropayEncryServer[TransMicropayEncryResponse] { - return &TransMicropayEncryServer[TransMicropayEncryResponse]{ +func NewTransMicropayEncryServer(client *common.Client[TransMicropayEncryResponse]) *TransMicropayEncryServer { + return &TransMicropayEncryServer{ Client: client, } } // TransMicropayEncry 聚合扫码被扫接口(全报文加密)接口 -func (a *TransMicropayEncryServer[TransMicropayEncryResponse]) TransMicropayEncry(reqData *TransMicropayEncryRequestData) (*TransMicropayEncryResponse, error) { +func (a *TransMicropayEncryServer) TransMicropayEncry(reqData *TransMicropayEncryRequestData) (*TransMicropayEncryResponse, error) { // 构建请求体 request := &TransMicropayEncryRequest{ ReqTime: gtime.Now().Format("20060102150405"), diff --git a/lklsdk/basePay/labs/transMicropayEncry/request.go b/basePay/labs/transMicropayEncry/request.go similarity index 100% rename from lklsdk/basePay/labs/transMicropayEncry/request.go rename to basePay/labs/transMicropayEncry/request.go diff --git a/lklsdk/basePay/labs/transMicropayEncry/response.go b/basePay/labs/transMicropayEncry/response.go similarity index 100% rename from lklsdk/basePay/labs/transMicropayEncry/response.go rename to basePay/labs/transMicropayEncry/response.go diff --git a/lklsdk/basePay/labs/transPreorder/api.go b/basePay/labs/transPreorder/api.go similarity index 84% rename from lklsdk/basePay/labs/transPreorder/api.go rename to basePay/labs/transPreorder/api.go index 01274ea..7045db3 100644 --- a/lklsdk/basePay/labs/transPreorder/api.go +++ b/basePay/labs/transPreorder/api.go @@ -1,17 +1,17 @@ package transPreorder import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) -// API 聚合主扫API结构体 +// TransPreorderServer 聚合主扫API结构体 type TransPreorderServer struct { client *common.Client[TransPreorderResponse] } -// NewAPI 创建聚合主扫API实例 +// NewTransPreorderServer 创建聚合主扫API实例 func NewTransPreorderServer(client *common.Client[TransPreorderResponse]) *TransPreorderServer { return &TransPreorderServer{ client: client, diff --git a/lklsdk/basePay/labs/transPreorder/request.go b/basePay/labs/transPreorder/request.go similarity index 100% rename from lklsdk/basePay/labs/transPreorder/request.go rename to basePay/labs/transPreorder/request.go diff --git a/lklsdk/basePay/labs/transPreorder/response.go b/basePay/labs/transPreorder/response.go similarity index 97% rename from lklsdk/basePay/labs/transPreorder/response.go rename to basePay/labs/transPreorder/response.go index 5c7bcf6..f7b809d 100644 --- a/lklsdk/basePay/labs/transPreorder/response.go +++ b/basePay/labs/transPreorder/response.go @@ -22,7 +22,7 @@ type ResponseData struct { PrepayId string `json:"prepay_id,omitempty"` // 预支付交易会话ID } -// Response 预订单响应结构体 +// TransPreorderResponse 预订单响应结构体 type TransPreorderResponse struct { RespTime string `json:"resp_time"` Code string `json:"code"` diff --git a/lklsdk/basePay/labs/transPreorederEncry/api.go b/basePay/labs/transPreorederEncry/api.go similarity index 63% rename from lklsdk/basePay/labs/transPreorederEncry/api.go rename to basePay/labs/transPreorederEncry/api.go index 56b507b..3390fbe 100644 --- a/lklsdk/basePay/labs/transPreorederEncry/api.go +++ b/basePay/labs/transPreorederEncry/api.go @@ -1,25 +1,25 @@ package transPreorederEncry import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) // TransPreorderEncryServer 聚合扫码主扫交易(全报文加密)服务结构体 -type TransPreorderEncryServer[T any] struct { - Client *common.Client[T] +type TransPreorderEncryServer struct { + Client *common.Client[TransPreorederEncryResponse] } // NewTransPreorderEncryServer 创建聚合扫码主扫交易(全报文加密)服务实例 -func NewTransPreorderEncryServer(client *common.Client[TransPreorederEncryResponse]) *TransPreorderEncryServer[TransPreorederEncryResponse] { - return &TransPreorderEncryServer[TransPreorederEncryResponse]{ +func NewTransPreorderEncryServer(client *common.Client[TransPreorederEncryResponse]) *TransPreorderEncryServer { + return &TransPreorderEncryServer{ Client: client, } } // TransPreorderEncry 聚合扫码主扫交易(全报文加密)接口 -func (a *TransPreorderEncryServer[TransPreorederEncryResponse]) TransPreorderEncry(reqData *TransPreorederEncryRequestData) (*TransPreorederEncryResponse, error) { +func (a *TransPreorderEncryServer) TransPreorderEncry(reqData *TransPreorederEncryRequestData) (*TransPreorederEncryResponse, error) { // 构建请求体 request := &TransPreorederEncryRequest{ ReqTime: gtime.Now().Format("20060102150405"), diff --git a/lklsdk/basePay/labs/transPreorederEncry/request.go b/basePay/labs/transPreorederEncry/request.go similarity index 100% rename from lklsdk/basePay/labs/transPreorederEncry/request.go rename to basePay/labs/transPreorederEncry/request.go diff --git a/lklsdk/basePay/labs/transPreorederEncry/response.go b/basePay/labs/transPreorederEncry/response.go similarity index 100% rename from lklsdk/basePay/labs/transPreorederEncry/response.go rename to basePay/labs/transPreorederEncry/response.go diff --git a/lklsdk/basePay/labs/transQuery/api.go b/basePay/labs/transQuery/api.go similarity index 74% rename from lklsdk/basePay/labs/transQuery/api.go rename to basePay/labs/transQuery/api.go index 2f78818..8ac3b03 100644 --- a/lklsdk/basePay/labs/transQuery/api.go +++ b/basePay/labs/transQuery/api.go @@ -1,19 +1,19 @@ package transquery import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) // API 聚合扫码交易查询API结构体 -type API struct { +type TransQueryServer struct { Client *common.Client[TransQueryResponse] } // NewAPI 创建聚合扫码交易查询API实例 -func NewAPI(client *common.Client[TransQueryResponse]) *API { - return &API{ +func NewTransQueryServer(client *common.Client[TransQueryResponse]) *TransQueryServer { + return &TransQueryServer{ Client: client, } } @@ -23,7 +23,7 @@ func NewAPI(client *common.Client[TransQueryResponse]) *API { // - termNo: 终端号 // - outTradeNo: 商户交易流水号(可选,与tradeNo二选一) // - tradeNo: 拉卡拉交易流水号(可选,与outTradeNo二选一) -func (a *API) TransQuery(reqData *TransQueryRequestData) (*TransQueryResponse, error) { +func (a *TransQueryServer) TransQuery(reqData *TransQueryRequestData) (*TransQueryResponse, error) { // 构建请求结构体 request := &TransQueryRequest{ ReqTime: gtime.Now().Format("YmdHis"), diff --git a/lklsdk/basePay/labs/transQuery/request.go b/basePay/labs/transQuery/request.go similarity index 100% rename from lklsdk/basePay/labs/transQuery/request.go rename to basePay/labs/transQuery/request.go diff --git a/lklsdk/basePay/labs/transQuery/response.go b/basePay/labs/transQuery/response.go similarity index 100% rename from lklsdk/basePay/labs/transQuery/response.go rename to basePay/labs/transQuery/response.go diff --git a/lklsdk/basePay/labs/transShareCode/api.go b/basePay/labs/transShareCode/api.go similarity index 95% rename from lklsdk/basePay/labs/transShareCode/api.go rename to basePay/labs/transShareCode/api.go index 68646c7..e0d23ca 100644 --- a/lklsdk/basePay/labs/transShareCode/api.go +++ b/basePay/labs/transShareCode/api.go @@ -1,8 +1,8 @@ package transShareCode import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/basePay/labs/transShareCode/request.go b/basePay/labs/transShareCode/request.go similarity index 100% rename from lklsdk/basePay/labs/transShareCode/request.go rename to basePay/labs/transShareCode/request.go diff --git a/lklsdk/basePay/labs/transShareCode/response.go b/basePay/labs/transShareCode/response.go similarity index 100% rename from lklsdk/basePay/labs/transShareCode/response.go rename to basePay/labs/transShareCode/response.go diff --git a/lklsdk/common/client.go b/common/client.go similarity index 100% rename from lklsdk/common/client.go rename to common/client.go diff --git a/lklsdk/common/json_cleaner.go b/common/json_cleaner.go similarity index 100% rename from lklsdk/common/json_cleaner.go rename to common/json_cleaner.go diff --git a/lklsdk/common/structs.go b/common/structs.go similarity index 100% rename from lklsdk/common/structs.go rename to common/structs.go diff --git a/consts/url.go b/consts/url.go index 631c8c5..f8e74c5 100644 --- a/consts/url.go +++ b/consts/url.go @@ -1,7 +1,8 @@ package consts const ( - BASE_URL = "https://s2.lakala.com/api" + BASE_URL = "https://s2.lakala.com/api" + BASE_TEST_URL = "https://test.wsmsd.cn/sit/api" ) // basePay/labs 基础支付聚合扫码API地址 diff --git a/lklsdk/unifiedReturn/unifiedReturn.go b/lklsdk/unifiedReturn/unifiedReturn.go deleted file mode 100644 index 1007b89..0000000 --- a/lklsdk/unifiedReturn/unifiedReturn.go +++ /dev/null @@ -1,40 +0,0 @@ -package unifiedreturn - -import ( - "context" - - "github.com/black1552/lkl_sdk/lklsdk/common" - 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 struct { - MergeRefound *mergeRefund.MergeRefund - Refound *refund.Refund - RefoundQuery *refundquery.RefundQuery -} - -// NewServer 创建拉卡拉统一退货服务实例 -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) MergeRefund(req *mergeRefund.RequestDataMergeRefund) (*mergeRefund.ResponseMergeRefund, error) { - return u.MergeRefound.MergeRefund(req) -} - -// Refund 退货 -func (u *Server) Refund(req *refund.RequestDataRefund) (*refund.ResponseRefund, error) { - return u.Refound.Refund(req) -} - -// RefundQuery 退货查询 -func (u *Server) RefundQuery(req *refundquery.RequestDataRefundQuery) (*refundquery.ResponseRefundQuery, error) { - return u.RefoundQuery.RefundQuery(req) -} diff --git a/sdk.go b/sdk.go new file mode 100644 index 0000000..899806c --- /dev/null +++ b/sdk.go @@ -0,0 +1,20 @@ +package lklSDK + +import ( + "context" + + "github.com/black1552/lkl_sdk/basePay/labs" + "github.com/black1552/lkl_sdk/unifiedreturn" +) + +type SDK struct { + labs *labs.Labs + unifiedReturn *unifiedreturn.Server +} + +func NewSDK(ctx context.Context, cfgJson string) *SDK { + return &SDK{ + labs: labs.NewLabs(ctx, cfgJson), + unifiedReturn: unifiedreturn.NewServer(ctx, cfgJson), + } +} diff --git a/lklsdk/unifiedReturn/mergeRefund/api.go b/unifiedreturn/mergerefund/api.go similarity index 62% rename from lklsdk/unifiedReturn/mergeRefund/api.go rename to unifiedreturn/mergerefund/api.go index 69f1c04..b0eb080 100644 --- a/lklsdk/unifiedReturn/mergeRefund/api.go +++ b/unifiedreturn/mergerefund/api.go @@ -1,8 +1,8 @@ package mergerefund import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) @@ -24,3 +24,12 @@ func (t *MergeRefund) MergeRefund(req *RequestDataMergeRefund) (*ResponseMergeRe } return t.client.DoRequest(consts.BASE_URL+consts.LKL_UNIFIED_RETURN_MERGE_REFUND_URL, baseReq) } +func (t *MergeRefund) MergeRefundTest(req *RequestDataMergeRefund) (*ResponseMergeRefund, error) { + // 构建BaseModel请求 + baseReq := RequestMergeRefund{ + ReqTime: gtime.Now().Format("YmdHis"), + Version: "3.0", + ReqData: req, + } + return t.client.DoRequest(consts.BASE_TEST_URL+consts.LKL_UNIFIED_RETURN_MERGE_REFUND_URL, baseReq) +} diff --git a/lklsdk/unifiedReturn/mergeRefund/request.go b/unifiedreturn/mergerefund/request.go similarity index 100% rename from lklsdk/unifiedReturn/mergeRefund/request.go rename to unifiedreturn/mergerefund/request.go diff --git a/lklsdk/unifiedReturn/mergeRefund/response.go b/unifiedreturn/mergerefund/response.go similarity index 100% rename from lklsdk/unifiedReturn/mergeRefund/response.go rename to unifiedreturn/mergerefund/response.go diff --git a/lklsdk/unifiedReturn/refund/api.go b/unifiedreturn/refund/api.go similarity index 95% rename from lklsdk/unifiedReturn/refund/api.go rename to unifiedreturn/refund/api.go index 6f54c66..c0dcec9 100644 --- a/lklsdk/unifiedReturn/refund/api.go +++ b/unifiedreturn/refund/api.go @@ -1,8 +1,8 @@ package refund import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/unifiedReturn/refund/reponse.go b/unifiedreturn/refund/reponse.go similarity index 100% rename from lklsdk/unifiedReturn/refund/reponse.go rename to unifiedreturn/refund/reponse.go diff --git a/lklsdk/unifiedReturn/refund/request.go b/unifiedreturn/refund/request.go similarity index 100% rename from lklsdk/unifiedReturn/refund/request.go rename to unifiedreturn/refund/request.go diff --git a/lklsdk/unifiedReturn/refundfee/api.go b/unifiedreturn/refundfee/api.go similarity index 100% rename from lklsdk/unifiedReturn/refundfee/api.go rename to unifiedreturn/refundfee/api.go diff --git a/lklsdk/unifiedReturn/refundfee/request.go b/unifiedreturn/refundfee/request.go similarity index 100% rename from lklsdk/unifiedReturn/refundfee/request.go rename to unifiedreturn/refundfee/request.go diff --git a/lklsdk/unifiedReturn/refundfee/response.go b/unifiedreturn/refundfee/response.go similarity index 100% rename from lklsdk/unifiedReturn/refundfee/response.go rename to unifiedreturn/refundfee/response.go diff --git a/lklsdk/unifiedReturn/refundquery/api.go b/unifiedreturn/refundquery/api.go similarity index 94% rename from lklsdk/unifiedReturn/refundquery/api.go rename to unifiedreturn/refundquery/api.go index f0784cf..c6a4984 100644 --- a/lklsdk/unifiedReturn/refundquery/api.go +++ b/unifiedreturn/refundquery/api.go @@ -1,8 +1,8 @@ package refundquery import ( + "github.com/black1552/lkl_sdk/common" "github.com/black1552/lkl_sdk/consts" - "github.com/black1552/lkl_sdk/lklsdk/common" "github.com/gogf/gf/v2/os/gtime" ) diff --git a/lklsdk/unifiedReturn/refundquery/request.go b/unifiedreturn/refundquery/request.go similarity index 100% rename from lklsdk/unifiedReturn/refundquery/request.go rename to unifiedreturn/refundquery/request.go diff --git a/lklsdk/unifiedReturn/refundquery/response.go b/unifiedreturn/refundquery/response.go similarity index 100% rename from lklsdk/unifiedReturn/refundquery/response.go rename to unifiedreturn/refundquery/response.go diff --git a/unifiedreturn/unifiedReturn.go b/unifiedreturn/unifiedReturn.go new file mode 100644 index 0000000..62542b2 --- /dev/null +++ b/unifiedreturn/unifiedReturn.go @@ -0,0 +1,25 @@ +package unifiedreturn + +import ( + "context" + + "github.com/black1552/lkl_sdk/common" + mergeRefund "github.com/black1552/lkl_sdk/unifiedReturn/mergeRefund" + "github.com/black1552/lkl_sdk/unifiedReturn/refund" + "github.com/black1552/lkl_sdk/unifiedReturn/refundquery" +) + +type Server struct { + MergeRefound *mergeRefund.MergeRefund + Refound *refund.Refund + RefoundQuery *refundquery.RefundQuery +} + +// NewServer 创建拉卡拉统一退货服务实例 +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)), + } +}