diff --git a/internal/logic/public/user/bindEmailWithVerificationLogic.go b/internal/logic/public/user/bindEmailWithVerificationLogic.go index 17409b9..fa34dbb 100644 --- a/internal/logic/public/user/bindEmailWithVerificationLogic.go +++ b/internal/logic/public/user/bindEmailWithVerificationLogic.go @@ -128,12 +128,12 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi } } // 获取原设备信息,以保留IP和UserAgent - oldDevice, err := l.svcCtx.UserModel.FindOneDeviceByIdentifier(l.ctx, deviceIdentifier) - var deviceIP, deviceUA string - if err == nil && oldDevice != nil { - deviceIP = oldDevice.Ip - deviceUA = oldDevice.UserAgent - } + // oldDevice, err := l.svcCtx.UserModel.FindOneDeviceByIdentifier(l.ctx, deviceIdentifier) + // var deviceIP, deviceUA string + // if err == nil && oldDevice != nil { + // deviceIP = oldDevice.Ip + // deviceUA = oldDevice.UserAgent + // } l.Infow("邮箱已存在,将设备转移到现有邮箱用户", logger.Field("email", req.Email), @@ -146,10 +146,17 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi } for _, device := range devices { // 删除原本的设备记录 - err = l.svcCtx.UserModel.DeleteDevice(l.ctx, device.Id) + // err = l.svcCtx.UserModel.DeleteDevice(l.ctx, device.Id) + // if err != nil { + // l.Errorw("删除邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId)) + // return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseDeletedError), "删除原本的设备记录失败") + // } + // 更新 设备 归属 + device.UserId = emailUserId + err = l.svcCtx.UserModel.UpdateDevice(l.ctx, device) if err != nil { - l.Errorw("删除邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId)) - return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseDeletedError), "删除原本的设备记录失败") + l.Errorw("更新邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId)) + return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "更新原本的设备记录失败") } } // 再次更新 user_auth_method : 因为之前 默认 设备登录的时候 创建了一个设备认证数据 @@ -166,11 +173,11 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseDeletedError), "删除用户记录失败") } - err = l.createDeviceRecordForEmailUser(emailUserId, deviceIdentifier, deviceIP, deviceUA) - if err != nil { - l.Errorw("创建邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId)) - return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "创建邮箱用户设备记录失败") - } + // err = l.createDeviceRecordForEmailUser(emailUserId, deviceIdentifier, deviceIP, deviceUA) + // if err != nil { + // l.Errorw("创建邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId)) + // return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "创建邮箱用户设备记录失败") + // } } // 4. 生成新的JWT token token, err := l.generateTokenForUser(emailUserId)