From 5d0ba49e7e38a5a5b18a7aa9c4c1b4fefde8bc1e Mon Sep 17 00:00:00 2001 From: huangqz Date: Fri, 5 Sep 2025 19:20:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B0=81=E7=A6=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/userlive/client.go | 34 +++++++++++++++ services/userlive/client_test.go | 55 +++++++++++++++++++++++ services/userlive/user_ban.go | 75 ++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+) create mode 100644 services/userlive/client.go create mode 100644 services/userlive/client_test.go create mode 100644 services/userlive/user_ban.go diff --git a/services/userlive/client.go b/services/userlive/client.go new file mode 100644 index 0000000..3d9461d --- /dev/null +++ b/services/userlive/client.go @@ -0,0 +1,34 @@ +package userlive + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" +) + +const ( + VERSION = "2020-11-16" +) + +var HOST = requests.Host{ + Default: "userlive", +} + +type Client struct { + sdk.Client +} + +func NewClient() (client *Client, err error) { + client = new(Client) + err = client.Init() + return +} + +// CreateBanReq 封禁 +func (c *Client) CreateBanReq(req *BanReq) (resp *BanResp, err error) { + resp = CreateBanResp() + err = c.DoAction(req, resp) + if err != nil { + return + } + return +} diff --git a/services/userlive/client_test.go b/services/userlive/client_test.go new file mode 100644 index 0000000..92959f0 --- /dev/null +++ b/services/userlive/client_test.go @@ -0,0 +1,55 @@ +package userlive + +import ( + "fmt" + "testing" + "time" +) + +// 获取用户累计付费 +func TestBan(t *testing.T) { + client, err := NewClient() + if err != nil { + panic(err) + } + req := CreateBanReq(BanReqParam{ + ActionTime: time.Now().Unix(), + EventType: 0, + Ip: "127.0.0.1", + GameId: 8654, + UserName: "aq36604627", + Uid: 632308087, + ServerId: 123, + RoleId: "123", + BundleId: "asdfas", + GameName: "fasdf", + GameVersion: "fasdf", + SdkVersion: "fasdf", + Os: "fasd", + OsVersion: "faf", + InApp: "fasdf", + Ua: "fasdfas", + NetworkType: "fasdfa", + IsVirtual: "-1", + Cpu: "cpu", + DeviceModel: "dfasdf", + Baseband: "fasdfa", + Resolution: "fasdfa", + Battery: "fasdf", + LongId: "fasdf", + OriginImei: "fasdf", + Imei: "fasdf", + OriginOaid: "fasdf", + Oaid: "fasdf", + AndroidId: "fasdf", + Idfa: "fsdf", + Idfv: "fasdf", + DeviceId: "fasdf", + }) + + resp, err := client.CreateBanReq(req) + if err != nil { + panic(err) + } + fmt.Println(resp.Code, resp.Msg, resp.Data) +} diff --git a/services/userlive/user_ban.go b/services/userlive/user_ban.go new file mode 100644 index 0000000..9f601ea --- /dev/null +++ b/services/userlive/user_ban.go @@ -0,0 +1,75 @@ +package userlive + +import ( + "encoding/json" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" +) + +type BanReq struct { + *requests.JsonRequest +} + +type BanResp struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data struct { + Ban bool `json:"ban"` // 是否要禁止 + BanRuleId int64 `json:"ban_rule_id"` // 命中的封禁规则id + } `json:"data"` +} +type BanReqParam struct { + ActionTime int64 `json:"action_time" form:"action_time"` // 上报时间 + EventType int64 `json:"event_type" form:"event_type"` // 上报类型 + Ip string `json:"ip" form:"ip"` // ip + GameId int64 `json:"game_id" form:"game_id"` // 游戏id + UserName string `json:"user_name" form:"user_name"` // 用户名 + Uid int64 `json:"uid" form:"uid"` // 用户id + ServerId int64 `json:"server_id" form:"server_id"` // 区服id + RoleId string `json:"role_id" form:"role_id"` // 角色id + BundleId string `json:"bundle_id" form:"bundle_id"` // ios 包名 + GameName string `json:"game_name" from:"game_name"` // 应用名 + GameVersion string `json:"game_version" from:"game_version"` // 游戏版本 + SdkVersion string `json:"sdk_version" from:"sdk_version"` // sdk版本 + Os string `json:"os" from:"os"` // 系统 + OsVersion string `json:"os_version" from:"os_version"` // 系统版本 + InApp string `json:"in_app" from:"in_app"` // 壳包系统,壳包传 如:ios、android + Ua string `json:"ua" from:"ua"` // ua + NetworkType string `json:"network_type" from:"network_type"` // 网络类型 + IsVirtual string `json:"is_virtual" from:"is_virtual"` // 是否是模拟器,字符串0,1,空字符串表示未知 + Cpu string `json:"cpu" from:"cpu"` // cpu型号 + DeviceModel string `json:"device_model" from:"device_model"` // 设备型号 + Baseband string `json:"baseband" from:"baseband"` // 基带信息 + Resolution string `json:"resolution" from:"resolution"` // 分辨率 + Battery string `json:"battery" from:"battery"` // 电量 + LongId string `json:"long_id" form:"long_id"` // 逻辑设备号 + OriginImei string `json:"origin_imei" form:"origin_imei"` // imei原值 + Imei string `json:"imei" form:"imei"` // 老sdk采集的imei + OriginOaid string `json:"origin_oaid" form:"origin_oaid"` // oaid原值 + Oaid string `json:"oaid" form:"oaid"` // 老sdk采集的oaid + AndroidId string `json:"android_id" form:"android_id"` // 安卓id + Idfa string `json:"idfa" form:"idfa"` // idfa + Idfv string `json:"idfv" form:"idfv"` // idfv + DeviceId string `json:"device_id" form:"device_id"` // device_id +} + +func CreateBanReq(data BanReqParam) *BanReq { + req := &BanReq{ + &requests.JsonRequest{}, + } + + req.InitWithApiInfo(HOST, VERSION, "/api/user_ban/ban") + req.Method = requests.POST + + marshal, _ := json.Marshal(data) + _ = json.Unmarshal(marshal, &req.JsonParams) + return req +} + +// CreateBanResp 创建同步开服数据响应 +func CreateBanResp() *BanResp { + return &BanResp{ + BaseResponse: &responses.BaseResponse{}, + } +}