|
- class Libraries::SubmitService < ApplicationService
- Error = Class.new(StandardError)
-
- attr_reader :library
-
- def initialize(library)
- @library = library
- end
-
- def call
- return if library.processing? || library.published?
-
- raise Error, '该状态下不能提交审核' unless library.may_submit?
-
- ActiveRecord::Base.transaction do
- library.published_at = Time.current
- library.submit
- library.save!
-
- library.library_applies.create!
- send_library_apply_notify!
- end
- end
-
- private
-
- def send_library_apply_notify!
- Tiding.create!(user_id: 1, trigger_user_id: library.user_id,
- container_id: library.id, container_type: 'Library',
- tiding_type: 'Apply', status: 0)
- end
- end
|