优化结构
This commit is contained in:
+3
-3
@@ -9,11 +9,11 @@ import (
|
||||
"strings"
|
||||
|
||||
"kra/internal/config"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/server/router"
|
||||
"kra/internal/service"
|
||||
"kra/internal/service/dto"
|
||||
systemservice "kra/internal/service/system"
|
||||
"kra/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
"kra/pkg/module"
|
||||
"kra/pkg/mq"
|
||||
platformtask "kra/pkg/task"
|
||||
@@ -62,7 +62,7 @@ func buildRuntime(registry *platformtask.Registry, systemRoutes *router.Routes,
|
||||
return systemRoutes
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client) *kratos.App {
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *systemservice.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client) *kratos.App {
|
||||
if audit != nil && loggerControl != nil {
|
||||
loggerControl.SetErrorSink(logging.ErrorSinkFunc(func(ctx context.Context, entry logging.ErrorEntry) error {
|
||||
return audit.CreateErrorRequest(ctx, &dto.ErrorRecordRequest{Form: entry.Form, Info: entry.Info, Level: entry.Level, RequestID: entry.RequestID, TraceID: entry.TraceID})
|
||||
|
||||
+3
-2
@@ -15,14 +15,15 @@ import (
|
||||
"kra/internal/initialize"
|
||||
"kra/internal/integration"
|
||||
"kra/internal/integration/cache"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/modules"
|
||||
"kra/internal/server"
|
||||
"kra/internal/server/handler"
|
||||
"kra/internal/server/middleware"
|
||||
"kra/internal/server/router"
|
||||
"kra/internal/service"
|
||||
systemservice "kra/internal/service/system"
|
||||
"kra/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
platformtask "kra/pkg/task"
|
||||
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
@@ -44,7 +45,7 @@ func wireApp(*config.Server, *config.Store, *slog.Logger, *logging.ReloadableLog
|
||||
initialize.ProviderSet,
|
||||
wire.Bind(new(initialize.Backend), new(*data.Data)),
|
||||
wire.Bind(new(cache.RedisProvider), new(*data.Data)),
|
||||
wire.Bind(new(middleware.TokenAuthenticator), new(*service.AuthService)),
|
||||
wire.Bind(new(middleware.TokenAuthenticator), new(*systemservice.AuthService)),
|
||||
wire.Bind(new(taskbiz.TaskMethodRegistry), new(*platformtask.Registry)),
|
||||
biz.ProviderSet,
|
||||
service.ProviderSet,
|
||||
|
||||
Generated
+64
-55
@@ -9,13 +9,13 @@ package main
|
||||
import (
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
integration3 "kra/internal/biz/integration"
|
||||
payment2 "kra/internal/biz/payment"
|
||||
payment3 "kra/internal/biz/payment"
|
||||
system2 "kra/internal/biz/system"
|
||||
task2 "kra/internal/biz/task"
|
||||
"kra/internal/config"
|
||||
"kra/internal/data"
|
||||
"kra/internal/data/integration"
|
||||
"kra/internal/data/payment"
|
||||
payment2 "kra/internal/data/payment"
|
||||
"kra/internal/data/system"
|
||||
"kra/internal/data/task"
|
||||
"kra/internal/initialize"
|
||||
@@ -23,18 +23,19 @@ import (
|
||||
"kra/internal/integration/cache"
|
||||
"kra/internal/integration/email"
|
||||
"kra/internal/integration/mq"
|
||||
"kra/internal/integration/payment"
|
||||
"kra/internal/integration/storage"
|
||||
"kra/internal/integration/websocket"
|
||||
"kra/internal/logging"
|
||||
"kra/internal/modules"
|
||||
"kra/internal/server"
|
||||
"kra/internal/server/handler"
|
||||
"kra/internal/server/router"
|
||||
integration4 "kra/internal/service/integration"
|
||||
payment3 "kra/internal/service/payment"
|
||||
payment4 "kra/internal/service/payment"
|
||||
system3 "kra/internal/service/system"
|
||||
task3 "kra/internal/service/task"
|
||||
"kra/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
@@ -58,7 +59,7 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
authorityAccessRepo := system.NewAuthorityAccessRepo(dataData)
|
||||
apiRepo := system.NewAPIRepo(dataData)
|
||||
accessControlUsecase := system2.NewAccessControlUsecase(authorityAccessRepo, apiRepo)
|
||||
v := system3.NewAccessControlService(accessControlUsecase)
|
||||
accessControlService := system3.NewAccessControlService(accessControlUsecase)
|
||||
userRepo := system.NewUserRepo(dataData)
|
||||
userUsecase := system2.NewUserUsecase(userRepo)
|
||||
securityRepo := system.NewSecurityRepo(dataData)
|
||||
@@ -71,98 +72,106 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
auditRecordRepo := system.NewAuditRecorderRepo(dataData)
|
||||
authenticationUsecase := system2.NewAuthenticationUsecase(userUsecase, securityUsecase, tokenIssuer, auditRecordRepo)
|
||||
authService := system3.NewAuthService(authenticationUsecase)
|
||||
v2 := system3.NewSecurityService(securityUsecase)
|
||||
securityService := system3.NewSecurityService(securityUsecase)
|
||||
auditRecorderUsecase := system2.NewAuditRecorderUsecase(auditRecordRepo)
|
||||
v3 := system3.NewAuditRecorder(auditRecorderUsecase)
|
||||
auditRecorder := system3.NewAuditRecorder(auditRecorderUsecase)
|
||||
registry := taskRegistry()
|
||||
authorityUsecase := system2.NewAuthorityUsecase(authorityAccessRepo)
|
||||
v4 := system3.NewAuthorityService(authorityUsecase)
|
||||
authority := handler.NewAuthority(v4)
|
||||
authorityService := system3.NewAuthorityService(authorityUsecase)
|
||||
authority := handler.NewAuthority(authorityService)
|
||||
menuRepo := system.NewMenuRepo(dataData)
|
||||
menuUsecase := system2.NewMenuUsecase(menuRepo)
|
||||
v5 := system3.NewMenuService(menuUsecase)
|
||||
menu := handler.NewMenu(v5)
|
||||
menuService := system3.NewMenuService(menuUsecase)
|
||||
menu := handler.NewMenu(menuService)
|
||||
apiUsecase := system2.NewAPIUsecase(apiRepo)
|
||||
v6 := system3.NewAPIService(apiUsecase, runtimeSettings)
|
||||
api := handler.NewAPI(v6)
|
||||
apiService := system3.NewAPIService(apiUsecase, runtimeSettings)
|
||||
api := handler.NewAPI(apiService)
|
||||
permissionRepo := system.NewPermissionRepo(dataData)
|
||||
permissionUsecase := system2.NewPermissionUsecase(permissionRepo)
|
||||
v7 := system3.NewPermissionService(permissionUsecase)
|
||||
permission := handler.NewPermission(v7)
|
||||
permissionService := system3.NewPermissionService(permissionUsecase)
|
||||
permission := handler.NewPermission(permissionService)
|
||||
departmentRepo := system.NewDepartmentRepo(dataData)
|
||||
departmentUsecase := system2.NewDepartmentUsecase(departmentRepo)
|
||||
v8 := system3.NewDepartmentService(departmentUsecase)
|
||||
departmentService := system3.NewDepartmentService(departmentUsecase)
|
||||
positionRepo := system.NewPositionRepo(dataData)
|
||||
positionUsecase := system2.NewPositionUsecase(positionRepo)
|
||||
v9 := system3.NewPositionService(positionUsecase)
|
||||
organization := handler.NewOrganization(v8, v9)
|
||||
positionService := system3.NewPositionService(positionUsecase)
|
||||
organization := handler.NewOrganization(departmentService, positionService)
|
||||
announcementRepo := system.NewAnnouncementRepo(dataData)
|
||||
announcementUsecase := system2.NewAnnouncementUsecase(announcementRepo)
|
||||
v10 := system3.NewAnnouncementService(announcementUsecase)
|
||||
announcement := handler.NewAnnouncement(v10)
|
||||
announcementService := system3.NewAnnouncementService(announcementUsecase)
|
||||
announcement := handler.NewAnnouncement(announcementService)
|
||||
emailRepo := email.NewEmailRepo(store)
|
||||
emailUsecase := system2.NewEmailUsecase(emailRepo)
|
||||
v11 := system3.NewEmailService(emailUsecase)
|
||||
handlerEmail := handler.NewEmail(v11)
|
||||
emailService := system3.NewEmailService(emailUsecase)
|
||||
handlerEmail := handler.NewEmail(emailService)
|
||||
paymentConfigReader := integration.NewPaymentConfigReader(dataData)
|
||||
paymentRepo := payment.NewPaymentRepo(dataData, paymentConfigReader)
|
||||
paymentOrderRepo := payment.NewPaymentOrderRepo(dataData)
|
||||
paymentUsecase := payment2.NewPaymentUsecase(paymentRepo, paymentOrderRepo, logger)
|
||||
v12 := payment3.NewPaymentService(paymentUsecase)
|
||||
handlerPayment := handler.NewPayment(v12)
|
||||
factory := payment.NewFactory()
|
||||
paymentRepo := payment2.NewPaymentRepo(dataData, paymentConfigReader, factory)
|
||||
paymentOrderRepo := payment2.NewPaymentOrderRepo(dataData)
|
||||
paymentHooks := payment3.NewPaymentHooks()
|
||||
paymentOrderSourceRegistry := payment3.NewPaymentOrderSourceRegistry()
|
||||
paymentFulfillmentRegistry := payment3.NewPaymentFulfillmentRegistry()
|
||||
paymentUsecase, err := payment3.NewConfiguredPaymentUsecase(paymentRepo, paymentOrderRepo, paymentHooks, paymentOrderSourceRegistry, paymentFulfillmentRegistry, logger)
|
||||
if err != nil {
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
paymentService := payment4.NewPaymentService(paymentUsecase)
|
||||
handlerPayment := handler.NewPayment(paymentService)
|
||||
taskRepo := task.NewTaskRepo(dataData)
|
||||
taskUsecase := task2.NewTaskUsecaseWithRegistry(taskRepo, registry)
|
||||
taskExecutor := worker.NewTaskExecutorWithRegistry(taskUsecase, registry)
|
||||
taskScheduler := worker.NewTaskScheduler(taskUsecase, authorityUsecase, taskExecutor, logger)
|
||||
taskRuntime := worker.NewTaskRuntime(taskScheduler)
|
||||
taskApplicationUsecase := task2.NewTaskApplicationUsecase(taskUsecase, taskRuntime)
|
||||
v13 := task3.NewTaskService(taskApplicationUsecase)
|
||||
handlerTask := handler.NewTask(v13)
|
||||
taskService := task3.NewTaskService(taskApplicationUsecase)
|
||||
handlerTask := handler.NewTask(taskService)
|
||||
mediaRepo := system.NewMediaRepo(dataData)
|
||||
mediaUsecase := system2.NewMediaUsecase(mediaRepo, reloadable, runtimeSettings)
|
||||
v14 := system3.NewMediaService(mediaUsecase, runtimeSettings)
|
||||
media := handler.NewMedia(v14)
|
||||
mediaService := system3.NewMediaService(mediaUsecase, runtimeSettings)
|
||||
media := handler.NewMedia(mediaService)
|
||||
auditQueryRepo := system.NewAuditRepo(dataData)
|
||||
auditUsecase := system2.NewAuditUsecase(auditQueryRepo)
|
||||
v15 := system3.NewAuditService(auditUsecase)
|
||||
auditService := system3.NewAuditService(auditUsecase)
|
||||
logFileRepo := system.NewLogFileRepo(dataData)
|
||||
logViewerUsecase := system2.NewLogViewerUsecase(logFileRepo)
|
||||
v16 := system3.NewLogViewerService(logViewerUsecase)
|
||||
audit := handler.NewAudit(v15, v3, v16, logger)
|
||||
logViewerService := system3.NewLogViewerService(logViewerUsecase)
|
||||
audit := handler.NewAudit(auditService, auditRecorder, logViewerService, logger)
|
||||
exportRepo := system.NewExportRepo(dataData)
|
||||
exportUsecase := system2.NewExportUsecase(exportRepo)
|
||||
v17 := system3.NewExportService(exportUsecase, systemCache)
|
||||
export := handler.NewExport(v17)
|
||||
exportService := system3.NewExportService(exportUsecase, systemCache)
|
||||
export := handler.NewExport(exportService)
|
||||
versionRepo := system.NewVersionRepo(dataData)
|
||||
versionUsecase := system2.NewVersionUsecase(versionRepo)
|
||||
v18 := system3.NewVersionService(versionUsecase)
|
||||
version := handler.NewVersion(v18)
|
||||
versionService := system3.NewVersionService(versionUsecase)
|
||||
version := handler.NewVersion(versionService)
|
||||
dictionaryRepo := system.NewDictionaryRepo(dataData)
|
||||
dictionaryUsecase := system2.NewDictionaryUsecase(dictionaryRepo)
|
||||
v19 := system3.NewDictionaryService(dictionaryUsecase)
|
||||
dictionary := handler.NewDictionary(v19)
|
||||
dictionaryService := system3.NewDictionaryService(dictionaryUsecase)
|
||||
dictionary := handler.NewDictionary(dictionaryService)
|
||||
parameterRepo := system.NewParameterRepo(dataData)
|
||||
parameterUsecase := system2.NewParameterUsecase(parameterRepo)
|
||||
v20 := system3.NewParameterService(parameterUsecase)
|
||||
parameter := handler.NewParameter(v20)
|
||||
v21 := system3.NewTokenService(tokenUsecase, tokenIssuer)
|
||||
apiToken := handler.NewAPIToken(v21)
|
||||
parameterService := system3.NewParameterService(parameterUsecase)
|
||||
parameter := handler.NewParameter(parameterService)
|
||||
tokenService := system3.NewTokenService(tokenUsecase, tokenIssuer)
|
||||
apiToken := handler.NewAPIToken(tokenService)
|
||||
initializationRepo := initialize.NewRepo(dataData, catalog)
|
||||
taskReloader := worker.NewTaskReloader(taskScheduler)
|
||||
systemConfigUsecase := system2.NewSystemConfigUsecase(initializationRepo, taskReloader)
|
||||
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)
|
||||
systemConfigService := system3.NewSystemConfigService(systemConfigUsecase, runtimeSettings)
|
||||
systemConfig := handler.NewSystemConfig(systemConfigService, securityService)
|
||||
public := handler.NewPublic(authService, systemConfigService, securityService)
|
||||
userService := system3.NewUserService(userUsecase, securityService)
|
||||
user := handler.NewUser(userService, authService)
|
||||
navigation := handler.NewNavigation(userService)
|
||||
session := handler.NewSession(tokenService)
|
||||
integrationConfigRepo := integration.NewIntegrationConfigRepo(dataData)
|
||||
runtimeconfigStore := data.NewIntegrationRuntime(dataData)
|
||||
connectivityTester := integration2.NewConnectivityTester(runtimeconfigStore)
|
||||
integrationConfigUsecase := integration3.NewIntegrationConfigUsecase(integrationConfigRepo, connectivityTester)
|
||||
v24 := integration4.NewIntegrationConfigService(integrationConfigUsecase)
|
||||
integrationConfig := handler.NewIntegrationConfig(v24)
|
||||
integrationConfigService := integration4.NewIntegrationConfigService(integrationConfigUsecase)
|
||||
integrationConfig := handler.NewIntegrationConfig(integrationConfigService)
|
||||
set := &handler.Set{
|
||||
Authority: authority,
|
||||
Menu: menu,
|
||||
@@ -197,7 +206,7 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
engine := server.NewGinEngineWithRuntime(store, v, authService, v2, v3, logger, string2, routeRegistrar, websocketServer)
|
||||
engine := server.NewGinEngineWithRuntime(store, accessControlService, authService, securityService, auditRecorder, logger, string2, routeRegistrar, websocketServer)
|
||||
httpServer := server.NewGinServer(configServer, engine)
|
||||
mqReloadable, cleanup3, err := mq.New(runtimeconfigStore, logger)
|
||||
if err != nil {
|
||||
@@ -205,7 +214,7 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
app := newApp(logger, httpServer, taskScheduler, v3, reloadableLogger, mqReloadable)
|
||||
app := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable)
|
||||
return app, func() {
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
|
||||
Reference in New Issue
Block a user