feat(设备绑定): 添加用户数据迁移功能以支持设备重新绑定
Build docker and publish / build (20.15.1) (push) Successful in 6m41s
Build docker and publish / build (20.15.1) (push) Successful in 6m41s
在设备重新绑定到新用户时,自动迁移旧用户的订单、订阅和余额数据 移除游客订单特殊处理逻辑,统一所有订单处理流程 更新设备绑定文档说明新的静默登录机制
This commit is contained in:
@@ -192,12 +192,12 @@ func (l *ActivateOrderLogic) NewPurchase(ctx context.Context, orderInfo *order.O
|
||||
return nil
|
||||
}
|
||||
|
||||
// getUserOrCreate retrieves an existing user or creates a new guest user based on order details
|
||||
// getUserOrCreate retrieves an existing user or creates a new user based on order details
|
||||
func (l *ActivateOrderLogic) getUserOrCreate(ctx context.Context, orderInfo *order.Order) (*user.User, error) {
|
||||
if orderInfo.UserId != 0 {
|
||||
return l.getExistingUser(ctx, orderInfo.UserId)
|
||||
}
|
||||
return l.createGuestUser(ctx, orderInfo)
|
||||
return l.createUserFromTempOrder(ctx, orderInfo)
|
||||
}
|
||||
|
||||
// getExistingUser retrieves user information by user ID
|
||||
@@ -213,9 +213,9 @@ func (l *ActivateOrderLogic) getExistingUser(ctx context.Context, userId int64)
|
||||
return userInfo, nil
|
||||
}
|
||||
|
||||
// createGuestUser creates a new user account for guest orders using temporary order information
|
||||
// stored in Redis cache
|
||||
func (l *ActivateOrderLogic) createGuestUser(ctx context.Context, orderInfo *order.Order) (*user.User, error) {
|
||||
// createUserFromTempOrder creates a new user account using temporary order information
|
||||
// stored in Redis cache. All users created this way are formal users, not guests.
|
||||
func (l *ActivateOrderLogic) createUserFromTempOrder(ctx context.Context, orderInfo *order.Order) (*user.User, error) {
|
||||
tempOrder, err := l.getTempOrderInfo(ctx, orderInfo.OrderNo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -253,7 +253,7 @@ func (l *ActivateOrderLogic) createGuestUser(ctx context.Context, orderInfo *ord
|
||||
// Handle referrer relationship
|
||||
l.handleReferrer(ctx, userInfo, tempOrder.InviteCode)
|
||||
|
||||
logger.WithContext(ctx).Info("Create guest user success",
|
||||
logger.WithContext(ctx).Info("Create user success",
|
||||
logger.Field("user_id", userInfo.Id),
|
||||
logger.Field("identifier", tempOrder.Identifier),
|
||||
logger.Field("auth_type", tempOrder.AuthType),
|
||||
|
||||
Reference in New Issue
Block a user