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 }