fix(checkSubscriptionLogic): update status filter to include inactive subscriptions

This commit is contained in:
Chang lue Tsen 2025-10-02 17:41:42 +09:00
parent 4e7a6e9e41
commit bf24e1756a

View File

@ -33,7 +33,7 @@ func (l *CheckSubscriptionLogic) ProcessTask(ctx context.Context, _ *asynq.Task)
// Check subscription traffic // Check subscription traffic
err := l.svc.UserModel.Transaction(ctx, func(db *gorm.DB) error { err := l.svc.UserModel.Transaction(ctx, func(db *gorm.DB) error {
var list []*user.Subscribe var list []*user.Subscribe
err := db.Model(&user.Subscribe{}).Where("upload + download >= traffic AND status = 1 AND traffic > 0 ").Find(&list).Error err := db.Model(&user.Subscribe{}).Where("upload + download >= traffic AND status IN (0, 1) AND traffic > 0 ").Find(&list).Error
if err != nil { if err != nil {
logger.Errorw("[Check Subscription Traffic] Query subscribe failed", logger.Field("error", err.Error())) logger.Errorw("[Check Subscription Traffic] Query subscribe failed", logger.Field("error", err.Error()))
return err return err
@ -78,7 +78,7 @@ func (l *CheckSubscriptionLogic) ProcessTask(ctx context.Context, _ *asynq.Task)
// Check subscription expire // Check subscription expire
err = l.svc.UserModel.Transaction(ctx, func(db *gorm.DB) error { err = l.svc.UserModel.Transaction(ctx, func(db *gorm.DB) error {
var list []*user.Subscribe var list []*user.Subscribe
err = db.Model(&user.Subscribe{}).Where("`status` = 1 AND `expire_time` < ? AND `expire_time` != ? and `finished_at` IS NULL", time.Now(), time.UnixMilli(0)).Find(&list).Error err = db.Model(&user.Subscribe{}).Where("`status` IN (0, 1) AND `expire_time` < ? AND `expire_time` != ? and `finished_at` IS NULL", time.Now(), time.UnixMilli(0)).Find(&list).Error
if err != nil { if err != nil {
logger.Error("[Check Subscription] Find subscribe failed", logger.Field("error", err.Error())) logger.Error("[Check Subscription] Find subscribe failed", logger.Field("error", err.Error()))
return err return err