Zuncle 01db44ed50 chore(activity): 补提福利活动接入入口改动
补充提交福利活动在主程序、路由和前后端 handler 装配中的接入改动。
确保福利活动能力在服务启动、admin 路由与 app 路由层完整连通。
2026-04-29 17:28:36 +08:00

77 lines
2.7 KiB
Go
Executable File

package admin
import (
"bindbox-game/internal/pkg/logger"
"bindbox-game/internal/repository/mysql"
"bindbox-game/internal/repository/mysql/dao"
activitysvc "bindbox-game/internal/service/activity"
adminsvc "bindbox-game/internal/service/admin"
bannersvc "bindbox-game/internal/service/banner"
channelsvc "bindbox-game/internal/service/channel"
douyinsvc "bindbox-game/internal/service/douyin"
financesvc "bindbox-game/internal/service/finance"
gamesvc "bindbox-game/internal/service/game"
livestreamsvc "bindbox-game/internal/service/livestream"
productsvc "bindbox-game/internal/service/product"
snapshotsvc "bindbox-game/internal/service/snapshot"
synthesissvc "bindbox-game/internal/service/synthesis"
syscfgsvc "bindbox-game/internal/service/sysconfig"
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
repo mysql.Repo
svc adminsvc.Service
activity activitysvc.Service
product productsvc.Service
userSvc usersvc.Service
banner bannersvc.Service
channel channelsvc.Service
title titlesvc.Service
syscfg syscfgsvc.Service
snapshotSvc snapshotsvc.Service
rollbackSvc snapshotsvc.RollbackService
douyinSvc douyinsvc.Service
livestream livestreamsvc.Service
synthesis synthesissvc.Service
financeSvc financesvc.Service // P&L service (read-only)
welfare welfaresvc.Service
}
func New(logger logger.CustomLogger, db mysql.Repo, rdb *redis.Client) *handler {
userSvc := usersvc.New(logger, db)
snapshotSvc := snapshotsvc.NewService(db)
rollbackSvc := snapshotsvc.NewRollbackService(db, snapshotSvc)
syscfgSvc := syscfgsvc.New(logger, db)
ticketSvc := gamesvc.NewTicketService(logger, db) // 游戏资格服务
titleSvc := titlesvc.New(logger, db) // 称号服务
return &handler{
logger: logger,
writeDB: dao.Use(db.GetDbW()),
readDB: dao.Use(db.GetDbR()),
repo: db,
svc: adminsvc.New(logger, db),
activity: activitysvc.New(logger, db, userSvc, rdb),
product: productsvc.New(logger, db),
userSvc: userSvc,
banner: bannersvc.New(logger, db),
channel: channelsvc.New(logger, db),
title: titleSvc,
syscfg: syscfgSvc,
snapshotSvc: snapshotSvc,
rollbackSvc: rollbackSvc,
douyinSvc: douyinsvc.New(logger, db, syscfgSvc, ticketSvc, userSvc, titleSvc),
livestream: livestreamsvc.New(logger, db, ticketSvc),
synthesis: synthesissvc.New(db),
financeSvc: financesvc.New(logger, db),
welfare: welfaresvc.New(logger, db),
}
}