Zuncle e2364f3831 feat(activity): 新增独立奖品发放活动模块
新增独立奖品发放活动的后端表结构、服务、管理端接口与小程序领取接口,支持待领取查询、批量加入已处理、删除记录与成本汇总。
2026-05-07 22:09:22 +08:00

49 lines
1.5 KiB
Go
Executable File

package app
import (
"bindbox-game/internal/pkg/logger"
"bindbox-game/internal/repository/mysql"
"bindbox-game/internal/repository/mysql/dao"
activitysvc "bindbox-game/internal/service/activity"
prizegrantsvc "bindbox-game/internal/service/prize_grant_activity"
tasksvc "bindbox-game/internal/service/task_center"
titlesvc "bindbox-game/internal/service/title"
usersvc "bindbox-game/internal/service/user"
welfaresvc "bindbox-game/internal/service/welfare_activity"
"github.com/redis/go-redis/v9"
)
type handler struct {
logger logger.CustomLogger
writeDB *dao.Query
readDB *dao.Query
activity activitysvc.Service
title titlesvc.Service
repo mysql.Repo
user usersvc.Service
task tasksvc.Service
redis *redis.Client
activityOrder activitysvc.ActivityOrderService // 活动订单服务
welfare welfaresvc.Service
prizeGrant prizegrantsvc.Service
}
func New(logger logger.CustomLogger, db mysql.Repo, rdb *redis.Client, task tasksvc.Service) *handler {
userSvc := usersvc.New(logger, db)
return &handler{
logger: logger,
writeDB: dao.Use(db.GetDbW()),
readDB: dao.Use(db.GetDbR()),
activity: activitysvc.New(logger, db, userSvc, rdb),
title: titlesvc.New(logger, db),
repo: db,
user: userSvc,
task: task,
redis: rdb,
activityOrder: activitysvc.NewActivityOrderService(logger, db),
welfare: welfaresvc.New(logger, db),
prizeGrant: prizegrantsvc.New(logger, db),
}
}