customer create
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
class Api::VerificationsController < ActionController::API
|
||||
|
||||
def request_code
|
||||
|
||||
phone_number = params[:phone_number]
|
||||
|
||||
#TODO - user generate
|
||||
|
||||
if @user.pin.nil?
|
||||
@user.pin = rand(1000..9999)
|
||||
@user.contact_no = phone_number
|
||||
@user.pin_send_at = Time.now
|
||||
@user.save
|
||||
VerifyNumber.send_message(@user.contact_no, @user.pin)
|
||||
#sent message
|
||||
else
|
||||
@user.contact_no = phone_number
|
||||
@user.save
|
||||
VerifyNumber.send_message(@user.contact_no, @user.pin)
|
||||
#sent message
|
||||
end
|
||||
end
|
||||
|
||||
def verify_code
|
||||
end
|
||||
|
||||
end
|
||||
@@ -3,7 +3,10 @@ class Api::ShopsController < Api::ApiController
|
||||
skip_before_action :authenticate
|
||||
|
||||
def index
|
||||
@shops = Shop.select('id,logo,name,shop_code,address,phone_no,cloud_url,cloud_token').all
|
||||
@shops = Shop.select('id,logo,name,shop_code,address,phone_no').all
|
||||
end
|
||||
|
||||
def show
|
||||
@shop = Shop.find_by_shop_code(params[:id])
|
||||
end
|
||||
end
|
||||
26
app/controllers/api/verifications_controller.rb
Normal file
26
app/controllers/api/verifications_controller.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
class Api::VerificationsController < ActionController::API
|
||||
|
||||
def new
|
||||
phone_number = params[:phone_number]
|
||||
|
||||
#TODO - user generate
|
||||
@cus = Customer.new
|
||||
@cus.draft_customer(phone_number, rand(1000..9999))
|
||||
if @cus.verify_status == false
|
||||
# VerifyNumber.send_message(phone_number, @cus.pin_code)
|
||||
@result = true
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
phone_number = params[:phone_number]
|
||||
pin_code = params[:pin_code]
|
||||
@cus = Customer.find_by_contact_no(phone_number)
|
||||
if !@cus.nil? && @cus.pin_code.to_i == pin_code.to_i
|
||||
@cus.verify_status = true
|
||||
@cus.save
|
||||
@result = true
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -11,12 +11,30 @@ class Customer < ApplicationRecord
|
||||
|
||||
validates_presence_of :name, :contact_no, :email #,:card_no
|
||||
validates :contact_no, numericality: true #uniqueness: true,
|
||||
validates :email, uniqueness: true,format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create }
|
||||
# validates :email, uniqueness: true,format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create }
|
||||
# validates :card_no, uniqueness: true
|
||||
# validates :paypar_account_no, uniqueness: true
|
||||
|
||||
paginates_per 50
|
||||
|
||||
def draft_customer(phone, pin)
|
||||
cus = Customer.find_by_contact_no(phone)
|
||||
if cus.nil?
|
||||
self.name = "User " + pin.to_s
|
||||
self.contact_no = phone
|
||||
self.email = pin.to_s + "@gmail.com"
|
||||
self.pin_code = pin
|
||||
self.pin_sent_at = Time.now
|
||||
self.save
|
||||
return self
|
||||
else
|
||||
cus.pin_code = pin
|
||||
cus.pin_sent_at = Time.now
|
||||
cus.save
|
||||
return cus
|
||||
end
|
||||
end
|
||||
|
||||
def self.get_member_account(customer)
|
||||
membership = MembershipSetting.active.find_by_membership_type("paypar_url")
|
||||
memberaction = MembershipAction.active.find_by_membership_type("get_all_member_account")
|
||||
|
||||
24
app/models/verify_number.rb
Normal file
24
app/models/verify_number.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
class VerifyNumber < ApplicationRecord
|
||||
|
||||
def self.send_message(phone, pin)
|
||||
|
||||
url = "http://smspoh.com/api/http/send?key=5QfyN0OtGsFXnOqwtpVAGZCyPGP28nbX_Nm_oPsUw2ybq714T_951ycz3Ypl5URA&message=Doemal,+Pin+Code:+"+pin.to_s+"&recipients="+ phone.to_s
|
||||
|
||||
puts url
|
||||
begin
|
||||
@result = HTTParty.get(url.to_str)
|
||||
|
||||
rescue HTTParty::Error
|
||||
response = {status: false, message: "Can't open membership server "}
|
||||
rescue Net::OpenTimeout
|
||||
response = { status: false , message: "Can't open membership server "}
|
||||
rescue OpenURI::HTTPError
|
||||
response = { status: false, message: "Can't open membership server "}
|
||||
rescue SocketError
|
||||
response = { status: false, message: "Can't open membership server "}
|
||||
end
|
||||
puts @result
|
||||
puts "<><><><><><<><>><><"
|
||||
end
|
||||
|
||||
end
|
||||
12
app/views/api/shops/show.json.jbuilder
Normal file
12
app/views/api/shops/show.json.jbuilder
Normal file
@@ -0,0 +1,12 @@
|
||||
if @shop
|
||||
json.status true
|
||||
json.id @shop.id
|
||||
json.logo @shop.logo
|
||||
json.name @shop.name
|
||||
json.shop_code @shop.shop_code
|
||||
json.cloud_url @shop.cloud_url
|
||||
json.cloud_token @shop.cloud_token
|
||||
else
|
||||
json.status false
|
||||
json.message "Record Not Found"
|
||||
end
|
||||
7
app/views/api/verifications/new.json.jbuilder
Normal file
7
app/views/api/verifications/new.json.jbuilder
Normal file
@@ -0,0 +1,7 @@
|
||||
if @result && @cus
|
||||
json.status true
|
||||
json.sent_pin true
|
||||
else
|
||||
json.status false
|
||||
json.message "Customer Not Found"
|
||||
end
|
||||
7
app/views/api/verifications/update.json.jbuilder
Normal file
7
app/views/api/verifications/update.json.jbuilder
Normal file
@@ -0,0 +1,7 @@
|
||||
if @result && @cus
|
||||
json.status true
|
||||
json.message "Pin code verification succeeded"
|
||||
else
|
||||
json.status false
|
||||
json.message "Customer Not Found Or Pin Code Verification Failed"
|
||||
end
|
||||
@@ -43,8 +43,10 @@ scope "(:locale)", locale: /en|mm/ do
|
||||
#Session Login and Logout
|
||||
post 'authenticate' => "authenticate#create"
|
||||
delete 'authenticate' => "authenticate#destroy"
|
||||
|
||||
resources :shops, only: [:index, :show]
|
||||
resources :verifications, only: [:new, :update]
|
||||
|
||||
get 'get_shops' => "shops#index"
|
||||
namespace :restaurant do
|
||||
get 'zones' => "zones#index"
|
||||
resources :menu, only: [:index, :show]
|
||||
|
||||
7
db/migrate/20191118072133_customer_pincode.rb
Normal file
7
db/migrate/20191118072133_customer_pincode.rb
Normal file
@@ -0,0 +1,7 @@
|
||||
class CustomerPincode < ActiveRecord::Migration[5.1]
|
||||
def change
|
||||
add_column :customers, :pin_code, :integer
|
||||
add_column :customers, :verify_status, :boolean, :default => false
|
||||
add_column :customers, :pin_sent_at, :datetime
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user