优化结构
This commit is contained in:
@@ -9,11 +9,11 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"kra/app/system/dto"
|
||||
"kra/app/system/service"
|
||||
"kra/app/system/worker"
|
||||
"kra/internal/conf"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/modules/system/dto"
|
||||
"kra/internal/modules/system/service"
|
||||
"kra/internal/modules/system/worker"
|
||||
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
"github.com/go-kratos/kratos/v3/config"
|
||||
|
||||
@@ -8,16 +8,18 @@ package main
|
||||
import (
|
||||
"log/slog"
|
||||
|
||||
"kra/app/admin"
|
||||
"kra/app/system/biz"
|
||||
"kra/app/system/data"
|
||||
"kra/app/system/initialize"
|
||||
"kra/app/system/integration"
|
||||
"kra/app/system/integration/cache"
|
||||
"kra/app/system/service"
|
||||
"kra/app/system/transport/server"
|
||||
"kra/app/system/worker"
|
||||
"kra/internal/conf"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/modules/system/biz"
|
||||
"kra/internal/modules/system/data"
|
||||
"kra/internal/modules/system/initialize"
|
||||
"kra/internal/modules/system/integration"
|
||||
"kra/internal/modules/system/integration/cache"
|
||||
"kra/internal/modules/system/service"
|
||||
"kra/internal/modules/system/transport/server"
|
||||
"kra/internal/modules/system/worker"
|
||||
platformtask "kra/pkg/task"
|
||||
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
"github.com/google/wire"
|
||||
@@ -28,11 +30,15 @@ func wireApp(*conf.Server, *conf.Runtime, *slog.Logger, *logging.ReloadableLogge
|
||||
panic(wire.Build(
|
||||
server.ProviderSet,
|
||||
worker.ProviderSet,
|
||||
app.Catalog,
|
||||
app.TaskRegistry,
|
||||
app.Runtime,
|
||||
data.ProviderSet,
|
||||
integration.ProviderSet,
|
||||
initialize.ProviderSet,
|
||||
wire.Bind(new(initialize.Backend), new(*data.Data)),
|
||||
wire.Bind(new(cache.RedisProvider), new(*data.Data)),
|
||||
wire.Bind(new(biz.TaskMethodRegistry), new(*platformtask.Registry)),
|
||||
biz.ProviderSet,
|
||||
service.ProviderSet,
|
||||
newApp,
|
||||
|
||||
Generated
+40
-34
@@ -8,20 +8,21 @@ package main
|
||||
|
||||
import (
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
"kra/app/admin"
|
||||
"kra/app/system/biz"
|
||||
"kra/app/system/data"
|
||||
"kra/app/system/data/payment"
|
||||
"kra/app/system/data/repository"
|
||||
"kra/app/system/initialize"
|
||||
"kra/app/system/integration/cache"
|
||||
"kra/app/system/integration/email"
|
||||
"kra/app/system/integration/storage"
|
||||
"kra/app/system/service"
|
||||
"kra/app/system/transport/handler"
|
||||
"kra/app/system/transport/server"
|
||||
"kra/app/system/worker"
|
||||
"kra/internal/conf"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/modules/system/biz"
|
||||
"kra/internal/modules/system/data"
|
||||
"kra/internal/modules/system/data/payment"
|
||||
"kra/internal/modules/system/data/repository"
|
||||
"kra/internal/modules/system/initialize"
|
||||
"kra/internal/modules/system/integration/cache"
|
||||
"kra/internal/modules/system/integration/email"
|
||||
"kra/internal/modules/system/integration/storage"
|
||||
"kra/internal/modules/system/service"
|
||||
"kra/internal/modules/system/transport/handler"
|
||||
"kra/internal/modules/system/transport/server"
|
||||
"kra/internal/modules/system/worker"
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
@@ -37,7 +38,8 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
dataData, cleanup, err := data.NewData(runtime, logger, reloadable)
|
||||
catalog := app.Catalog()
|
||||
dataData, cleanup, err := data.NewData(runtime, logger, reloadable, catalog)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
@@ -45,6 +47,21 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
apiRepo := system.NewAPIRepo(dataData)
|
||||
accessControlUsecase := biz.NewAccessControlUsecase(authorityAccessRepo, apiRepo)
|
||||
accessControlService := service.NewAccessControlService(accessControlUsecase)
|
||||
userRepo := system.NewUserRepo(dataData)
|
||||
userUsecase := biz.NewUserUsecase(userRepo)
|
||||
securityRepo := system.NewSecurityRepo(dataData)
|
||||
bizCache := cache.New(dataData)
|
||||
runtimeSettings := system.NewRuntimeSettings(runtime)
|
||||
apiTokenRepo := system.NewAPITokenRepo(dataData)
|
||||
tokenUsecase := biz.NewTokenUsecase(apiTokenRepo)
|
||||
securityUsecase := biz.NewSecurityUsecase(securityRepo, bizCache, runtimeSettings, tokenUsecase)
|
||||
tokenIssuer := system.NewTokenIssuer(runtimeSettings)
|
||||
auditRecordRepo := system.NewAuditRecorderRepo(dataData)
|
||||
authenticationUsecase := biz.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo)
|
||||
authService := service.NewAuthService(authenticationUsecase)
|
||||
securityService := service.NewSecurityService(securityUsecase)
|
||||
auditRecorderUsecase := biz.NewAuditRecorderUsecase(auditRecordRepo)
|
||||
auditRecorder := service.NewAuditRecorder(auditRecorderUsecase)
|
||||
authorityUsecase := biz.NewAuthorityUsecase(authorityAccessRepo)
|
||||
authorityService := service.NewAuthorityService(authorityUsecase)
|
||||
authority := handler.NewAuthority(authorityService)
|
||||
@@ -53,7 +70,6 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
menuService := service.NewMenuService(menuUsecase)
|
||||
menu := handler.NewMenu(menuService)
|
||||
apiUsecase := biz.NewAPIUsecase(apiRepo)
|
||||
runtimeSettings := system.NewRuntimeSettings(runtime)
|
||||
apiService := service.NewAPIService(apiUsecase, runtimeSettings)
|
||||
api := handler.NewAPI(apiService)
|
||||
permissionRepo := system.NewPermissionRepo(dataData)
|
||||
@@ -81,10 +97,11 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
paymentService := service.NewPaymentService(paymentUsecase)
|
||||
handlerPayment := handler.NewPayment(paymentService)
|
||||
taskRepo := system.NewTaskRepo(dataData)
|
||||
taskUsecase := biz.NewTaskUsecase(taskRepo)
|
||||
registry := app.TaskRegistry(catalog)
|
||||
taskUsecase := biz.NewTaskUsecaseWithRegistry(taskRepo, registry)
|
||||
mediaRepo := system.NewMediaRepo(dataData)
|
||||
mediaUsecase := biz.NewMediaUsecase(mediaRepo, reloadable, runtimeSettings)
|
||||
taskExecutor := worker.NewTaskExecutor(taskUsecase, mediaUsecase, runtime)
|
||||
taskExecutor := worker.NewTaskExecutorWithRegistry(taskUsecase, mediaUsecase, runtime, registry)
|
||||
taskScheduler := worker.NewTaskScheduler(taskUsecase, authorityUsecase, taskExecutor, logger)
|
||||
taskRuntime := worker.NewTaskRuntime(taskScheduler)
|
||||
taskApplicationUsecase := biz.NewTaskApplicationUsecase(taskUsecase, taskRuntime)
|
||||
@@ -95,16 +112,12 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
auditQueryRepo := system.NewAuditRepo(dataData)
|
||||
auditUsecase := biz.NewAuditUsecase(auditQueryRepo)
|
||||
auditService := service.NewAuditService(auditUsecase)
|
||||
auditRecordRepo := system.NewAuditRecorderRepo(dataData)
|
||||
auditRecorderUsecase := biz.NewAuditRecorderUsecase(auditRecordRepo)
|
||||
auditRecorder := service.NewAuditRecorder(auditRecorderUsecase)
|
||||
logFileRepo := system.NewLogFileRepo(dataData)
|
||||
logViewerUsecase := biz.NewLogViewerUsecase(logFileRepo)
|
||||
logViewerService := service.NewLogViewerService(logViewerUsecase)
|
||||
audit := handler.NewAudit(auditService, auditRecorder, logViewerService, logger)
|
||||
exportRepo := system.NewExportRepo(dataData)
|
||||
exportUsecase := biz.NewExportUsecase(exportRepo)
|
||||
bizCache := cache.New(dataData)
|
||||
exportService := service.NewExportService(exportUsecase, bizCache)
|
||||
export := handler.NewExport(exportService)
|
||||
versionRepo := system.NewVersionRepo(dataData)
|
||||
@@ -119,32 +132,25 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
parameterUsecase := biz.NewParameterUsecase(parameterRepo)
|
||||
parameterService := service.NewParameterService(parameterUsecase)
|
||||
parameter := handler.NewParameter(parameterService)
|
||||
apiTokenRepo := system.NewAPITokenRepo(dataData)
|
||||
tokenUsecase := biz.NewTokenUsecase(apiTokenRepo)
|
||||
tokenIssuer := system.NewTokenIssuer(runtimeSettings)
|
||||
tokenService := service.NewTokenService(tokenUsecase, tokenIssuer)
|
||||
apiToken := handler.NewAPIToken(tokenService)
|
||||
initializationRepo := initialize.NewRepo(dataData)
|
||||
initializationRepo := initialize.NewRepo(dataData, catalog)
|
||||
systemConfigUsecase := biz.NewSystemConfigUsecase(initializationRepo, taskRuntime)
|
||||
systemConfigService := service.NewSystemConfigService(systemConfigUsecase, runtimeSettings)
|
||||
securityRepo := system.NewSecurityRepo(dataData)
|
||||
securityUsecase := biz.NewSecurityUsecase(securityRepo, bizCache, runtimeSettings, tokenUsecase)
|
||||
securityService := service.NewSecurityService(securityUsecase)
|
||||
systemConfig := handler.NewSystemConfig(systemConfigService, securityService)
|
||||
userRepo := system.NewUserRepo(dataData)
|
||||
userUsecase := biz.NewUserUsecase(userRepo)
|
||||
authenticationUsecase := biz.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo)
|
||||
authService := service.NewAuthService(authenticationUsecase)
|
||||
public := handler.NewPublic(authService, systemConfigService, securityService)
|
||||
userService := service.NewUserService(userUsecase, securityService)
|
||||
user := handler.NewUser(userService, authService)
|
||||
navigation := handler.NewNavigation(userService)
|
||||
session := handler.NewSession(tokenService)
|
||||
set := handler.NewSet(authority, menu, api, permission, organization, announcement, handlerEmail, handlerPayment, task, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session)
|
||||
engine := server.NewGinEngine(runtime, accessControlService, set, authService, securityService, auditRecorder, logger, string2)
|
||||
routes := server.NewRoutes(set)
|
||||
taskMethods := worker.NewTaskMethods(taskUsecase, mediaUsecase, runtime)
|
||||
moduleRuntime := app.Runtime(routes, taskMethods, registry)
|
||||
engine := server.NewGinEngineWithRuntime(runtime, accessControlService, authService, securityService, auditRecorder, logger, string2, moduleRuntime)
|
||||
httpServer := server.NewGinServer(confServer, engine)
|
||||
app := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger)
|
||||
return app, func() {
|
||||
kratosApp := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger)
|
||||
return kratosApp, func() {
|
||||
cleanup()
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user