视频会议保存
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
notifyController "github.com/echochat/backend/app/notify/controller"
|
||||
notifyService "github.com/echochat/backend/app/notify/service"
|
||||
notifyTask "github.com/echochat/backend/app/notify/task"
|
||||
transcribeController "github.com/echochat/backend/app/transcribe/controller"
|
||||
wsApp "github.com/echochat/backend/app/ws"
|
||||
"github.com/echochat/backend/config"
|
||||
"github.com/echochat/backend/pkg/db"
|
||||
@@ -64,6 +65,8 @@ type App struct {
|
||||
MeetingRecordingService *meetingService.MeetingRecordingService // 会议录制业务服务(Phase B 新增)
|
||||
MeetingWSHandler *meetingController.MeetingWSHandler // 会议 WS 事件 Handler(构造时自动注册路由到 Hub)
|
||||
MeetingCleanupTask *meetingTask.MeetingCleanupTask // 会议生命周期兜底定时任务(Task 8 落地)
|
||||
TranscribeController *transcribeController.TranscribeController // 语音转写控制器(Phase B 新增)
|
||||
LLMSourceDB *db.LLMSourceDB // 外部 LLM 配置 MySQL 连接句柄(Phase B 新增)
|
||||
}
|
||||
|
||||
// NewApp 创建应用实例
|
||||
@@ -102,6 +105,8 @@ func NewApp(
|
||||
meetingRecordingSvc *meetingService.MeetingRecordingService,
|
||||
meetingWSHandler *meetingController.MeetingWSHandler,
|
||||
meetingCleanup *meetingTask.MeetingCleanupTask,
|
||||
transcribeCtrl *transcribeController.TranscribeController,
|
||||
llmSourceDB *db.LLMSourceDB,
|
||||
) *App {
|
||||
wsHandler.SetOfflinePusher(offlinePusher)
|
||||
wsHandler.SetNotifyConnectHook(notifySvc)
|
||||
@@ -144,6 +149,8 @@ func NewApp(
|
||||
MeetingRecordingService: meetingRecordingSvc,
|
||||
MeetingWSHandler: meetingWSHandler,
|
||||
MeetingCleanupTask: meetingCleanup,
|
||||
TranscribeController: transcribeCtrl,
|
||||
LLMSourceDB: llmSourceDB,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,6 +180,11 @@ func provideServerConfig(cfg *config.Config) *config.ServerConfig {
|
||||
return &cfg.Server
|
||||
}
|
||||
|
||||
// provideLLMSourceConfig 从全局 Config 中提取 LLMSourceConfig(Phase B 语音转写)
|
||||
func provideLLMSourceConfig(cfg *config.Config) *config.LLMSourceConfig {
|
||||
return &cfg.LLMSource
|
||||
}
|
||||
|
||||
// InfraSet 基础设施层 Provider Set
|
||||
var InfraSet = wire.NewSet(
|
||||
provideDBConfig,
|
||||
@@ -180,8 +192,10 @@ var InfraSet = wire.NewSet(
|
||||
provideJWTConfig,
|
||||
provideMinioConfig,
|
||||
provideServerConfig,
|
||||
provideLLMSourceConfig,
|
||||
db.NewPostgres,
|
||||
db.NewRedis,
|
||||
db.NewLLMSourceDB,
|
||||
storage.NewMinioClient,
|
||||
NewApp,
|
||||
)
|
||||
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
meetingService "github.com/echochat/backend/app/meeting/service"
|
||||
notifyApp "github.com/echochat/backend/app/notify"
|
||||
notifyService "github.com/echochat/backend/app/notify/service"
|
||||
transcribeApp "github.com/echochat/backend/app/transcribe"
|
||||
wsApp "github.com/echochat/backend/app/ws"
|
||||
"github.com/echochat/backend/config"
|
||||
"github.com/google/wire"
|
||||
@@ -39,6 +40,7 @@ func InitializeApp(cfg *config.Config) (*App, error) {
|
||||
groupApp.GroupSet,
|
||||
notifyApp.NotifySet,
|
||||
meetingApp.MeetingSet,
|
||||
transcribeApp.TranscribeSet,
|
||||
wire.Bind(new(wsApp.FriendIDsGetter), new(*contactDAO.FriendshipDAO)),
|
||||
wire.Bind(new(groupService.UserInfoProvider), new(*contactDAO.FriendshipDAO)),
|
||||
wire.Bind(new(imService.GroupInfoGetter), new(*groupDAO.GroupDAO)),
|
||||
|
||||
@@ -30,6 +30,9 @@ import (
|
||||
dao5 "github.com/echochat/backend/app/notify/dao"
|
||||
service3 "github.com/echochat/backend/app/notify/service"
|
||||
"github.com/echochat/backend/app/notify/task"
|
||||
controller8 "github.com/echochat/backend/app/transcribe/controller"
|
||||
dao7 "github.com/echochat/backend/app/transcribe/dao"
|
||||
service8 "github.com/echochat/backend/app/transcribe/service"
|
||||
"github.com/echochat/backend/app/ws"
|
||||
"github.com/echochat/backend/config"
|
||||
"github.com/echochat/backend/pkg/db"
|
||||
@@ -117,6 +120,16 @@ func InitializeApp(cfg *config.Config) (*App, error) {
|
||||
meetingRecordingController := controller7.NewMeetingRecordingController(meetingRecordingService)
|
||||
meetingWSHandler := controller7.NewMeetingWSHandler(meetingSignalService, hub)
|
||||
meetingCleanupTask := task2.NewMeetingCleanupTask(meetingLifecycleService, meetingRoomDAO, meetingChatDAO)
|
||||
app := NewApp(cfg, gormDB, client, minioClient, authService, authController, adminAuthController, userManageController, onlineController, contactManageController, groupManageController, messageManageController, meetingManageController, handler, hub, pubSub, onlineService, contactController, imController, eventHandler, offlinePusher, fileController, groupController, notifyService, notificationController, cleanupTask, meetingService, meetingSignalService, meetingLifecycleService, meetingController, meetingRecordingController, meetingRecordingService, meetingWSHandler, meetingCleanupTask)
|
||||
llmSourceConfig := provideLLMSourceConfig(cfg)
|
||||
llmSourceDB, err := db.NewLLMSourceDB(llmSourceConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
transcriptDAO := dao7.NewTranscriptDAO(gormDB)
|
||||
llmConfigDAO := dao7.NewLLMConfigDAO(llmSourceDB)
|
||||
sttClient := service8.NewOpenAICompatibleClient()
|
||||
transcribeService := service8.NewTranscribeService(gormDB, transcriptDAO, llmConfigDAO, sttClient)
|
||||
transcribeController := controller8.NewTranscribeController(transcribeService)
|
||||
app := NewApp(cfg, gormDB, client, minioClient, authService, authController, adminAuthController, userManageController, onlineController, contactManageController, groupManageController, messageManageController, meetingManageController, handler, hub, pubSub, onlineService, contactController, imController, eventHandler, offlinePusher, fileController, groupController, notifyService, notificationController, cleanupTask, meetingService, meetingSignalService, meetingLifecycleService, meetingController, meetingRecordingController, meetingRecordingService, meetingWSHandler, meetingCleanupTask, transcribeController, llmSourceDB)
|
||||
return app, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user