Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f9a46a6d9 | ||
|
|
14ef8bf585 | ||
|
|
b10df1f064 | ||
|
|
aab78082ce | ||
|
|
59158d7309 | ||
|
|
6f685ea087 | ||
|
|
b038c64873 | ||
|
|
03aec086bf | ||
|
|
8eeee5cbe1 |
@@ -39,6 +39,25 @@ func (a *AccountService[T]) BalanceQuery(req *model.BalanceQueryReqData) (*T, er
|
|||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *AccountService[T]) BalanceQueryTest(req *model.BalanceQueryReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_ACCOUNT_BALANCE_QUERY_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.BalanceQueryRequest{
|
||||||
|
ReqTime: gtime.Now().Format("YmdHis"),
|
||||||
|
Version: "3.0",
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := a.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Withdraw 账户提现
|
// Withdraw 账户提现
|
||||||
func (a *AccountService[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
func (a *AccountService[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
@@ -58,3 +77,22 @@ func (a *AccountService[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
|||||||
}
|
}
|
||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *AccountService[T]) WithdrawTest(req *model.WithdrawReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_ACCOUNT_WITHDRAW_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.WithdrawRequest{
|
||||||
|
ReqTime: gtime.Now().Format("YmdHis"),
|
||||||
|
Version: "3.0",
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := a.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,29 +1,26 @@
|
|||||||
package common
|
package common
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/encoding/gjson"
|
||||||
|
"github.com/gogf/gf/v2/os/gctx"
|
||||||
|
"github.com/gogf/gf/v2/os/glog"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CleanJSON 清理JSON字符串中的空值和0值字段
|
// CleanJSON 清理JSON字符串中的空值和0值字段
|
||||||
func CleanJSON(jsonStr string) ([]byte, error) {
|
func CleanJSON(jsonStr string) ([]byte, error) {
|
||||||
var data interface{}
|
// 解析为JSON
|
||||||
|
json := gjson.NewWithOptions(jsonStr, gjson.Options{StrNumber: true})
|
||||||
// 解析JSON字符串
|
glog.Infof(gctx.New(), "Cleaning JSON: %+v", json)
|
||||||
if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// 递归清理数据
|
// 递归清理数据
|
||||||
cleaned := cleanData(data)
|
cleaned := cleanData(json.Interface())
|
||||||
|
jsons, err := gjson.DecodeToJson(cleaned, gjson.Options{StrNumber: true})
|
||||||
// 转换回JSON字符串
|
|
||||||
result, err := json.Marshal(cleaned)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
glog.Errorf(gctx.New(), "Error decoding JSON: %v", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
return jsons.ToJson()
|
||||||
return result, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// cleanData 递归清理map或slice中的空值和0值
|
// cleanData 递归清理map或slice中的空值和0值
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ package querystatus
|
|||||||
// 生产环境:https://s2.lakala.com/api/v3/mms/open_api/ec/q_status
|
// 生产环境:https://s2.lakala.com/api/v3/mms/open_api/ec/q_status
|
||||||
type ECQueryStatusRequestData struct {
|
type ECQueryStatusRequestData struct {
|
||||||
OrderNo string `json:"order_no" dc:"四方机构自定义订单编号 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)"` // 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)
|
OrderNo string `json:"order_no" dc:"四方机构自定义订单编号 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)"` // 必选,建议:平台编号+14位年月日时(24小时制)分秒+8位的随机数(同一接入机构不重复)
|
||||||
OrgID int `json:"org_id" dc:"机构号 必选,签约方所属拉卡拉机构"` // 必选,签约方所属拉卡拉机构
|
OrgCode int `json:"org_code" dc:"机构号 必选,签约方所属拉卡拉机构"` // 必选,签约方所属拉卡拉机构
|
||||||
EcApplyID int64 `json:"ec_apply_id" dc:"电子合同申请受理号 必选,申请接口反馈编号"` // 必选,申请接口反馈编号
|
EcApplyID int64 `json:"ec_apply_id" dc:"电子合同申请受理号 必选,申请接口反馈编号"` // 必选,申请接口反馈编号
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,31 +104,55 @@ func (s *SDK[T]) ApplyLedgerMer(req *model.ApplyLedgerMerReqData) (*T, error) {
|
|||||||
return s.SplitLedger.ApplyLedgerMer(req)
|
return s.SplitLedger.ApplyLedgerMer(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) ApplyLedgerMerTest(req *model.ApplyLedgerMerReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.ApplyLedgerMerTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// QueryLedgerMer 商户分账信息查询
|
// QueryLedgerMer 商户分账信息查询
|
||||||
func (s *SDK[T]) QueryLedgerMer(req *model.QueryLedgerMerReqData) (*T, error) {
|
func (s *SDK[T]) QueryLedgerMer(req *model.QueryLedgerMerReqData) (*T, error) {
|
||||||
return s.SplitLedger.QueryLedgerMer(req)
|
return s.SplitLedger.QueryLedgerMer(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) QueryLedgerMerTest(req *model.QueryLedgerMerReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.QueryLedgerMerTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// ApplyLedgerReceiver 分账接收方创建申请
|
// ApplyLedgerReceiver 分账接收方创建申请
|
||||||
func (s *SDK[T]) ApplyLedgerReceiver(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
func (s *SDK[T]) ApplyLedgerReceiver(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
||||||
return s.SplitLedger.ApplyLedgerReceiver(req)
|
return s.SplitLedger.ApplyLedgerReceiver(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) ApplyLedgerReceiverTest(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.ApplyLedgerReceiverTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// ApplyBind 分账关系绑定申请
|
// ApplyBind 分账关系绑定申请
|
||||||
func (s *SDK[T]) ApplyBind(req *model.ApplyBindReqData) (*T, error) {
|
func (s *SDK[T]) ApplyBind(req *model.ApplyBindReqData) (*T, error) {
|
||||||
return s.SplitLedger.ApplyBind(req)
|
return s.SplitLedger.ApplyBind(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) ApplyBindTest(req *model.ApplyBindReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.ApplyBindTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// QuerySplitBalance 可分账金额查询
|
// QuerySplitBalance 可分账金额查询
|
||||||
func (s *SDK[T]) QuerySplitBalance(req *model.SplitBalanceReqData) (*T, error) {
|
func (s *SDK[T]) QuerySplitBalance(req *model.SplitBalanceReqData) (*T, error) {
|
||||||
return s.SplitLedger.QuerySplitBalance(req)
|
return s.SplitLedger.QuerySplitBalance(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) QuerySplitBalanceTest(req *model.SplitBalanceReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.QuerySplitBalanceTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// OrderSplitLedger 订单分账
|
// OrderSplitLedger 订单分账
|
||||||
func (s *SDK[T]) OrderSplitLedger(req *model.OrderSplitLedgerReqData) (*T, error) {
|
func (s *SDK[T]) OrderSplitLedger(req *model.OrderSplitLedgerReqData) (*T, error) {
|
||||||
return s.SplitLedger.OrderSplitLedger(req)
|
return s.SplitLedger.OrderSplitLedger(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) OrderSplitLedgerTest(req *model.OrderSplitLedgerReqData) (*T, error) {
|
||||||
|
return s.SplitLedger.OrderSplitLedgerTest(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)
|
||||||
@@ -144,15 +168,26 @@ func (s *SDK[T]) BalanceQuery(req *model.BalanceQueryReqData) (*T, error) {
|
|||||||
return s.Account.BalanceQuery(req)
|
return s.Account.BalanceQuery(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) BalanceQueryTest(req *model.BalanceQueryReqData) (*T, error) {
|
||||||
|
return s.Account.BalanceQueryTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *SDK[T]) UploadFileQuery(req *model.UploadFileReqData) (*T, error) {
|
func (s *SDK[T]) UploadFileQuery(req *model.UploadFileReqData) (*T, error) {
|
||||||
return s.UploadFile.UploadFileQuery(req)
|
return s.UploadFile.UploadFileQuery(req)
|
||||||
}
|
}
|
||||||
|
func (s *SDK[T]) UploadFileQueryTest(req *model.UploadFileReqData) (*T, error) {
|
||||||
|
return s.UploadFile.UploadFileQueryTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// Withdraw 账户提现
|
// Withdraw 账户提现
|
||||||
func (s *SDK[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
func (s *SDK[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
||||||
return s.Account.Withdraw(req)
|
return s.Account.Withdraw(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SDK[T]) WithdrawTest(req *model.WithdrawReqData) (*T, error) {
|
||||||
|
return s.Account.WithdrawTest(req)
|
||||||
|
}
|
||||||
|
|
||||||
// ECApply 电子合同申请
|
// ECApply 电子合同申请
|
||||||
func (s *SDK[T]) ECApply(req *ecApply.ECApplyRequestData) (*ecApply.ECApplyResponse, error) {
|
func (s *SDK[T]) ECApply(req *ecApply.ECApplyRequestData) (*ecApply.ECApplyResponse, error) {
|
||||||
return s.EC.ECApply(req)
|
return s.EC.ECApply(req)
|
||||||
|
|||||||
@@ -50,6 +50,31 @@ func (s *SplitLedgerService[T]) ApplyLedgerMer(req *model.ApplyLedgerMerReqData)
|
|||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) ApplyLedgerMerTest(req *model.ApplyLedgerMerReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_SPLIT_LEDGER_URL
|
||||||
|
|
||||||
|
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("创建ReqId失败")
|
||||||
|
}
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.ApplyLedgerMerRequest{
|
||||||
|
ReqTime: gtime.Now().Format("YmdHis"),
|
||||||
|
Version: "2.0",
|
||||||
|
ReqData: req,
|
||||||
|
ReqId: md5,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := s.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
// ApplyLedgerReceiver 分账接收方创建申请
|
// ApplyLedgerReceiver 分账接收方创建申请
|
||||||
func (s *SplitLedgerService[T]) ApplyLedgerReceiver(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
func (s *SplitLedgerService[T]) ApplyLedgerReceiver(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
@@ -76,6 +101,31 @@ func (s *SplitLedgerService[T]) ApplyLedgerReceiver(req *model.ApplyLedgerReceiv
|
|||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) ApplyLedgerReceiverTest(req *model.ApplyLedgerReceiverReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_SPLIT_LEDGER_RECEIVE_URL
|
||||||
|
|
||||||
|
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("创建ReqId失败")
|
||||||
|
}
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.ApplyLedgerReceiverRequest{
|
||||||
|
ReqTime: gtime.Now().Format("YmdHis"),
|
||||||
|
Version: "2.0",
|
||||||
|
ReqId: md5,
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := s.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
// QueryLedgerMer 商户分账信息查询
|
// QueryLedgerMer 商户分账信息查询
|
||||||
func (s *SplitLedgerService[T]) QueryLedgerMer(req *model.QueryLedgerMerReqData) (*T, error) {
|
func (s *SplitLedgerService[T]) QueryLedgerMer(req *model.QueryLedgerMerReqData) (*T, error) {
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
@@ -96,3 +146,23 @@ func (s *SplitLedgerService[T]) QueryLedgerMer(req *model.QueryLedgerMerReqData)
|
|||||||
|
|
||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) QueryLedgerMerTest(req *model.QueryLedgerMerReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_SPLIT_LEDGER_QUERY_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.QueryLedgerMerRequest{
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -36,6 +36,30 @@ func (s *SplitLedgerService[T]) ApplyBind(req *model.ApplyBindReqData) (*T, erro
|
|||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) ApplyBindTest(req *model.ApplyBindReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_SPLIT_LEDGER_RECEIVE_BIND_URL
|
||||||
|
|
||||||
|
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("创建ReqId失败")
|
||||||
|
}
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.ApplyBindRequest{
|
||||||
|
ReqTime: time.Now().Format("20060102150405"),
|
||||||
|
Version: "2.0",
|
||||||
|
ReqData: req,
|
||||||
|
ReqId: md5,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := s.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
// QuerySplitBalance 可分账金额查询
|
// QuerySplitBalance 可分账金额查询
|
||||||
func (s *SplitLedgerService[T]) QuerySplitBalance(req *model.SplitBalanceReqData) (*T, error) {
|
func (s *SplitLedgerService[T]) QuerySplitBalance(req *model.SplitBalanceReqData) (*T, error) {
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
@@ -56,6 +80,25 @@ func (s *SplitLedgerService[T]) QuerySplitBalance(req *model.SplitBalanceReqData
|
|||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) QuerySplitBalanceTest(req *model.SplitBalanceReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_SPLIT_LEDGER_BALANCE_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.SplitBalanceRequest{
|
||||||
|
ReqTime: gtime.Now().Format("YmdHis"),
|
||||||
|
Version: "3.0",
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := s.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|
||||||
// OrderSplitLedger 订单分账
|
// OrderSplitLedger 订单分账
|
||||||
func (s *SplitLedgerService[T]) OrderSplitLedger(req *model.OrderSplitLedgerReqData) (*T, error) {
|
func (s *SplitLedgerService[T]) OrderSplitLedger(req *model.OrderSplitLedgerReqData) (*T, error) {
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
@@ -75,3 +118,22 @@ func (s *SplitLedgerService[T]) OrderSplitLedger(req *model.OrderSplitLedgerReqD
|
|||||||
}
|
}
|
||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SplitLedgerService[T]) OrderSplitLedgerTest(req *model.OrderSplitLedgerReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_ORDER_SPLIT_LEDGER_URL
|
||||||
|
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.OrderSplitLedgerRequest{
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -46,3 +46,26 @@ func (t *UploadFileService[T]) UploadFileQuery(req *model.UploadFileReqData) (*T
|
|||||||
}
|
}
|
||||||
return respBody, nil
|
return respBody, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (t *UploadFileService[T]) UploadFileQueryTest(req *model.UploadFileReqData) (*T, error) {
|
||||||
|
// 构建请求参数
|
||||||
|
url := consts.BASE_TEST_URL + consts.LKL_UPLOAD_FILE_URL
|
||||||
|
md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix()))
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("创建ReqId失败")
|
||||||
|
}
|
||||||
|
// 构建BaseModel请求
|
||||||
|
baseReq := model.UploadFileRequest{
|
||||||
|
Timestamp: gconv.String(time.Now().Unix()),
|
||||||
|
Ver: "1.0",
|
||||||
|
ReqId: md5,
|
||||||
|
ReqData: req,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发送请求
|
||||||
|
respBody, err := t.client.DoRequest(url, baseReq)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return respBody, nil
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ type ApplyLedgerMerReqData struct {
|
|||||||
SplitEntrustFilePath string `json:"splitEntrustFilePath"` // 分账授权委托书文件路径,必传,长度64,调用附件上传接口获取
|
SplitEntrustFilePath string `json:"splitEntrustFilePath"` // 分账授权委托书文件路径,必传,长度64,调用附件上传接口获取
|
||||||
SplitRange consts.SplitRange `json:"splitRange"` // 分账范围,必传,长度32,取值说明:ALL-全部交易分账(所有交易默认都分账),MARK-标记交易分账(只有带标记交易才分账,其余交易正常结算)
|
SplitRange consts.SplitRange `json:"splitRange"` // 分账范围,必传,长度32,取值说明:ALL-全部交易分账(所有交易默认都分账),MARK-标记交易分账(只有带标记交易才分账,其余交易正常结算)
|
||||||
SepFundSource consts.SepFundSource `json:"sepFundSource"` // 分账依据,非必传,长度32,取值说明:TRA-交易分账,BAR-金额分账
|
SepFundSource consts.SepFundSource `json:"sepFundSource"` // 分账依据,非必传,长度32,取值说明:TRA-交易分账,BAR-金额分账
|
||||||
ElecContractId string `json:"elecContractId"` // 电子合同编号,非必传,长度32,收单已签约交易电子合同编号,供审核人员复核使用
|
EleContractNo string `json:"eleContractNo"` // 电子合同编号,非必传,长度32,收单已签约交易电子合同编号,供审核人员复核使用
|
||||||
SplitLaunchMode consts.SplitLaunchMode `json:"splitLaunchMode"` // 分账发起方式,非必传,长度32,取值说明:AUTO-自动触发分账,POINTTRUE-指定规则分账,MANUAL-手动分账
|
SplitLaunchMode consts.SplitLaunchMode `json:"splitLaunchMode"` // 分账发起方式,非必传,长度32,取值说明:AUTO-自动触发分账,POINTTRUE-指定规则分账,MANUAL-手动分账
|
||||||
SettleType consts.SplitSettleType `json:"settleType"` // 结算类型,非必传,长度32,取值说明:01-主扫现结,02-复扫现结,03-交易自动结算
|
SettleType consts.SplitSettleType `json:"settleType"` // 结算类型,非必传,长度32,取值说明:01-主扫现结,02-复扫现结,03-交易自动结算
|
||||||
SplitRuleSource consts.SplitRuleSource `json:"splitRuleSource"` // 分账规则来源,条件必传,长度32,取值说明:MER-商户自定规则,PLATFORM-平台分润规则(分润规则必传)
|
SplitRuleSource consts.SplitRuleSource `json:"splitRuleSource"` // 分账规则来源,条件必传,长度32,取值说明:MER-商户自定规则,PLATFORM-平台分润规则(分润规则必传)
|
||||||
|
|||||||
Reference in New Issue
Block a user