39 lines
1.1 KiB
Go
Executable File
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,
|
|
}
|
|
}
|