视频保存
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
||||
adminDAO "github.com/echochat/backend/app/admin/dao"
|
||||
"github.com/echochat/backend/app/dto"
|
||||
meetingModel "github.com/echochat/backend/app/meeting/model"
|
||||
meetingService "github.com/echochat/backend/app/meeting/service"
|
||||
"github.com/echochat/backend/pkg/logs"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
@@ -22,12 +23,29 @@ var ErrMeetingNotFound = errors.New("会议记录不存在")
|
||||
// "强制结束会议" 这种写操作直接复用 meeting/service.MeetingService.EndRoom 即可(admin_force 路径),
|
||||
// 暂不在本服务里重复包装,避免与现有 RBAC/中间件冲突。
|
||||
type MeetingManageService struct {
|
||||
dao *adminDAO.MeetingManageDAO
|
||||
dao *adminDAO.MeetingManageDAO
|
||||
recSvc *meetingService.MeetingRecordingService
|
||||
}
|
||||
|
||||
// NewMeetingManageService Wire Provider
|
||||
func NewMeetingManageService(dao *adminDAO.MeetingManageDAO) *MeetingManageService {
|
||||
return &MeetingManageService{dao: dao}
|
||||
func NewMeetingManageService(
|
||||
dao *adminDAO.MeetingManageDAO,
|
||||
recSvc *meetingService.MeetingRecordingService,
|
||||
) *MeetingManageService {
|
||||
return &MeetingManageService{dao: dao, recSvc: recSvc}
|
||||
}
|
||||
|
||||
// ForceStopRecording 管理员强制结束指定录制
|
||||
//
|
||||
// 委托给 meeting/service.MeetingRecordingService.ForceStopByAdmin:
|
||||
// - 终态(ready/failed/uploading)幂等返回 nil
|
||||
// - 否则走完整 stop + 上传 MinIO + DB 状态机
|
||||
func (s *MeetingManageService) ForceStopRecording(ctx context.Context, recordingID int64) error {
|
||||
funcName := "service.meeting_manage_service.ForceStopRecording"
|
||||
logs.Info(ctx, funcName, "管理员请求强制结束录制", zap.Int64("recording_id", recordingID))
|
||||
|
||||
_, err := s.recSvc.ForceStopByAdmin(ctx, recordingID)
|
||||
return err
|
||||
}
|
||||
|
||||
// ---------- public methods ----------
|
||||
|
||||
Reference in New Issue
Block a user