<?php
namespace App\Http\Employee\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Mail;
use App\Http\Employee\Controllers\Controller;
use Illuminate\Support\Str;
use App\Models\State;
use App\Models\Customer;
class CustomerController extends Controller
{
public function __construct()
{
}
public static function place_order($lead_id)
{
$state = State::select('*')->get();
return view('employee.customer.place_order',
[
'title' => 'Sarvhitkari - Place Order',
'keyword'=> '',
'description'=> '',
'state' => $state,
'lead_id' =>$lead_id
]);
}
public function place_order_save(Request $request)
{
$data = $request->all();
$rules=[
'customer_name' => 'required',
'customer_email' => 'required|email|max:255',
'customer_phone' => 'required|numeric|digits:10',
'customer_address' => 'required',
'customer_state' => 'required',
'customer_city' => 'required',
'customer_pin_code' => 'required',
];
$messages = [
'required' => 'The :attribute field is required.',
];
$validator = Validator::make($data, $rules, $messages);
if ($validator->fails()) {
$errors=$validator->errors();
$response_arr = array(
"status" => false,
"message" => "<div id='message'><div class='alert alert-danger'>Oops! Something went wrong. Please try again later!</div></div>",
"errors" => $errors,
"data" => []
);
}else{
$lead_id = $request->lead_id;
$check = Customer::where('lead_ID',$lead_id)->get();
if ($check->count() > 0) {
$response_arr = array(
"status" => false,
"message" => "<div id='message'><div class='alert alert-warning'>Customer ID already exists in records.</div></div>",
);
}else{
$order_id = Str::random(7);
$data = [
'order_id' => $order_id,
'customer_name' => $request->customer_name,
'lead_ID' => $request->lead_id,
'customer_phone' => $request->customer_phone,
'customer_email' => $request->customer_email,
'customer_address' => $request->customer_address,
'customer_pincode' => $request->customer_pin_code,
'customer_country' => 'India',
'customer_state' => $request->customer_state,
'customer_city' => $request->customer_city,
'product_price' => $request->hide_price,
];
$customer = Customer::create($data);
$response_arr = array(
"status" => true,
"message" => "<div id='message'><div class='alert alert-success'>Customer order placed successfully.</div></div>",
"order_id" => $order_id
);
}
}
return response()->json($response_arr);
}
public static function final_order($order_id)
{
$customerOrder = Customer::where('order_id', $order_id)
->join('states', 'customers.customer_state', '=', 'states.state_id')
->select('customers.*', 'states.state_name')
->first();
return view('employee.customer.final_order',
[
'title' => 'Sarvhitkari - Order Details',
'keyword'=> '',
'description'=> '',
'customerOrder' => $customerOrder,
]);
}
}
|