diff --git a/services/game/client.go b/services/game/client.go index 337425a..b61f964 100644 --- a/services/game/client.go +++ b/services/game/client.go @@ -83,8 +83,8 @@ func (c *Client) GetIsBlockOutIos(req *IsBlockOutIosReq) (resp *IsBlockOutIosRes return } -func (c *Client) GetGameByVersion(req *GetGameByVersionReq) (resp *GetGameByVersionResp, err error) { - resp = CreateGetGameByVersionResp() +func (c *Client) GetGameVersion(req *GetGameVersionReq) (resp *GetGameVersionResp, err error) { + resp = CreateGetGameVersionResp() err = c.DoAction(req, resp) return } diff --git a/services/game/game.go b/services/game/game.go index 2e77ecc..6d42791 100644 --- a/services/game/game.go +++ b/services/game/game.go @@ -89,7 +89,7 @@ type GameInfoData struct { Discount int `json:"discount"` Divide int `json:"divide"` DownloadDomain string `json:"download_domain"` - DownloadId int `json:"download_id"` + DownloadId string `json:"download_id"` ExchangeRate int `json:"exchange_rate"` ExtData string `json:"ext_data"` Fcmathod int `json:"fcmathod"` @@ -210,7 +210,7 @@ func CreateGetGameSimpleListResp() *GetGameSimpleListResp { } // GameCompany -// 获取根游戏记录 +// ==== 获取根游戏信息 type GameCompany struct { Id int `json:"id"` GameSign string `json:"game_sign"` @@ -260,32 +260,58 @@ func CreateGetGameCompanyResp() *GetGameCompanyResp { // ==== 获取游戏客户端版本配置 -type GetGameByVersionReq struct { +type GameVersion struct { + ID int `json:"id"` + GameID int `json:"game_id"` + GameVersion string `json:"version"` + GameURL string `json:"url"` + PayCallbackURL string `json:"pay_callback_url"` + DomainURL string `json:"domain_url"` + Status int `json:"status"` + H5Version int `json:"h5_version"` + H5Status int `json:"h5_status"` + IsH5Logout int `json:"is_h5_logout"` + HideWindow int `json:"hidewindow"` + PayInfo PayInfo `json:"pay_display_info"` + IsYsdk int `json:"is_ysdk"` + CheckVerified int `json:"check_verified"` + Company string `json:"company"` + CompanyKf string `json:"company_kf"` + CompanyProto string `json:"company_proto"` + CompanySms string `json:"company_sms"` + KfStatus int `json:"kf_status"` + PopupTime int `json:"popup_time"` + ExtData map[string]any `json:"ext_data"` + VersionStatus int `json:"version_status"` + VersionTime int `json:"version_time"` +} + +type GetGameVersionReq struct { *requests.RpcRequest GameId int `position:"Body" field:"game_id"` GameVersion string `position:"Body" field:"game_version"` } -type GetGameByVersionResp struct { +type GetGameVersionResp struct { *responses.BaseResponse - Code int `json:"code"` - Msg string `json:"msg"` - Data GameVersionInfo `json:"data"` + Code int `json:"code"` + Msg string `json:"msg"` + Data GameVersion `json:"data"` } -func CreateGetGameByVersionReq(gameId int, gameVersion string) *GetGameByVersionReq { - req := &GetGameByVersionReq{ +func CreateGetGameVersionReq(gameId int, gameVersion string) *GetGameVersionReq { + req := &GetGameVersionReq{ RpcRequest: &requests.RpcRequest{}, } req.GameId = gameId req.GameVersion = gameVersion - req.InitWithApiInfo(HOST, VERSION, "/api/game/getGameByVersion") + req.InitWithApiInfo(HOST, VERSION, "/api/game/getGameVersion") req.Method = requests.POST return req } -func CreateGetGameByVersionResp() *GetGameByVersionResp { - return &GetGameByVersionResp{ +func CreateGetGameVersionResp() *GetGameVersionResp { + return &GetGameVersionResp{ BaseResponse: &responses.BaseResponse{}, } } diff --git a/services/ip/client.go b/services/ip/client.go new file mode 100644 index 0000000..f0cb56d --- /dev/null +++ b/services/ip/client.go @@ -0,0 +1,36 @@ +package ip + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" +) + +const ( + VERSION = "2025-06-24" +) + +var HOST = requests.Host{ + Default: "ip", +} + +type Client struct { + sdk.Client +} + +func NewClient() (client *Client, err error) { + client = new(Client) + err = client.Init() + return +} + +func (client *Client) CreateGetIpRequest(req *IpRequest) (resp *IpResponse, err error) { + resp = CreateIpResponse() + err = client.DoAction(req, resp) + return +} + +func (client *Client) CreateGetIpsRequest(req *IpsRequest) (resp *IpsResponse, err error) { + resp = CreateIpsResponse() + err = client.DoAction(req, resp) + return +} diff --git a/services/ip/client_test.go b/services/ip/client_test.go new file mode 100644 index 0000000..21deb3a --- /dev/null +++ b/services/ip/client_test.go @@ -0,0 +1,48 @@ +package ip + +import ( + "fmt" + "testing" +) + +// 测试获取单个ip地区信息 +func TestGetIp(t *testing.T) { + client, newErr := NewClient() + if newErr != nil { + panic(newErr) + } + req := CreateIpRequest(IpParam{ + Ip: "114.234.202.136", + }) + res, doErr := client.CreateGetIpRequest(req) + if doErr != nil { + panic(doErr) + } + if res.Code != 0 { + t.Error("查询多个ip失败") + } + fmt.Printf(fmt.Sprintf("%v", res)) +} + +// 测试获取多个ip地区信息 +func TestGetIps(t *testing.T) { + client, newErr := NewClient() + if newErr != nil { + panic(newErr) + } + req := CreateIpsRequest(IpsParam{ + Ips: []string{ + "2001:ee0:5208:e600:4c51:3189:28a4:b668", + "114.234.202.136", + }, + }) + res, err := client.CreateGetIpsRequest(req) + if err != nil { + t.Error(err) + return + } + if res.Code != 0 { + t.Error("查询多个ip失败") + } + fmt.Printf(fmt.Sprintf("%v", res)) +} diff --git a/services/ip/ip.go b/services/ip/ip.go new file mode 100644 index 0000000..c8cac42 --- /dev/null +++ b/services/ip/ip.go @@ -0,0 +1,100 @@ +package ip + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" +) + +type IpInfo struct { + Ip string `json:"ip"` + City string `json:"city"` + Province string `json:"province"` + Country string `json:"country"` + Isp string `json:"isp"` + Owner string `json:"owner"` + Continent string `json:"continent"` + Accuracy string `json:"accuracy"` + Adcode string `json:"adcode"` + Areacode string `json:"areacode"` + Asnumber string `json:"asnumber"` + Radius string `json:"radius"` + Latwgs string `json:"latwgs"` + Lngwgs string `json:"lngwgs"` + Source string `json:"source"` + Timezone string `json:"timezone"` + Zipcode string `json:"zipcode"` + District string `json:"district"` +} + +// IpsParam +// 单个ip请求参数 +type IpParam struct { + Ip string `json:"ip"` +} +type IpRequest struct { + *requests.JsonRequest + Ip string `position:"Json" field:"ip"` +} + +// IpResponse +// 单个ip返回参数 +type IpResponse struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data IpInfo `json:"data"` +} + +// CreateIpRequest +// 同时支持ipv4、ipv6格式查询 +func CreateIpRequest(param IpParam) (req *IpRequest) { + req = &IpRequest{ + JsonRequest: &requests.JsonRequest{}, + Ip: param.Ip, + } + req.InitWithApiInfo(HOST, VERSION, "/v1/getIp") + req.Method = requests.POST + return +} +func CreateIpResponse() (resp *IpResponse) { + resp = &IpResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +} + +// 多个ip请求参数 +type IpsParam struct { + Ips []string `json:"ips"` +} +type IpsRequest struct { + *requests.JsonRequest + Ips []string `position:"Json" field:"ips"` +} + +// IpsResponse +// 多个ip返回参数 +type IpsResponse struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data map[string]IpInfo `json:"data"` +} + +// CreateIpsRequest +// 同时支持ipv4、ipv6格式查询 +func CreateIpsRequest(param IpsParam) (req *IpsRequest) { + req = &IpsRequest{ + JsonRequest: &requests.JsonRequest{}, + Ips: param.Ips, + } + req.InitWithApiInfo(HOST, VERSION, "/v1/getIps") + req.Method = requests.POST + return +} +func CreateIpsResponse() (resp *IpsResponse) { + resp = &IpsResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +} diff --git a/services/script/client.go b/services/script/client.go index 69096a0..830c066 100644 --- a/services/script/client.go +++ b/services/script/client.go @@ -33,3 +33,14 @@ func (c *Client) OpenGame(req *OpenGameReq) (resp *OpenGameResp, err error) { return } + +// NewPayRedisData 设置支付redis相关数据 +func (c *Client) NewPayRedisData(req *NewPayRedisDataReq) (resp *NewPayRedisDataResp, err error) { + resp = CreateNewPayRedisDataResp() + err = c.DoAction(req, resp) + if err != nil { + return + } + + return +} diff --git a/services/script/client_test.go b/services/script/client_test.go index 3834fe1..3a3adb4 100644 --- a/services/script/client_test.go +++ b/services/script/client_test.go @@ -19,3 +19,18 @@ func TestOpenGame(t *testing.T) { fmt.Println(resp.Code, resp.Msg) } + +func TestNewPayRedisData(t *testing.T) { + client, err := NewClient() + if err != nil { + panic(err) + } + req := CreateNewPayRedisDataReq() + + resp, err := client.NewPayRedisData(req) + if err != nil { + panic(err) + } + + fmt.Println(resp.Code, resp.Msg) +} diff --git a/services/script/script.go b/services/script/script.go index 9390924..d048281 100644 --- a/services/script/script.go +++ b/services/script/script.go @@ -15,6 +15,14 @@ type OpenGameResp struct { *responses.BaseResponse } +type NewPayRedisDataReq struct { + *requests.RpcRequest +} + +type NewPayRedisDataResp struct { + *responses.BaseResponse +} + // GetHttpContentBytes 因为http://script.gaore.com/open_game.php?game_id=这个接口返回的不是json,反序列化会报错,所以返回一个固定的json func (baseResponse *OpenGameResp) GetHttpContentBytes() []byte { b, _ := json.Marshal(map[string]interface{}{"code": 200, "msg": "success"}) @@ -40,3 +48,21 @@ func CreateOpenGameResp() *OpenGameResp { BaseResponse: &responses.BaseResponse{}, } } + +// CreateNewPayRedisDataReq 设置支付redis相关数据 +func CreateNewPayRedisDataReq() *NewPayRedisDataReq { + req := &NewPayRedisDataReq{ + &requests.RpcRequest{}, + } + + req.InitWithApiInfo(HOST, VERSION, "pay/new_pay_redis_data.php") + req.Method = requests.GET + + return req +} + +func CreateNewPayRedisDataResp() *NewPayRedisDataResp { + return &NewPayRedisDataResp{ + BaseResponse: &responses.BaseResponse{}, + } +} diff --git a/services/stat/client.go b/services/stat/client.go index 288789d..46fcacc 100644 --- a/services/stat/client.go +++ b/services/stat/client.go @@ -3,6 +3,7 @@ package stat import ( "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "time" ) const ( @@ -49,3 +50,17 @@ func (c *Client) GetAgentList(req *GetAgentListReq) (resp *GetAgentListResp, err } return } + +// GetUserRoleRegPage 获取用户角色注册分页列表 +func (c *Client) GetUserRoleRegPage(req *UserRoleRegReq) (resp *UserRoleRegResp, err error) { + resp = CreateUserRoleRegPageResp() + // 设置超时时间 + req.SetConnectTimeout(10 * time.Second) + // 设置读取超时时间 + req.SetReadTimeout(20 * time.Second) + err = c.DoAction(req, resp) + if err != nil { + return + } + return +} diff --git a/services/stat/client_test.go b/services/stat/client_test.go index b1dbfc4..03c2515 100644 --- a/services/stat/client_test.go +++ b/services/stat/client_test.go @@ -78,3 +78,23 @@ func TestClient_GetAgentList(t *testing.T) { t.Log("GetAgentList test passed") } } + +// TestClient_GetUserRoleRegPage 查询用户角色注册分页 +func TestClient_GetUserRoleRegPage(t *testing.T) { + client, err := NewClient() + if err != nil { + panic(err) + } + req := CreateUserRoleRegPageReq(UserRoleRegParam{ + Page: 1, + PageSize: 10, + RoleId: "", + RoleName: "温文波箐魔灵", + }) + + resp, err := client.GetUserRoleRegPage(req) + if err != nil { + panic(err) + } + fmt.Println(resp.Code, resp.Msg, resp.Data) +} diff --git a/services/stat/user.go b/services/stat/user.go index 2a531af..5d59692 100644 --- a/services/stat/user.go +++ b/services/stat/user.go @@ -57,3 +57,59 @@ func CreateSetUserNewGameAuthResp() *SetUserNewGameAuthResp { BaseResponse: &responses.BaseResponse{}, } } + +// ------------------------------------ + +// UserRoleReg 玩家汇总角色创建记录 +type UserRoleReg struct { + UserName string `json:"user_name"` + Uid string `json:"uid"` + RoleId string `json:"role_id"` + RoleName string `json:"role_name"` + GameSign string `json:"game_sign"` + Id string `json:"id"` + CreatedAt string `json:"created_at"` +} +type UserRoleRegPage struct { + Page int `json:"page"` + TotalCount int `json:"total_count"` + PageSize int `json:"page_size"` + Data []UserRoleReg `json:"data"` +} + +type UserRoleRegParam struct { + Page int `json:"page"` + PageSize int `json:"page_size"` + RoleId string `json:"role_id"` + RoleName string `json:"role_name"` +} +type UserRoleRegReq struct { + *requests.RpcRequest +} +type UserRoleRegResp struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data UserRoleRegPage `json:"data"` +} + +func CreateUserRoleRegPageReq(param UserRoleRegParam) *UserRoleRegReq { + req := &UserRoleRegReq{ + &requests.RpcRequest{}, + } + req.InitWithApiInfo(HOST, VERSION, "/user/getRoleRegPage") + req.Method = requests.POST + req.FormParams = map[string]string{ + "page": fmt.Sprintf("%v", param.Page), + "page_size": fmt.Sprintf("%v", param.PageSize), + "role_id": param.RoleId, + "role_name": param.RoleName, + } + + return req +} +func CreateUserRoleRegPageResp() *UserRoleRegResp { + return &UserRoleRegResp{ + BaseResponse: &responses.BaseResponse{}, + } +}