fix(order): cover invite gifts and inactive renewals
Build docker and publish / build (20.15.1) (push) Successful in 5m36s

This commit is contained in:
2026-04-29 21:52:28 -07:00
parent 6b64e8c461
commit 32e3dc3c73
3 changed files with 518 additions and 14 deletions
+20
View File
@@ -6,6 +6,7 @@ import (
"time"
"github.com/perfect-panel/server/internal/config"
commonLogic "github.com/perfect-panel/server/internal/logic/common"
"github.com/perfect-panel/server/internal/model/log"
"github.com/perfect-panel/server/internal/model/user"
"github.com/perfect-panel/server/internal/svc"
@@ -319,6 +320,25 @@ func (l *DeviceLoginLogic) tryGrantTrialForDeviceLogin(userInfo *user.User, iden
return
}
entitlement, err := commonLogic.ResolveEntitlementUser(l.ctx, l.svcCtx.DB, userInfo.Id)
if err != nil {
l.Errorw("failed to resolve family entitlement before device trial grant",
logger.Field("user_id", userInfo.Id),
logger.Field("identifier", identifier),
logger.Field("error", err.Error()),
)
return
}
if entitlement != nil && entitlement.EffectiveUserID != userInfo.Id {
l.Debugw("skip device trial grant because device user is a family member",
logger.Field("user_id", userInfo.Id),
logger.Field("identifier", identifier),
logger.Field("effective_user_id", entitlement.EffectiveUserID),
logger.Field("entitlement_source", entitlement.Source),
)
return
}
var count int64
if err := l.svcCtx.DB.WithContext(l.ctx).
Model(&user.Subscribe{}).