mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-04 04:03:25 +08:00
init project
This commit is contained in:
39
app/controllers/admins/customers_controller.rb
Normal file
39
app/controllers/admins/customers_controller.rb
Normal file
@@ -0,0 +1,39 @@
|
||||
class Admins::CustomersController < Admins::BaseController
|
||||
# skip_before_action :check_sign
|
||||
helper_method :current_partner
|
||||
|
||||
def index
|
||||
default_sort('created_at', 'desc')
|
||||
|
||||
customers = Admins::CustomerQuery.call(params.merge(partner_id: current_partner.id))
|
||||
@customers = paginate(customers.preload(:school))
|
||||
end
|
||||
|
||||
def create
|
||||
params[:school_ids] = Array.wrap(params[:school_ids])
|
||||
school_ids = School.where(id: params[:school_ids]).pluck(:id)
|
||||
|
||||
ActiveRecord::Base.transaction do
|
||||
school_ids.each do |school_id|
|
||||
next if current_partner.customers.exists?(school_id)
|
||||
|
||||
customer = Customer.create!(school_id: school_id)
|
||||
current_partner.partner_customers.create!(customer: customer)
|
||||
end
|
||||
end
|
||||
|
||||
render_ok
|
||||
end
|
||||
|
||||
def destroy
|
||||
current_partner.customers.find(params[:id]).destroy!
|
||||
|
||||
render_delete_success
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def current_partner
|
||||
@_current_partner ||= Partner.find(params[:partner_id])
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user