feat(lklsdk): 新增订单分账回退功能
- 在 consts/url.go 中添加分账回退接口地址常量 LKL_SPLIT_LEDGER_FALLBACK_URL - 在 lklsdk/sdk.go 中新增 OrderSplitLedgerFallback 方法用于调用分账回退接口 - 在 lklsdk/split_ledger_more.go 中实现分账回退的具体请求逻辑 - 新建 model/orderSplitLedgerFallback.go 定义分账回退相关的请求与响应结构体 - 实现 OrderSplitLedgerFallbackResponse 的 SuccessOrFail 判断方法main v1.0.27
parent
9af7e32aff
commit
58068f06af
|
|
@ -25,6 +25,7 @@ const (
|
||||||
// LKL_ACCOUNT_WITHDRAW_URL 拉卡拉账户提现
|
// LKL_ACCOUNT_WITHDRAW_URL 拉卡拉账户提现
|
||||||
LKL_ACCOUNT_WITHDRAW_URL = "/v2/laep/industry/ewalletWithdrawD1"
|
LKL_ACCOUNT_WITHDRAW_URL = "/v2/laep/industry/ewalletWithdrawD1"
|
||||||
LKL_SPLIT_LEDGER_RESULT_QUERY_URL = "/v3/sacs/query_plus"
|
LKL_SPLIT_LEDGER_RESULT_QUERY_URL = "/v3/sacs/query_plus"
|
||||||
|
LKL_SPLIT_LEDGER_FALLBACK_URL = "/v3/sacs/fallback"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,11 @@ func (s *SDK[T]) OrderSplitLedgerResultQuery(req *model.OrderSplitLedgerResultQu
|
||||||
return s.SplitLedger.OrderSplitLedgerResultQuery(req)
|
return s.SplitLedger.OrderSplitLedgerResultQuery(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OrderSplitLedgerFallback 订单分账回退
|
||||||
|
func (s *SDK[T]) OrderSplitLedgerFallback(req *model.OrderSplitLedgerFallbackReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.OrderSplitLedgerFallback(req)
|
||||||
|
}
|
||||||
|
|
||||||
// TradeQuery 交易查询
|
// TradeQuery 交易查询
|
||||||
func (s *SDK[T]) TradeQuery(req *model.TradeQueryReqData) (*T, error) {
|
func (s *SDK[T]) TradeQuery(req *model.TradeQueryReqData) (*T, error) {
|
||||||
return s.Trade.TradeQuery(req)
|
return s.Trade.TradeQuery(req)
|
||||||
|
|
|
||||||
|
|
@ -156,3 +156,22 @@ func (s *SplitLedgerService[T]) OrderSplitLedgerResultQuery(req *model.OrderSpli
|
||||||
}
|
}
|
||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) OrderSplitLedgerFallback(req *model.OrderSplitLedgerFallbackReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_URL + consts.LKL_SPLIT_LEDGER_FALLBACK_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.OrderSplitLedgerFallbackRequest{
|
||||||
|
ReqTime: time.Now().Format("20060102150405"),
|
||||||
|
Version: "3.0",
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := s.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
type OrderSplitLedgerFallbackRequest struct {
|
||||||
|
ReqData *OrderSplitLedgerFallbackReqData `json:"req_data"` // 请求业务数据
|
||||||
|
Version string `json:"version"` // 接口版本号
|
||||||
|
ReqTime string `json:"req_time"` // 请求时间,格式为yyyyMMddHHmmss
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderSplitLedgerFallbackReqData struct {
|
||||||
|
MerchantNo string `json:"merchant_no"` // 商户号,必传,长度32
|
||||||
|
OriginSeparateNo string `json:"origin_separate_no"` // 原分账单号,必传,长度32
|
||||||
|
OutSeparateNo string `json:"out_separate_no"` // 外部分账单号,必传,长度32
|
||||||
|
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原外部分账单号,必传,长度32
|
||||||
|
FallbackReason string `json:"fallback_reason"` // 回退原因,必传,长度255
|
||||||
|
TotalAmt string `json:"total_amt"` // 总金额,必传,长度15
|
||||||
|
OriginRecvDatas []*OrderSplitLedgerOriginRecvDatas `json:"origin_recv_datas"` // 原分账接收数据,必传,数组长度1-100
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderSplitLedgerOriginRecvDatas struct {
|
||||||
|
RecvNo string `json:"recv_no"` // 原分账接收号,必传,长度32
|
||||||
|
Amt string `json:"amt"` // 原分账接收金额,必传,长度15
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderSplitLedgerFallbackResponse struct {
|
||||||
|
Msg string `json:"msg"` // 消息
|
||||||
|
RespTime string `json:"resp_time"` // 响应时间
|
||||||
|
Code string `json:"code"` // 响应码 SACS0000表示成功
|
||||||
|
RespData struct {
|
||||||
|
OutSeparateNo string `json:"out_separate_no"` // 外部分账单号,必传,长度32
|
||||||
|
TotalAmt string `json:"total_amt"` // 总金额,必传,长度15
|
||||||
|
OriginOutSeparateNo string `json:"origin_out_separate_no"` // 原外部分账单号,必传,长度32
|
||||||
|
OriginSeparateNo string `json:"origin_separate_no"` // 原分账单号,必传,长度32
|
||||||
|
Status string `json:"status"` // 状态,必传,长度1
|
||||||
|
SeparateNo string `json:"separate_no"` // 分账单号,必传,长度32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *OrderSplitLedgerFallbackResponse) SuccessOrFail() bool {
|
||||||
|
return s.Code == "SACS0000"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue