邹方成 e2782a69d3 feat: 添加对对碰游戏功能与Redis支持
refactor: 重构抽奖逻辑以支持可验证凭据
feat(redis): 集成Redis客户端并添加配置支持
fix: 修复订单取消时的优惠券和库存处理逻辑
docs: 添加对对碰游戏前端对接指南和示例JSON
test: 添加对对碰游戏模拟测试和验证逻辑
2025-12-21 17:31:32 +08:00

40 lines
1017 B
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"
syscfgsvc "bindbox-game/internal/service/sysconfig"
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
syscfg syscfgsvc.Service
title titlesvc.Service
repo mysql.Repo
user usersvc.Service
redis *redis.Client
}
func New(logger logger.CustomLogger, db mysql.Repo, rdb *redis.Client) *handler {
return &handler{
logger: logger,
writeDB: dao.Use(db.GetDbW()),
readDB: dao.Use(db.GetDbR()),
activity: activitysvc.New(logger, db),
syscfg: syscfgsvc.New(logger, db),
title: titlesvc.New(logger, db),
repo: db,
user: usersvc.New(logger, db),
redis: rdb,
}
}