优化结构
This commit is contained in:
@@ -10,10 +10,10 @@ import (
|
||||
"strings"
|
||||
|
||||
"kra/app/system/internal/conf"
|
||||
"kra/app/system/internal/dto"
|
||||
"kra/app/system/internal/service"
|
||||
"kra/app/system/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
"kra/pkg/mq"
|
||||
|
||||
"github.com/go-kratos/kratos/v3"
|
||||
"github.com/go-kratos/kratos/v3/config"
|
||||
@@ -40,10 +40,10 @@ func init() {
|
||||
flag.StringVar(&flagconf, "conf", "../configs", "config path, eg: -conf config.yaml")
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger) *kratos.App {
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.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})
|
||||
return audit.CreateErrorRequest(ctx, &service.ErrorRecordRequest{Form: entry.Form, Info: entry.Info, Level: entry.Level, RequestID: entry.RequestID, TraceID: entry.TraceID})
|
||||
}))
|
||||
}
|
||||
return kratos.New(
|
||||
|
||||
@@ -16,6 +16,8 @@ import (
|
||||
"kra/app/system/internal/integration"
|
||||
"kra/app/system/internal/integration/cache"
|
||||
"kra/app/system/internal/server"
|
||||
"kra/app/system/internal/server/handler"
|
||||
"kra/app/system/internal/server/router"
|
||||
"kra/app/system/internal/service"
|
||||
"kra/app/system/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
@@ -29,6 +31,8 @@ import (
|
||||
func wireApp(*conf.Server, *conf.Runtime, *slog.Logger, *logging.ReloadableLogger, string) (*kratos.App, func(), error) {
|
||||
panic(wire.Build(
|
||||
server.ProviderSet,
|
||||
handler.ProviderSet,
|
||||
router.ProviderSet,
|
||||
worker.ProviderSet,
|
||||
app.Catalog,
|
||||
app.TaskRegistry,
|
||||
|
||||
Generated
+21
-5
@@ -17,10 +17,13 @@ import (
|
||||
"kra/app/system/internal/initialize"
|
||||
"kra/app/system/internal/integration/cache"
|
||||
"kra/app/system/internal/integration/email"
|
||||
"kra/app/system/internal/integration/mq"
|
||||
"kra/app/system/internal/integration/storage"
|
||||
"kra/app/system/internal/integration/websocket"
|
||||
"kra/app/system/internal/server"
|
||||
"kra/app/system/internal/server/handler"
|
||||
"kra/app/system/internal/server/router"
|
||||
"kra/app/system/internal/service"
|
||||
"kra/app/system/internal/transport/handler"
|
||||
"kra/app/system/internal/worker"
|
||||
"kra/pkg/logging"
|
||||
"log/slog"
|
||||
@@ -143,14 +146,27 @@ func wireApp(confServer *conf.Server, runtime *conf.Runtime, logger *slog.Logger
|
||||
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)
|
||||
routes := server.NewRoutes(set)
|
||||
v := handler.NewSet(authority, menu, api, permission, organization, announcement, handlerEmail, handlerPayment, task, media, audit, export, version, dictionary, parameter, apiToken, systemConfig, public, user, navigation, session)
|
||||
routes := router.NewRoutes(v)
|
||||
taskMethods := worker.NewTaskMethods(taskUsecase, mediaUsecase, runtime)
|
||||
moduleRuntime := app.Runtime(routes, taskMethods, registry)
|
||||
engine := server.NewGinEngineWithRuntime(runtime, accessControlService, authService, securityService, auditRecorder, logger, string2, moduleRuntime)
|
||||
websocketServer, cleanup2, err := websocket.New(runtime)
|
||||
if err != nil {
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
engine := server.NewGinEngineWithRuntime(runtime, accessControlService, authService, securityService, auditRecorder, logger, string2, moduleRuntime, websocketServer)
|
||||
httpServer := server.NewGinServer(confServer, engine)
|
||||
kratosApp := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger)
|
||||
mqReloadable, cleanup3, err := mq.New(runtime, logger)
|
||||
if err != nil {
|
||||
cleanup2()
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
kratosApp := newApp(logger, httpServer, taskScheduler, auditRecorder, reloadableLogger, mqReloadable)
|
||||
return kratosApp, func() {
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
cleanup()
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user