39 lines
1.1 KiB
Go
Executable File

package app
import (
"bindbox-game/internal/pkg/logger"
"bindbox-game/internal/repository/mysql"
"bindbox-game/internal/repository/mysql/dao"
"bindbox-game/internal/service/douyin"
gamesvc "bindbox-game/internal/service/game"
"bindbox-game/internal/service/sysconfig"
tasksvc "bindbox-game/internal/service/task_center"
titlesvc "bindbox-game/internal/service/title"
usersvc "bindbox-game/internal/service/user"
)
type handler struct {
logger logger.CustomLogger
writeDB *dao.Query
readDB *dao.Query
user usersvc.Service
task tasksvc.Service
douyin douyin.Service
repo mysql.Repo
}
func New(logger logger.CustomLogger, db mysql.Repo, taskSvc tasksvc.Service) *handler {
syscfgSvc := sysconfig.New(logger, db)
userSvc := usersvc.New(logger, db)
titleSvc := titlesvc.New(logger, db)
return &handler{
logger: logger,
writeDB: dao.Use(db.GetDbW()),
readDB: dao.Use(db.GetDbR()),
user: userSvc,
task: taskSvc,
douyin: douyin.New(logger, db, syscfgSvc, gamesvc.NewTicketService(logger, db), userSvc, titleSvc),
repo: db,
}
}