refactor(解绑设备): 优化解绑设备逻辑,保留设备IP和UserAgent信息
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m50s
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m50s
将deleteDevice变量提前声明以避免重复声明 在registerUserAndDevice方法中新增ip和userAgent参数,保留原设备信息
This commit is contained in:
parent
5de2f37c20
commit
330b4ee6a1
@ -44,9 +44,10 @@ func (l *UnbindDeviceLogic) UnbindDevice(req *types.UnbindDeviceRequest) error {
|
||||
return errors.Wrapf(xerr.NewErrCode(xerr.InvalidParams), "device not belong to user")
|
||||
}
|
||||
identifier := device.Identifier
|
||||
var deleteDevice user.Device
|
||||
|
||||
l.svcCtx.DB.Transaction(func(tx *gorm.DB) error {
|
||||
// 业务逻辑修改: 如果解绑; 那么 就把 设备关系 和 邮箱关系 拆开
|
||||
var deleteDevice user.Device
|
||||
// 删除了 设备 记录
|
||||
err = tx.Model(&deleteDevice).Where("id = ?", req.Id).First(&deleteDevice).Error
|
||||
if err != nil {
|
||||
@ -90,12 +91,12 @@ func (l *UnbindDeviceLogic) UnbindDevice(req *types.UnbindDeviceRequest) error {
|
||||
return nil
|
||||
})
|
||||
// 最后 创建一个 新的 设备 用户信息 绕过 赠送套餐
|
||||
l.registerUserAndDevice(identifier)
|
||||
l.registerUserAndDevice(identifier, deleteDevice.Ip, deleteDevice.UserAgent)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (l *UnbindDeviceLogic) registerUserAndDevice(identifier string) (*user.User, error) {
|
||||
func (l *UnbindDeviceLogic) registerUserAndDevice(identifier, ip, userAgent string) (*user.User, error) {
|
||||
l.Infow("删除新建 设备 用户",
|
||||
logger.Field("identifier", identifier),
|
||||
)
|
||||
@ -142,9 +143,9 @@ func (l *UnbindDeviceLogic) registerUserAndDevice(identifier string) (*user.User
|
||||
|
||||
// Insert device record
|
||||
deviceInfo := &user.Device{
|
||||
Ip: "",
|
||||
Ip: ip,
|
||||
UserId: userInfo.Id,
|
||||
UserAgent: "",
|
||||
UserAgent: userAgent,
|
||||
Identifier: identifier,
|
||||
Enabled: true,
|
||||
Online: false,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user