duidui_fiber/internal/wire/wire_gen.go
2026-03-27 10:34:03 +08:00

179 lines
6.2 KiB
Go

// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package wire
import (
"dd_fiber_api/config"
"github.com/google/wire"
)
// Injectors from wire.go:
// InitializeApp 初始化应用
func InitializeApp(cfg *config.Config) (*App, error) {
redisClient, err := NewRedisClient(cfg)
if err != nil {
return nil, err
}
service := NewOSSService(cfg, redisClient)
handler := NewOSSHandler(service)
wechatPayV3Service, err := NewWechatPayV3Service(cfg)
if err != nil {
return nil, err
}
mySQLClient, err := NewMySQLClient(cfg)
if err != nil {
return nil, err
}
orderDAO := NewOrderDAO(mySQLClient)
userSectionAccessDAO := NewUserSectionAccessDAO(mySQLClient)
userCampDAO := NewUserCampDAO(mySQLClient)
paymentHandler := NewPaymentHandler(wechatPayV3Service, orderDAO, userSectionAccessDAO, userCampDAO)
schedulerService := NewSchedulerService(cfg)
schedulerHandler := NewSchedulerHandler(schedulerService)
categoryDAO := NewCategoryDAO(mySQLClient)
campDAO := NewCampDAO(mySQLClient)
categoryService := NewCategoryService(categoryDAO, campDAO)
categoryHandler := NewCategoryHandler(categoryService)
sectionDAO := NewSectionDAO(mySQLClient)
taskDAO := NewTaskDAO(mySQLClient)
progressDAO := NewProgressDAO(mySQLClient)
mongoDBClient, err := NewMongoDBClient(cfg)
if err != nil {
return nil, err
}
answerRecordDAOInterface := NewAnswerRecordDAO(mongoDBClient)
questionDAOInterface := NewQuestionDAO(mongoDBClient)
answerRecordService := NewAnswerRecordService(answerRecordDAOInterface, questionDAOInterface)
paperDAOInterface := NewPaperDAO(mongoDBClient, questionDAOInterface)
materialDAOInterface := NewMaterialDAO(mongoDBClient)
materialService := NewMaterialService(materialDAOInterface)
paperService := NewPaperService(paperDAOInterface, materialService)
orderService := NewOrderService(orderDAO, sectionDAO, wechatPayV3Service, userSectionAccessDAO, userCampDAO, schedulerService, cfg)
campService := NewCampService(campDAO, sectionDAO, taskDAO, progressDAO, userCampDAO, orderDAO, answerRecordService, paperService, orderService)
resetHistoryDAO := NewResetHistoryDAO(mySQLClient)
userCampService := NewUserCampService(userCampDAO, sectionDAO, progressDAO, taskDAO, resetHistoryDAO, answerRecordDAOInterface)
campHandler := NewCampHandler(campService, userCampService)
sectionService := NewSectionService(sectionDAO, campDAO)
sectionHandler := NewSectionHandler(sectionService, orderService, orderDAO, userCampDAO)
taskService := NewTaskService(taskDAO)
taskHandler := NewTaskHandler(taskService)
progressService := NewProgressService(progressDAO, taskDAO, userCampDAO, answerRecordService, campService)
progressHandler := NewProgressHandler(progressService)
userCampHandler := NewUserCampHandler(userCampService)
orderHandler := NewOrderHandler(orderService)
questionService := NewQuestionService(questionDAOInterface)
knowledgeTreeDAOInterface := NewKnowledgeTreeDAO(mongoDBClient)
knowledgeTreeService := NewKnowledgeTreeService(knowledgeTreeDAOInterface)
questionHandler := NewQuestionHandler(questionService, knowledgeTreeService)
paperHandler := NewPaperHandler(paperService)
answerRecordHandler := NewAnswerRecordHandler(answerRecordService)
adminUserDAO := NewAdminUserDAO(mySQLClient)
authService := NewAuthService(adminUserDAO, cfg)
authHandler := NewAuthHandler(authService)
statisticsService := NewStatisticsService(mySQLClient, campDAO, questionDAOInterface, paperDAOInterface)
statisticsHandler := NewStatisticsHandler(statisticsService)
adminUserService := NewAdminUserService(adminUserDAO)
adminUserHandler := NewAdminUserHandler(adminUserService)
roleDAO := NewRoleDAO(mySQLClient)
roleService := NewRoleService(roleDAO)
roleHandler := NewRoleHandler(roleService)
permissionDAO := NewPermissionDAO(mySQLClient)
permissionService := NewPermissionService(permissionDAO)
permissionHandler := NewPermissionHandler(permissionService)
materialHandler := NewMaterialHandler(materialService)
knowledgeTreeHandler := NewKnowledgeTreeHandler(knowledgeTreeService)
folderDAO := NewFolderDAO(mySQLClient)
fileDAO := NewFileDAO(mySQLClient)
documentService := NewDocumentService(folderDAO, fileDAO)
handlerHandler := NewDocumentHandler(documentService)
adminApp := NewAdminApp(cfg, handler, paymentHandler, schedulerHandler, categoryHandler, campHandler, sectionHandler, taskHandler, progressHandler, userCampHandler, orderHandler, questionHandler, paperHandler, answerRecordHandler, authHandler, authService, statisticsHandler, adminUserHandler, roleHandler, permissionHandler, materialHandler, knowledgeTreeHandler, handlerHandler)
apiApp := NewAPIApp(cfg, handler, paymentHandler, schedulerHandler, categoryHandler, campHandler, sectionHandler, taskHandler, progressHandler, userCampHandler, orderHandler, questionHandler, paperHandler, answerRecordHandler)
app := NewApp(adminApp, apiApp, cfg, mySQLClient, mongoDBClient, redisClient)
return app, nil
}
// wire.go:
// AppSet 应用依赖集合
var AppSet = wire.NewSet(
NewMySQLClient,
NewMongoDBClient,
NewRedisClient,
NewOSSService,
NewOSSHandler,
NewWechatPayV3Service,
NewPaymentHandler,
NewSchedulerService,
NewSchedulerHandler,
NewCategoryDAO,
NewCategoryService,
NewCategoryHandler,
NewCampDAO,
NewCampService,
NewCampHandler,
NewSectionDAO,
NewSectionService,
NewSectionHandler,
NewTaskDAO,
NewTaskService,
NewTaskHandler,
NewProgressDAO,
NewProgressService,
NewProgressHandler,
NewUserCampDAO,
NewResetHistoryDAO,
NewUserCampService,
NewUserCampHandler,
NewUserSectionAccessDAO,
NewOrderDAO,
NewOrderService,
NewOrderHandler,
NewQuestionDAO,
NewQuestionService,
NewQuestionHandler,
NewPaperDAO,
NewPaperService,
NewPaperHandler,
NewAnswerRecordDAO,
NewAnswerRecordService,
NewAnswerRecordHandler,
NewMaterialDAO,
NewMaterialService,
NewMaterialHandler,
NewKnowledgeTreeDAO,
NewKnowledgeTreeService,
NewKnowledgeTreeHandler,
NewAdminUserDAO,
NewAuthService,
NewAuthHandler,
NewAdminUserService,
NewAdminUserHandler,
NewRoleDAO,
NewRoleService,
NewRoleHandler,
NewPermissionDAO,
NewPermissionService,
NewPermissionHandler,
NewStatisticsService,
NewStatisticsHandler,
NewFolderDAO,
NewFileDAO,
NewDocumentService,
NewDocumentHandler,
)