视频会议保存
This commit is contained in:
@@ -42,6 +42,7 @@ type App struct {
|
||||
ContactManageController *adminController.ContactManageController // 管理端好友关系管理控制器
|
||||
GroupManageController *adminController.GroupManageController // 管理端群组管理控制器
|
||||
MessageManageController *adminController.MessageManageController // 管理端消息管理控制器
|
||||
MeetingManageController *adminController.MeetingManageController // 管理端会议管理控制器(Phase B)
|
||||
WSHandler *wsApp.Handler // WebSocket 连接处理器
|
||||
Hub *ws.Hub // WebSocket Hub 连接管理
|
||||
PubSub *ws.PubSub // Redis Pub/Sub 消息路由
|
||||
@@ -59,6 +60,8 @@ type App struct {
|
||||
MeetingSignalService *meetingService.MeetingSignalService // 会议 WS 信令业务服务(Task 6 落地)
|
||||
MeetingLifecycleSvc *meetingService.MeetingLifecycleService // 会议生命周期状态机(Task 8 落地)
|
||||
MeetingController *meetingController.MeetingController // 会议 REST 控制器
|
||||
MeetingRecordingController *meetingController.MeetingRecordingController // 会议录制 REST 控制器(Phase B 新增)
|
||||
MeetingRecordingService *meetingService.MeetingRecordingService // 会议录制业务服务(Phase B 新增)
|
||||
MeetingWSHandler *meetingController.MeetingWSHandler // 会议 WS 事件 Handler(构造时自动注册路由到 Hub)
|
||||
MeetingCleanupTask *meetingTask.MeetingCleanupTask // 会议生命周期兜底定时任务(Task 8 落地)
|
||||
}
|
||||
@@ -77,6 +80,7 @@ func NewApp(
|
||||
contactManageCtrl *adminController.ContactManageController,
|
||||
groupManageCtrl *adminController.GroupManageController,
|
||||
msgManageCtrl *adminController.MessageManageController,
|
||||
meetingManageCtrl *adminController.MeetingManageController,
|
||||
wsHandler *wsApp.Handler,
|
||||
hub *ws.Hub,
|
||||
pubsub *ws.PubSub,
|
||||
@@ -94,12 +98,16 @@ func NewApp(
|
||||
meetingSignalSvc *meetingService.MeetingSignalService,
|
||||
meetingLifecycleSvc *meetingService.MeetingLifecycleService,
|
||||
meetingCtrl *meetingController.MeetingController,
|
||||
meetingRecordingCtrl *meetingController.MeetingRecordingController,
|
||||
meetingRecordingSvc *meetingService.MeetingRecordingService,
|
||||
meetingWSHandler *meetingController.MeetingWSHandler,
|
||||
meetingCleanup *meetingTask.MeetingCleanupTask,
|
||||
) *App {
|
||||
wsHandler.SetOfflinePusher(offlinePusher)
|
||||
wsHandler.SetNotifyConnectHook(notifySvc)
|
||||
wsHandler.SetMeetingDisconnectHook(meetingSignalSvc)
|
||||
// Phase B:通过 setter 注入录制停止钩子,避免 MeetingService ↔ MeetingRecordingService 构造期循环依赖
|
||||
meetingSvc.SetRecordingStopper(meetingRecordingSvc)
|
||||
|
||||
return &App{
|
||||
Config: cfg,
|
||||
@@ -114,6 +122,7 @@ func NewApp(
|
||||
ContactManageController: contactManageCtrl,
|
||||
GroupManageController: groupManageCtrl,
|
||||
MessageManageController: msgManageCtrl,
|
||||
MeetingManageController: meetingManageCtrl,
|
||||
WSHandler: wsHandler,
|
||||
Hub: hub,
|
||||
PubSub: pubsub,
|
||||
@@ -130,9 +139,11 @@ func NewApp(
|
||||
MeetingService: meetingSvc,
|
||||
MeetingSignalService: meetingSignalSvc,
|
||||
MeetingLifecycleSvc: meetingLifecycleSvc,
|
||||
MeetingController: meetingCtrl,
|
||||
MeetingWSHandler: meetingWSHandler,
|
||||
MeetingCleanupTask: meetingCleanup,
|
||||
MeetingController: meetingCtrl,
|
||||
MeetingRecordingController: meetingRecordingCtrl,
|
||||
MeetingRecordingService: meetingRecordingSvc,
|
||||
MeetingWSHandler: meetingWSHandler,
|
||||
MeetingCleanupTask: meetingCleanup,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@ func InitializeApp(cfg *config.Config) (*App, error) {
|
||||
conversationDAO := im.ProvideConversationDAO(gormDB)
|
||||
messageManageService := service2.NewMessageManageService(messageManageDAO, userDAO, conversationDAO, pubSub)
|
||||
messageManageController := controller2.NewMessageManageController(messageManageService)
|
||||
meetingManageDAO := dao2.NewMeetingManageDAO(gormDB)
|
||||
meetingManageService := service2.NewMeetingManageService(meetingManageDAO)
|
||||
meetingManageController := controller2.NewMeetingManageController(meetingManageService)
|
||||
serverConfig := provideServerConfig(cfg)
|
||||
handler := ws.ProvideWSHandler(hub, pubSub, jwtConfig, serverConfig, onlineService, authService)
|
||||
friendGroupDAO := dao3.NewFriendGroupDAO(gormDB)
|
||||
@@ -103,14 +106,17 @@ func InitializeApp(cfg *config.Config) (*App, error) {
|
||||
meetingRoomDAO := dao6.NewMeetingRoomDAO(gormDB)
|
||||
meetingParticipantDAO := dao6.NewMeetingParticipantDAO(gormDB)
|
||||
meetingChatDAO := dao6.NewMeetingChatDAO(gormDB)
|
||||
meetingRecordingDAO := dao6.NewMeetingRecordingDAO(gormDB)
|
||||
meetingBroadcaster := service7.NewMeetingBroadcaster(meetingParticipantDAO, pubSub)
|
||||
httpMediaOrchestrator := service7.NewHTTPMediaOrchestrator(cfg)
|
||||
meetingLifecycleService := service7.NewMeetingLifecycleService(meetingRoomDAO, meetingParticipantDAO, client, meetingBroadcaster, httpMediaOrchestrator, cfg)
|
||||
meetingService := service7.NewMeetingService(meetingRoomDAO, meetingParticipantDAO, meetingChatDAO, gormDB, client, meetingBroadcaster, notifyService, friendshipDAO, onlineService, httpMediaOrchestrator, meetingLifecycleService)
|
||||
meetingSignalService := service7.NewMeetingSignalService(meetingRoomDAO, meetingParticipantDAO, client, meetingBroadcaster, httpMediaOrchestrator, meetingLifecycleService)
|
||||
meetingRecordingService := service7.NewMeetingRecordingService(meetingRoomDAO, meetingParticipantDAO, meetingRecordingDAO, client, meetingBroadcaster, httpMediaOrchestrator, minioClient, minioConfig)
|
||||
meetingController := controller7.NewMeetingController(meetingService)
|
||||
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, handler, hub, pubSub, onlineService, contactController, imController, eventHandler, offlinePusher, fileController, groupController, notifyService, notificationController, cleanupTask, meetingService, meetingSignalService, meetingLifecycleService, meetingController, meetingWSHandler, meetingCleanupTask)
|
||||
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)
|
||||
return app, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user