优化结构

This commit is contained in:
Yvan
2026-08-23 02:36:58 +08:00
parent 7d89e2ea4d
commit 40632c5756
50 changed files with 408 additions and 115 deletions
+55 -52
View File
@@ -30,7 +30,10 @@ import (
"kra/internal/server"
"kra/internal/server/handler"
"kra/internal/server/router"
"kra/internal/service"
integration4 "kra/internal/service/integration"
payment3 "kra/internal/service/payment"
system3 "kra/internal/service/system"
task3 "kra/internal/service/task"
"kra/internal/worker"
"kra/pkg/logging"
"log/slog"
@@ -56,7 +59,7 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
authorityAccessRepo := system.NewAuthorityAccessRepo(dataData)
apiRepo := system.NewAPIRepo(dataData)
accessControlUsecase := system2.NewAccessControlUsecase(authorityAccessRepo, apiRepo)
accessControlService := service.NewAccessControlService(accessControlUsecase)
v := system3.NewAccessControlService(accessControlUsecase)
userRepo := system.NewUserRepo(dataData)
userUsecase := system2.NewUserUsecase(userRepo)
securityRepo := system.NewSecurityRepo(dataData)
@@ -68,45 +71,45 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
tokenIssuer := system.NewTokenIssuer(runtimeSettings)
auditRecordRepo := system.NewAuditRecorderRepo(dataData)
authenticationUsecase := system2.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo)
authService := service.NewAuthService(authenticationUsecase)
securityService := service.NewSecurityService(securityUsecase)
authService := system3.NewAuthService(authenticationUsecase)
v2 := system3.NewSecurityService(securityUsecase)
auditRecorderUsecase := system2.NewAuditRecorderUsecase(auditRecordRepo)
auditRecorder := service.NewAuditRecorder(auditRecorderUsecase)
v3 := system3.NewAuditRecorder(auditRecorderUsecase)
authorityUsecase := system2.NewAuthorityUsecase(authorityAccessRepo)
authorityService := service.NewAuthorityService(authorityUsecase)
authority := handler.NewAuthority(authorityService)
v4 := system3.NewAuthorityService(authorityUsecase)
authority := handler.NewAuthority(v4)
menuRepo := system.NewMenuRepo(dataData)
menuUsecase := system2.NewMenuUsecase(menuRepo)
menuService := service.NewMenuService(menuUsecase)
menu := handler.NewMenu(menuService)
v5 := system3.NewMenuService(menuUsecase)
menu := handler.NewMenu(v5)
apiUsecase := system2.NewAPIUsecase(apiRepo)
apiService := service.NewAPIService(apiUsecase, runtimeSettings)
api := handler.NewAPI(apiService)
v6 := system3.NewAPIService(apiUsecase, runtimeSettings)
api := handler.NewAPI(v6)
permissionRepo := system.NewPermissionRepo(dataData)
permissionUsecase := system2.NewPermissionUsecase(permissionRepo)
permissionService := service.NewPermissionService(permissionUsecase)
permission := handler.NewPermission(permissionService)
v7 := system3.NewPermissionService(permissionUsecase)
permission := handler.NewPermission(v7)
departmentRepo := system.NewDepartmentRepo(dataData)
departmentUsecase := system2.NewDepartmentUsecase(departmentRepo)
departmentService := service.NewDepartmentService(departmentUsecase)
v8 := system3.NewDepartmentService(departmentUsecase)
positionRepo := system.NewPositionRepo(dataData)
positionUsecase := system2.NewPositionUsecase(positionRepo)
positionService := service.NewPositionService(positionUsecase)
organization := handler.NewOrganization(departmentService, positionService)
v9 := system3.NewPositionService(positionUsecase)
organization := handler.NewOrganization(v8, v9)
announcementRepo := system.NewAnnouncementRepo(dataData)
announcementUsecase := system2.NewAnnouncementUsecase(announcementRepo)
announcementService := service.NewAnnouncementService(announcementUsecase)
announcement := handler.NewAnnouncement(announcementService)
v10 := system3.NewAnnouncementService(announcementUsecase)
announcement := handler.NewAnnouncement(v10)
emailRepo := email.NewEmailRepo(runtime)
emailUsecase := system2.NewEmailUsecase(emailRepo)
emailService := service.NewEmailService(emailUsecase)
handlerEmail := handler.NewEmail(emailService)
v11 := system3.NewEmailService(emailUsecase)
handlerEmail := handler.NewEmail(v11)
paymentConfigReader := integration.NewPaymentConfigReader(dataData)
paymentRepo := payment.NewPaymentRepo(dataData, paymentConfigReader)
paymentOrderRepo := payment.NewPaymentOrderRepo(dataData)
paymentUsecase := payment2.NewPaymentUsecase(paymentRepo, paymentOrderRepo, logger)
paymentService := service.NewPaymentService(paymentUsecase)
handlerPayment := handler.NewPayment(paymentService)
v12 := payment3.NewPaymentService(paymentUsecase)
handlerPayment := handler.NewPayment(v12)
taskRepo := task.NewTaskRepo(dataData)
registry := app.TaskRegistry(catalog)
taskUsecase := task2.NewTaskUsecaseWithRegistry(taskRepo, registry)
@@ -116,53 +119,53 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
taskScheduler := worker.NewTaskScheduler(taskUsecase, authorityUsecase, taskExecutor, logger)
taskRuntime := worker.NewTaskRuntime(taskScheduler)
taskApplicationUsecase := task2.NewTaskApplicationUsecase(taskUsecase, taskRuntime)
taskService := service.NewTaskService(taskApplicationUsecase)
handlerTask := handler.NewTask(taskService)
mediaService := service.NewMediaService(mediaUsecase, runtimeSettings)
media := handler.NewMedia(mediaService)
v13 := task3.NewTaskService(taskApplicationUsecase)
handlerTask := handler.NewTask(v13)
v14 := system3.NewMediaService(mediaUsecase, runtimeSettings)
media := handler.NewMedia(v14)
auditQueryRepo := system.NewAuditRepo(dataData)
auditUsecase := system2.NewAuditUsecase(auditQueryRepo)
auditService := service.NewAuditService(auditUsecase)
v15 := system3.NewAuditService(auditUsecase)
logFileRepo := system.NewLogFileRepo(dataData)
logViewerUsecase := system2.NewLogViewerUsecase(logFileRepo)
logViewerService := service.NewLogViewerService(logViewerUsecase)
audit := handler.NewAudit(auditService, auditRecorder, logViewerService, logger)
v16 := system3.NewLogViewerService(logViewerUsecase)
audit := handler.NewAudit(v15, v3, v16, logger)
exportRepo := system.NewExportRepo(dataData)
exportUsecase := system2.NewExportUsecase(exportRepo)
exportService := service.NewExportService(exportUsecase, systemCache)
export := handler.NewExport(exportService)
v17 := system3.NewExportService(exportUsecase, systemCache)
export := handler.NewExport(v17)
versionRepo := system.NewVersionRepo(dataData)
versionUsecase := system2.NewVersionUsecase(versionRepo)
versionService := service.NewVersionService(versionUsecase)
version := handler.NewVersion(versionService)
v18 := system3.NewVersionService(versionUsecase)
version := handler.NewVersion(v18)
dictionaryRepo := system.NewDictionaryRepo(dataData)
dictionaryUsecase := system2.NewDictionaryUsecase(dictionaryRepo)
dictionaryService := service.NewDictionaryService(dictionaryUsecase)
dictionary := handler.NewDictionary(dictionaryService)
v19 := system3.NewDictionaryService(dictionaryUsecase)
dictionary := handler.NewDictionary(v19)
parameterRepo := system.NewParameterRepo(dataData)
parameterUsecase := system2.NewParameterUsecase(parameterRepo)
parameterService := service.NewParameterService(parameterUsecase)
parameter := handler.NewParameter(parameterService)
tokenService := service.NewTokenService(tokenUsecase, tokenIssuer)
apiToken := handler.NewAPIToken(tokenService)
v20 := system3.NewParameterService(parameterUsecase)
parameter := handler.NewParameter(v20)
v21 := system3.NewTokenService(tokenUsecase, tokenIssuer)
apiToken := handler.NewAPIToken(v21)
initializationRepo := initialize.NewRepo(dataData, catalog)
taskReloader := worker.NewTaskReloader(taskScheduler)
systemConfigUsecase := system2.NewSystemConfigUsecase(initializationRepo, taskReloader)
systemConfigService := service.NewSystemConfigService(systemConfigUsecase, runtimeSettings)
systemConfig := handler.NewSystemConfig(systemConfigService, securityService)
public := handler.NewPublic(authService, systemConfigService, securityService)
userService := service.NewUserService(userUsecase, securityService)
user := handler.NewUser(userService, authService)
navigation := handler.NewNavigation(userService)
session := handler.NewSession(tokenService)
v22 := system3.NewSystemConfigService(systemConfigUsecase, runtimeSettings)
systemConfig := handler.NewSystemConfig(v22, v2)
public := handler.NewPublic(authService, v22, v2)
v23 := system3.NewUserService(userUsecase, v2)
user := handler.NewUser(v23, authService)
navigation := handler.NewNavigation(v23)
session := handler.NewSession(v21)
integrationConfigRepo := integration.NewIntegrationConfigRepo(dataData)
store := data.NewIntegrationRuntime(dataData)
connectivityTester := integration2.NewConnectivityTester(store)
integrationConfigUsecase := integration3.NewIntegrationConfigUsecase(integrationConfigRepo, connectivityTester)
integrationConfigService := service.NewIntegrationConfigService(integrationConfigUsecase)
integrationConfig := handler.NewIntegrationConfig(integrationConfigService)
v := handler.NewSet(authority, menu, api, permission, organization, announcement, handlerEmail, handlerPayment, handlerTask, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session, integrationConfig)
routes := router.NewRoutes(v)
v24 := integration4.NewIntegrationConfigService(integrationConfigUsecase)
integrationConfig := handler.NewIntegrationConfig(v24)
v25 := handler.NewSet(authority, menu, api, permission, organization, announcement, handlerEmail, handlerPayment, handlerTask, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session, integrationConfig)
routes := router.NewRoutes(v25)
maintenanceRepo := system.NewMaintenanceRepo(dataData)
maintenanceUsecase := system2.NewMaintenanceUsecase(maintenanceRepo)
taskMethods := worker.NewTaskMethods(taskUsecase, maintenanceUsecase, mediaUsecase, runtime)
@@ -173,7 +176,7 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
cleanup()
return nil, nil, err
}
engine := server.NewGinEngineWithRuntime(runtime, accessControlService, authService, securityService, auditRecorder, logger, string2, moduleRuntime, websocketServer)
engine := server.NewGinEngineWithRuntime(runtime, v, authService, v2, v3, logger, string2, moduleRuntime, websocketServer)
httpServer := server.NewGinServer(confServer, engine)
mqReloadable, cleanup3, err := mq.New(store, logger)
if err != nil {
@@ -181,7 +184,7 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
cleanup()
return nil, nil, err
}
kratosApp := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable)
kratosApp := newApp(logger, httpServer, taskScheduler, v3, reloadableLogger, mqReloadable)
return kratosApp, func() {
cleanup3()
cleanup2()