From 503f342158d7ed3162f644089fa6b9e5b834d18e Mon Sep 17 00:00:00 2001 From: zhora Date: Tue, 30 Sep 2025 09:57:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=8F=B7,=E5=90=8Cip=E5=8F=B7=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- call/user.go | 28 +++++++++++++++++++ modules/backend/values/gameuser.go | 2 ++ .../customer/handler/guser/getGameUserInfo.go | 8 ++++-- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/call/user.go b/call/user.go index ce09c51..125919b 100644 --- a/call/user.go +++ b/call/user.go @@ -34,6 +34,34 @@ func GetUserInfo(uid int) (ret *common.PlayerDBInfo, err error) { return } +func GetUserByDeviceIp(ip, device string, withoutUid int) (uids []int) { + if ip == "" && device == "" { + log.Error("get user by device ip is nil, %d", withoutUid) + return + } + var users []common.PlayerDBInfo + db := db.Mysql().C().Model(&common.PlayerDBInfo{}).Select("id") + if ip != "" { + db = db.Where("ip = ?", ip) + } + if device != "" { + db = db.Where("deviceid = ?", device) + } + if withoutUid != 0 { + db = db.Where("id != ?", withoutUid) + } + err := db.Find(&users).Error + if err != nil { + log.Error("get user by device ip err, %s", err.Error()) + return + } + uids = make([]int, 0, len(users)) + for _, v := range users { + uids = append(uids, v.Id) + } + return +} + // 查询用户的信息 func GetUserXInfo(uid int, fields ...string) (ret *common.PlayerDBInfo, err error) { ret = new(common.PlayerDBInfo) diff --git a/modules/backend/values/gameuser.go b/modules/backend/values/gameuser.go index f6613f7..f34c2d0 100644 --- a/modules/backend/values/gameuser.go +++ b/modules/backend/values/gameuser.go @@ -166,6 +166,8 @@ type GetGameUserInfoV1Resp struct { Gpsadid string SubAccount []int Rtp int + SameIPUids []int + SameDeviceUids []int } type UserGameInfo struct { diff --git a/modules/customer/handler/guser/getGameUserInfo.go b/modules/customer/handler/guser/getGameUserInfo.go index ccb9d72..3cdb771 100644 --- a/modules/customer/handler/guser/getGameUserInfo.go +++ b/modules/customer/handler/guser/getGameUserInfo.go @@ -114,9 +114,11 @@ func GetGameUserInfo(c *gin.Context) { Status: user.Status, Birth: user.Birth, // PlayCount: util.GetGUserPlayCount(uid), - IP: user.IP, - LastLogin: user.LastLogin, - Tag: user.Tag, + IP: user.IP, + LastLogin: user.LastLogin, + Tag: user.Tag, + SameIPUids: call.GetUserByDeviceIp(user.IP, "", user.Id), + SameDeviceUids: call.GetUserByDeviceIp("", user.DeviceId, user.Id), // IsFinishNewControl: control.NewControlFin == 2, // NewControlLevel: control.NewControlLevel, // ControlLevel: control.ControlLevel,