43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
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"
|
|
tasksvc "bindbox-game/internal/service/task_center"
|
|
titlesvc "bindbox-game/internal/service/title"
|
|
usersvc "bindbox-game/internal/service/user"
|
|
|
|
"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 // 活动订单服务
|
|
}
|
|
|
|
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),
|
|
}
|
|
}
|