refactor(用户绑定): 移动设备信息获取代码位置以优化逻辑流程
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m19s

This commit is contained in:
shanshanzhong 2025-12-01 00:22:36 -08:00
parent 8086785828
commit 306300244d

View File

@ -127,6 +127,14 @@ 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
}
l.Infow("邮箱已存在,将设备转移到现有邮箱用户",
logger.Field("email", req.Email),
logger.Field("email_user_id", emailUserId))
@ -158,14 +166,6 @@ func (l *BindEmailWithVerificationLogic) BindEmailWithVerification(req *types.Bi
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseDeletedError), "删除用户记录失败")
}
// 获取原设备信息以保留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
}
err = l.createDeviceRecordForEmailUser(emailUserId, deviceIdentifier, deviceIP, deviceUA)
if err != nil {
l.Errorw("创建邮箱用户设备记录失败", logger.Field("error", err.Error()), logger.Field("email_user_id", emailUserId))