优化结构

This commit is contained in:
Yvan
2026-08-21 08:54:29 +08:00
parent c968f9f24e
commit 77e192b6c0
167 changed files with 3657 additions and 1528 deletions
+3 -3
View File
@@ -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(
+4
View File
@@ -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,
+21 -5
View File
@@ -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
}