From c8e5c19dc72028f5c31b609a0f4ef08965352ab2 Mon Sep 17 00:00:00 2001 From: huangqz Date: Mon, 8 Sep 2025 14:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Easdk=E8=B8=A2=E4=BA=BA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/asdk/client.go | 47 ++++++++++++++++++++++++++++++++++++ services/asdk/client_test.go | 26 ++++++++++++++++++++ services/asdk/inner_api.go | 45 ++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 services/asdk/client.go create mode 100644 services/asdk/client_test.go create mode 100644 services/asdk/inner_api.go diff --git a/services/asdk/client.go b/services/asdk/client.go new file mode 100644 index 0000000..07eb02d --- /dev/null +++ b/services/asdk/client.go @@ -0,0 +1,47 @@ +package asdk + +import ( + "fmt" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/utils" + "time" +) + +const ( + VERSION = "2020-11-16" +) + +var HOST = requests.Host{ + Default: "asdk", +} + +type Client struct { + sdk.Client +} + +func NewClient() (client *Client, err error) { + client = new(Client) + err = client.Init() + return +} + +// GenerateInnerApiSign +// 生成内部接口签名 +func GenerateInnerApiSign(ts int64) (int64, string) { + const InnerSignSecret = "sYbfhozSu^@K8~y*" + if ts == 0 { + ts = time.Now().Unix() + } + return ts, utils.Md5(fmt.Sprintf("%d%s", ts, InnerSignSecret)) +} + +// CreateKickUserReq 踢人 +func (c *Client) CreateKickUserReq(req *KickUserReq) (resp *KickUserResp, err error) { + resp = CreateKickUserResp() + err = c.DoAction(req, resp) + if err != nil { + return + } + return +} diff --git a/services/asdk/client_test.go b/services/asdk/client_test.go new file mode 100644 index 0000000..e5f6d2b --- /dev/null +++ b/services/asdk/client_test.go @@ -0,0 +1,26 @@ +package asdk + +import ( + "fmt" + "testing" +) + +// 获取用户累计付费 +func TestKickUser(t *testing.T) { + client, err := NewClient() + if err != nil { + panic(err) + } + ts, sign := GenerateInnerApiSign(0) + req := CreateKickUserReq(KickUserParam{ + Ts: ts, + Sign: sign, + UserName: "aq36604627", + }) + + resp, err := client.CreateKickUserReq(req) + if err != nil { + panic(err) + } + fmt.Println(resp.Code, resp.Msg, resp.Data) +} diff --git a/services/asdk/inner_api.go b/services/asdk/inner_api.go new file mode 100644 index 0000000..cbf5306 --- /dev/null +++ b/services/asdk/inner_api.go @@ -0,0 +1,45 @@ +package asdk + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" + "strconv" +) + +type KickUserReq struct { + *requests.RpcRequest +} + +type KickUserResp struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data struct{} `json:"data"` + TraceId string `json:"trace_id"` +} +type KickUserParam struct { + Ts int64 `json:"ts"` + Sign string `json:"sign"` + UserName string `json:"user_name"` +} + +func CreateKickUserReq(data KickUserParam) *KickUserReq { + req := &KickUserReq{ + &requests.RpcRequest{}, + } + + req.InitWithApiInfo(HOST, VERSION, "/api/kick") + req.Method = requests.GET + req.QueryParams = map[string]string{ + "ts": strconv.FormatInt(data.Ts, 10), + "sign": data.Sign, + "user_name": data.UserName, + } + return req +} + +func CreateKickUserResp() *KickUserResp { + return &KickUserResp{ + BaseResponse: &responses.BaseResponse{}, + } +}