diff --git a/queue/logic/order/activateOrderLogic.go b/queue/logic/order/activateOrderLogic.go index 7e91493..f6c8f9c 100644 --- a/queue/logic/order/activateOrderLogic.go +++ b/queue/logic/order/activateOrderLogic.go @@ -7,11 +7,9 @@ import ( "encoding/json" "fmt" "strconv" - "strings" "time" "github.com/perfect-panel/server/internal/model/log" - "github.com/perfect-panel/server/internal/model/node" "github.com/perfect-panel/server/pkg/constant" "github.com/perfect-panel/server/pkg/logger" @@ -466,17 +464,8 @@ func (l *ActivateOrderLogic) calculateCommission(price int64, percentage uint8) // clearServerCache clears user list cache for all servers associated with the subscription func (l *ActivateOrderLogic) clearServerCache(ctx context.Context, sub *subscribe.Subscribe) { - nodeIds := tool.StringToInt64Slice(sub.Nodes) - tags := strings.Split(sub.NodeTags, ",") - - err := l.svc.NodeModel.ClearNodeCache(ctx, &node.FilterNodeParams{ - Page: 1, - Size: 1000, - NodeId: nodeIds, - Tag: tags, - }) - if err != nil { - logger.WithContext(ctx).Error("[Order Queue] Clear node cache failed", logger.Field("error", err.Error())) + if err := l.svc.SubscribeModel.ClearCache(ctx, sub.Id); err != nil { + logger.WithContext(ctx).Error("[Order Queue] Clear subscribe cache failed", logger.Field("error", err.Error())) } } diff --git a/queue/logic/subscription/checkSubscriptionLogic.go b/queue/logic/subscription/checkSubscriptionLogic.go index e4d459f..81b86e7 100644 --- a/queue/logic/subscription/checkSubscriptionLogic.go +++ b/queue/logic/subscription/checkSubscriptionLogic.go @@ -3,11 +3,8 @@ package subscription import ( "context" "encoding/json" - "strings" "time" - "github.com/perfect-panel/server/internal/model/node" - "github.com/perfect-panel/server/pkg/tool" queue "github.com/perfect-panel/server/queue/types" "github.com/perfect-panel/server/pkg/logger" @@ -207,31 +204,8 @@ func (l *CheckSubscriptionLogic) clearServerCache(ctx context.Context, userSubs } for sub, _ := range subs { - info, err := l.svc.SubscribeModel.FindOne(ctx, sub) - if err != nil { - logger.Errorw("[CheckSubscription] FindOne subscribe failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub)) - continue - } - if info != nil && info.Id == sub { - var nodes []int64 - if info.Nodes != "" { - nodes = tool.StringToInt64Slice(info.Nodes) - } - var tag []string - if info.NodeTags != "" { - tag = strings.Split(info.NodeTags, ",") - } - - err = l.svc.NodeModel.ClearNodeCache(ctx, &node.FilterNodeParams{ - Page: 1, - Size: 1000, - Tag: tag, - ServerId: nodes, - }) - if err != nil { - logger.Errorw("[CheckSubscription] ClearNodeCache failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub)) - continue - } + if err := l.svc.SubscribeModel.ClearCache(ctx, sub); err != nil { + logger.Errorw("[CheckSubscription] ClearCache failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub)) } } } diff --git a/queue/logic/traffic/resetTrafficLogic.go b/queue/logic/traffic/resetTrafficLogic.go index 8f4f525..bbfee15 100644 --- a/queue/logic/traffic/resetTrafficLogic.go +++ b/queue/logic/traffic/resetTrafficLogic.go @@ -9,12 +9,10 @@ import ( "time" "github.com/perfect-panel/server/internal/model/log" - "github.com/perfect-panel/server/internal/model/node" "github.com/perfect-panel/server/internal/model/subscribe" "github.com/perfect-panel/server/internal/model/user" "github.com/perfect-panel/server/internal/svc" "github.com/perfect-panel/server/pkg/logger" - "github.com/perfect-panel/server/pkg/tool" "github.com/perfect-panel/server/queue/types" "github.com/hibiken/asynq" @@ -598,31 +596,11 @@ func (l *ResetTrafficLogic) clearCache(ctx context.Context, list []*user.Subscri } for sub, _ := range subs { - info, err := l.svc.SubscribeModel.FindOne(ctx, sub) - if err != nil { - logger.Errorw("[CheckSubscription] FindOne subscribe failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub)) - continue - } - if info != nil && info.Id == sub { - var nodes []int64 - if info.Nodes != "" { - nodes = tool.StringToInt64Slice(info.Nodes) - } - var tag []string - if info.NodeTags != "" { - tag = strings.Split(info.NodeTags, ",") - } - - err = l.svc.NodeModel.ClearNodeCache(ctx, &node.FilterNodeParams{ - Page: 1, - Size: 1000, - Tag: tag, - ServerId: nodes, - }) - if err != nil { - logger.Errorw("[CheckSubscription] ClearNodeCache failed", logger.Field("error", err.Error()), logger.Field("subscribe_id", sub)) - continue - } + if err := l.svc.SubscribeModel.ClearCache(ctx, sub); err != nil { + logger.Errorw("[ResetTraffic] Failed to clear subscription cache", + logger.Field("subscribeId", sub), + logger.Field("error", err.Error()), + ) } } }