class Origami::DingaController < BaseOrigamiController def index @sale_id = params[:sale_id] payment_method = params[:payment_method] @cashier_type = params[:type] @membership_rebate_balance=0 sale_data = Sale.find_by_sale_id(@sale_id) @shop = Shop::ShopDetail # if @shop.is_rounding_adj # new_total = Sale.get_rounding_adjustment(sale_data.grand_total) # else # new_total = sale_data.grand_total # end # @rounding_adj = new_total-sale_data.grand_total @rounding_adj = sale_data.rounding_adjustment @dingacount = 0 others = 0 sale_data.sale_payments.each do |sale_payment| if sale_payment.payment_method == "dinga" @dingacount = @dingacount + sale_payment.payment_amount else others = others + sale_payment.payment_amount end end @redeem_prices = sale_data.grand_total - @dingacount -others if sale_data if sale_data.customer_id customer_data= Customer.find_by_customer_id(sale_data.customer_id) if customer_data @membership_id = customer_data.membership_id if !@membership_id.nil? membership_setting = MembershipSetting.find_by_membership_type("dinga_url") if membership_setting.gateway_url member_actions =MembershipAction.find_by_membership_type("get_account_balance") if member_actions.gateway_url @campaign_type_id = member_actions.additional_parameter["campaign_type_id"] url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s merchant_uid= member_actions.merchant_account_id auth_token = member_actions.auth_token.to_s membership_data = SalePayment.get_dinga_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id,merchant_uid,auth_token) if membership_data["status"]==true @membership_rebate_balance=membership_data["balance"] @out = true, @membership_rebate_balance,@membership_id end else @out =false,0 end else @out = false,0 end else @out = false, 0 end else @out = false, 0 end else @out = false, 0 end else @out = false, 0 end @out = false, 0 end def create sale_id = params[:sale_id] @cashier_type = params[:type] redeem_amount = params[:redeem_amount] membership_id = params[:membership_id] payment_method = "dinga" if(Sale.exists?(sale_id)) saleObj = Sale.find(sale_id) shop_details = Shop::ShopDetail # rounding adjustment if shop_details.is_rounding_adj new_total = Sale.get_rounding_adjustment(saleObj.grand_total) rounding_adj = new_total-saleObj.grand_total saleObj.update_attributes(grand_total: new_total,old_grand_total: saleObj.grand_total,rounding_adjustment:rounding_adj) end sale_payment = SalePayment.new status,msg =sale_payment.process_payment(saleObj, @user, redeem_amount,payment_method) if status == true @out = true, "Success!" else @out =false, "Please try again payment!" end else @out = false, "There has no sale record!" end end end