From 51e0eaec3342615e28ffe1c6ee8992270c6b9d81 Mon Sep 17 00:00:00 2001 From: huangqz Date: Mon, 14 Jul 2025 21:53:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9B=B4=E6=96=B0=E5=AE=9E?= =?UTF-8?q?=E5=90=8D=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/passport/client.go | 15 +++++ services/passport/client_test.go | 31 +++++++++- services/passport/weedong.go | 97 ++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 services/passport/weedong.go diff --git a/services/passport/client.go b/services/passport/client.go index fe81e34..9a4dbce 100644 --- a/services/passport/client.go +++ b/services/passport/client.go @@ -3,6 +3,7 @@ package passport import ( "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "strings" ) const ( @@ -40,3 +41,17 @@ func (c *Client) GetUserRoleList(req *GetUserRoleListRequest) (response *GetUser err = c.DoAction(req, response) return } + +// EditCard +// 新增或修改实名信息 +func (c *Client) EditCard(req EditCardRequestParam) (response string, err error) { + editCardRequest := CreateEditCardRequest(req) + createEditCardResponse := CreateEditCardResponse() + err = c.DoAction(editCardRequest, createEditCardResponse) + if err != nil && strings.Contains(err.Error(), "json Unmarshal:") { + return createEditCardResponse.GetHttpContentString(), nil + } else if err != nil { + return "", err + } + return createEditCardResponse.GetHttpContentString(), nil +} diff --git a/services/passport/client_test.go b/services/passport/client_test.go index f8051f7..bf69fcd 100644 --- a/services/passport/client_test.go +++ b/services/passport/client_test.go @@ -1,6 +1,8 @@ package passport -import "testing" +import ( + "testing" +) // 单元测试 @@ -31,3 +33,30 @@ func TestGetUserRoleList(t *testing.T) { t.Logf("resp code:%+v", resp.Code) t.Logf("resp data:%+v", resp.Data) } + +func TestEditCard(t *testing.T) { + client, err := NewClient() + if err != nil { + t.Error(err) + } + + editCardRequest := EditCardRequestParam{ + Uid: 32455414, + GameId: 5010, + Imei: "11111111", + IsReal: 0, + DirectStatus: 1, + AuthChannel: "gjfcm_wzcq", + DirectExtData: "测试测试测试", + Pi: "", + Ip: "", + Ipv6: "", + UserName: "asfasfd", + RealName: "这艘啊", + IdCard: "33032419950123532X", + Mandatory: "3123123123", + } + editCardResponse, err := client.EditCard(editCardRequest) + t.Logf("%v", editCardResponse) + +} diff --git a/services/passport/weedong.go b/services/passport/weedong.go new file mode 100644 index 0000000..a4d18a1 --- /dev/null +++ b/services/passport/weedong.go @@ -0,0 +1,97 @@ +package passport + +import ( + "fmt" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/utils" + "time" +) + +const weeDongKey = "aVCxX2B3yswpxCMjaaSUHFXAzLYyuGhW" + +func weeDongGetSign(ts int64) string { + return utils.Md5(utils.Md5(fmt.Sprintf("%d", ts)+weeDongKey) + weeDongKey) +} + +type EditCardRequestParam struct { + Uid int64 `position:"Body" field:"uid"` + GameId int64 `position:"Body" field:"game_id"` + Imei string `position:"Body" field:"imei"` + IsReal int64 `position:"Body" field:"is_real"` + DirectStatus int64 `position:"Body" field:"direct_status"` + AuthChannel string `position:"Body" field:"auth_channel"` + DirectExtData string `position:"Body" field:"direct_ext_data"` + Pi string `position:"Body" field:"pi"` + Ip string `position:"Body" field:"ip"` + Ipv6 string `position:"Body" field:"ipv6"` + UserName string `position:"Body" field:"user_name"` + RealName string `position:"Body" field:"truename"` + IdCard string `position:"Body" field:"idcard"` + Mandatory string `position:"Body" field:"mandatory"` +} + +type EditCardResponse struct { + *responses.BaseResponse +} + +type EditCardRequest struct { + *requests.RpcRequest + Uid int64 `position:"Body" field:"uid"` + GameId int64 `position:"Body" field:"game_id"` + Imei string `position:"Body" field:"imei"` + IsReal int64 `position:"Body" field:"is_real"` + DirectStatus int64 `position:"Body" field:"direct_status"` + AuthChannel string `position:"Body" field:"auth_channel"` + DirectExtData string `position:"Body" field:"direct_ext_data"` + Pi string `position:"Body" field:"pi"` + Ip string `position:"Body" field:"ip"` + Ipv6 string `position:"Body" field:"ipv6"` + UserName string `position:"Body" field:"user_name"` + RealName string `position:"Body" field:"truename"` + IdCard string `position:"Body" field:"idcard"` + Mandatory string `position:"Body" field:"mandatory"` + Action string `position:"Body" field:"action"` + Flag string `position:"Body" field:"flag"` + Time string `position:"Body" field:"time"` + IsDirect int64 `position:"Body" field:"is_direct"` +} + +// CreateEditCardRequest 记录实名结果接口 +func CreateEditCardRequest(param EditCardRequestParam) (req *EditCardRequest) { + ts := time.Now().Unix() + sign := weeDongGetSign(ts) + + req = &EditCardRequest{ + RpcRequest: &requests.RpcRequest{}, + Action: "edit_card", + Flag: sign, + Time: fmt.Sprintf("%v", ts), + IsDirect: 0, + // + Uid: param.Uid, + GameId: param.GameId, + Imei: param.Imei, + IsReal: param.IsReal, + DirectStatus: param.DirectStatus, + AuthChannel: param.AuthChannel, + DirectExtData: param.DirectExtData, + Pi: param.Pi, + Ip: param.Ip, + Ipv6: param.Ipv6, + UserName: param.UserName, + RealName: param.RealName, + IdCard: param.IdCard, + Mandatory: param.Mandatory, + } + req.InitWithApiInfo(HOST, VERSION, "/weedong.php") + req.Method = requests.POST + return +} + +func CreateEditCardResponse() (response *EditCardResponse) { + response = &EditCardResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +}