payment_settup/app/controllers/admin/payments_controller.rb

88 lines
2.8 KiB
Ruby

class Admin::PaymentsController < Admin::SitesController
protect_from_forgery with: :exception
layout "structure"
def pay
user = User.find(session[:user_id]) if session[:user_id] rescue nil
payment_pay = PaymentPay.all.select{|v| check_exist(v,user)}
if payment_pay.blank?
payment_pay = PaymentPay.create({amount: 1,user: user})
else
payment_pay = payment_pay[0]
end
@html = Admin::PaymentSetupHelper.render_pay_html(payment_pay)
end
def payment
bank_list = Admin::PaymentSetupHelper.get_bank_list
@payment_options = bank_list.map{|v| [t("payment_settup.#{v}"),v]}
end
def payment_log
@logs = PaymentLog.where(:is_hidden.ne => true).desc(:created_at)
end
def delete_log
if params[:ids]
PaymentLog.any_in(:_id => params[:ids]).each{|v| v.set_hidden}
end
render :nothing => true
end
def payment_detail
select_option = params[:select_option]
option_id = params[:option_id]
render partial: 'payment_detail', locals: {select_option: select_option,option_id: option_id,key_index: 0}
end
def form
data = params['data']
payment_type = params['payment_type']
if params['id'].nil?
if data != nil
PaymentSetupList.create(data:data,payment_type:payment_type)
end
else
payment_setup =
PaymentSetupList.where(id:params['id']).first.nil? ? PaymentSetupList.create() : PaymentSetupList.where(id:params['id']).first
payment_setup.update_attributes({data:data,payment_type:payment_type})
end
redirect_to action:'payment'
end
def test
payment_id = params['payment_id']
@payment_setup = PaymentSetupList.where(id:payment_id).first
if !@payment_setup.nil?
@helper1 = @payment_setup.helper_method
@select_option = @payment_setup.payment_type
end
@AuthResURL = 'https://demo45.dev.rulingcom.com/admin/sites/BoYa-38037656/payment/5e32440f841a8e14c9000014/recieve_result'
end
def get_checkValue
payment_id = params['payment_id']
@payment_setup = PaymentSetupList.where(id:payment_id).first
if !@payment_setup.nil?
@helper1 = @payment_setup.helper_method
@select_option = @payment_setup.payment_type
a = params['data'].merge({'setup'=>@payment_setup}).to_h
checkValue = @helper1.get_checkValue(a)
render text: checkValue
else
render texy: 'error'
end
end
def delete
payment_id = params['payment_id']
payment_setup = PaymentSetupList.where(id:payment_id).first
if !payment_setup.nil?
payment_setup.destroy
end
redirect_to action:'payment'
end
private
def check_exist(pay_data,user)
if user.nil? && pay_data.user.nil?
true
elsif !user.nil? && !pay_data.user.nil?
user.id==pay_data.user.id
else
false
end
end
end