package task import ( "context" "github.com/hibiken/asynq" "go.uber.org/zap" packageexpiryapp "github.com/break/junhong_cmp_fiber/internal/application/packageexpiry" ) // PackageExpiryReminderHandler 处理每日套餐临期提醒扫描任务。 type PackageExpiryReminderHandler struct { service *packageexpiryapp.ReminderService logger *zap.Logger } // NewPackageExpiryReminderHandler 创建每日套餐临期提醒扫描任务处理器。 func NewPackageExpiryReminderHandler(service *packageexpiryapp.ReminderService, logger *zap.Logger) *PackageExpiryReminderHandler { return &PackageExpiryReminderHandler{service: service, logger: logger} } // Handle 扫描 0 至 15 天临期资产并发布站内通知。 func (h *PackageExpiryReminderHandler) Handle(ctx context.Context, _ *asynq.Task) error { h.logger.Info("开始执行每日套餐临期提醒扫描") if err := h.service.Run(ctx); err != nil { h.logger.Error("每日套餐临期提醒扫描失败", zap.Error(err)) return err } return nil }