fix: 加入家庭组时无条件丢弃成员订阅,防止重复订阅
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 5m17s
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 5m17s
加入家庭组前若成员已购买订阅,原逻辑将订阅转移给 owner, 导致 owner 同时持有自身订阅与成员转入订阅,违反单订阅模式。 修改 transferMemberSubscribesToOwner: - 移除转移逻辑,改为无条件删除成员所有订阅 - 成员加入后通过 owner 的订阅使用服务 - 后续购买以 entitlement.EffectiveUserID(owner)为目标,不受影响
This commit is contained in:
parent
4b73cd4d3c
commit
ae62ecc6b3
@ -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
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user