99 lines
2.2 KiB
Go
99 lines
2.2 KiB
Go
package lklsdk
|
|
|
|
import (
|
|
"github.com/black1552/lkl_sdk/consts"
|
|
"github.com/black1552/lkl_sdk/lklsdk/common"
|
|
"github.com/black1552/lkl_sdk/model"
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
)
|
|
|
|
// AccountService 账户服务
|
|
type AccountService[T any] struct {
|
|
client *common.Client[T]
|
|
}
|
|
|
|
// NewAccountService 创建账户服务实例
|
|
func NewAccountService[T any](client *common.Client[T]) *AccountService[T] {
|
|
return &AccountService[T]{
|
|
client: client,
|
|
}
|
|
}
|
|
|
|
// BalanceQuery 账户余额查询
|
|
func (a *AccountService[T]) BalanceQuery(req *model.BalanceQueryReqData) (*T, error) {
|
|
// 构建请求参数
|
|
url := consts.BASE_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
|
|
}
|
|
|
|
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 账户提现
|
|
func (a *AccountService[T]) Withdraw(req *model.WithdrawReqData) (*T, error) {
|
|
// 构建请求参数
|
|
url := consts.BASE_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
|
|
}
|
|
|
|
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
|
|
}
|