视频保存

This commit is contained in:
duoaohui
2026-05-19 11:30:25 +08:00
parent 6c8572577e
commit b088865d40
3 changed files with 102 additions and 4 deletions

View File

@@ -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 ----------