topfans/backend/pkg/mq
zerosaturation ecdd96da5b feat(mq): task:event task type + business event constants
- pkg/mq/tasks/task_events.go (new): business event constants
  - EventDailyLogin, EventDailyBrowseAsset, EventDailyMint, EventDailyPlaceAsset
  - TaskEventPayload{UserID, StarID, EventType}
- pkg/mq/tasks/registry.go: +TypeTaskEvent = 'task:event'

Spec §3 F3 separation: business event constants live in task_events.go;
MQ task type strings live in registry.go (revenue:/gallery:/* style).

Consumed by:
- assetService/mq/producer.go (Phase F.1 emitter for daily_mint)
- frontend pages (Phase F.2 callers via task-api.js reportEvent -> gateway -> task:event)
- taskService/mq/consumer.go (Phase E consumer -> ProcessTaskEvent)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 15:41:49 +08:00
..
adapter
asynq fix(backend): service stability — batch 3 accumulated (bcrypt off-txn / login anti-enum / MQ stub / aiChat / event reliability / gateway aggregate) 2026-07-24 14:03:21 +08:00
tasks feat(mq): task:event task type + business event constants 2026-07-27 15:41:49 +08:00
config.go
mq_test.go
mq.go fix(backend): service stability — batch 3 accumulated (bcrypt off-txn / login anti-enum / MQ stub / aiChat / event reliability / gateway aggregate) 2026-07-24 14:03:21 +08:00