diff --git a/internal/logic/public/user/familyBindingHelper.go b/internal/logic/public/user/familyBindingHelper.go index b11a062..d4962e2 100644 --- a/internal/logic/public/user/familyBindingHelper.go +++ b/internal/logic/public/user/familyBindingHelper.go @@ -209,10 +209,9 @@ func transferMemberSubscribesToOwner(tx *gorm.DB, memberUserId, ownerUserId int6 if len(subscribes) == 0 { return nil, nil } - if err := tx.Model(&user.Subscribe{}). - Where("user_id = ?", memberUserId). - Update("user_id", ownerUserId).Error; err != nil { - return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "transfer member subscribes to owner failed") + // 加入家庭组时,无条件丢弃成员的所有订阅(软删除) + if err := tx.Where("user_id = ?", memberUserId).Delete(&user.Subscribe{}).Error; err != nil { + return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "discard member subscribes failed") } return subscribes, nil }