You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/app/services/videos/dispatch_callback_service.rb

28 lines
681 B

6 years ago
class Videos::DispatchCallbackService < ApplicationService
attr_reader :video, :params
def initialize(params)
@video = Video.find_by(uuid: params[:VideoId])
@params = params
end
def call
return if video.blank?
# TODO:: 拆分事件分发
case params['EventType']
when 'FileUploadComplete' then # 视频上传完成
6 years ago
video.file_url = params['FileUrl']
video.filesize = params['Size']
6 years ago
video.upload_success
video.save!
when 'SnapshotComplete' then # 封面截图完成
return if video.cover_url.present?
6 years ago
video.update!(cover_url: params['CoverUrl'])
6 years ago
end
rescue => ex
Util.logger_error(ex)
end
end