From d38117107d7fded710c5dc54a8ecb2c7fb168402 Mon Sep 17 00:00:00 2001 From: Tao Chen Date: Sat, 2 Nov 2024 08:19:44 +0800 Subject: [PATCH] When login, peer doesn't exist, it should create --- service/peer.go | 10 +++++++++- service/user.go | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/service/peer.go b/service/peer.go index e351bac..2876874 100644 --- a/service/peer.go +++ b/service/peer.go @@ -34,11 +34,19 @@ func (ps *PeerService) FindByUserIdAndUuid(uuid string,userId uint) *model.Peer } // UuidBindUserId 绑定用户id -func (ps *PeerService) UuidBindUserId(uuid string, userId uint) { +func (ps *PeerService) UuidBindUserId(deviceId string, uuid string, userId uint) { peer := ps.FindByUuid(uuid) + // 如果存在则更新 if peer.RowId > 0 { peer.UserId = userId ps.Update(peer) + } else { + // 不存在则创建 + global.DB.Create(&model.Peer{ + Id: deviceId, + Uuid: uuid, + UserId: userId, + }) } } diff --git a/service/user.go b/service/user.go index 2d04386..7859764 100644 --- a/service/user.go +++ b/service/user.go @@ -83,7 +83,7 @@ func (us *UserService) Login(u *model.User, llog *model.LoginLog) *model.UserTok llog.UserTokenId = ut.UserId global.DB.Create(llog) if llog.Uuid != "" { - AllService.PeerService.UuidBindUserId(llog.Uuid, u.Id) + AllService.PeerService.UuidBindUserId(llog.DeviceId, llog.Uuid, u.Id) } return ut }