Files
kaunter/app/Http/Controllers/CustomersController.php
T
LAPTOP-DGCU80CH\user1 a5e74cd774 otp
2020-12-07 14:54:02 +08:00

209 lines
6.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Config;
use App\Customer;
use App\Media;
use Illuminate\Http\Request;
use App\Services\CustomerService;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
class CustomersController extends Controller
{
private $customer_ic;
public function __construct()
{
$this->middleware('auth');
$this->customerService = New CustomerService();
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$search = false;
$api_url = config('api.url');
$auth_user = Auth::user();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$bank = Http::get(config('api.url') . '/api/bank')->json();
return view('customers.index',compact('search','cawangan_info','bank','api_url'));
}
public function info(Request $request){
$auth_user = Auth::user();
$api_url = config('api.url');
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$customers_info = Http::get(config('api.url') . '/api/customers/'. Session::get('noic'))->json();
if($customers_info){
$customer_info = $customers_info[0];
}else{
$customer_info = $customers_info;
}
$request->session()->forget('page_reload');
$request->session()->forget('norujukan');
return view('customers.info',compact('cawangan_info','api_url','customer_info'));
}
public function search(Request $request){
$noic = $request->noic;
Session::put('noic', $noic);
$api_url = config('api.url');
$auth_user = Auth::user();
$cawangan_info = Http::get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
$bank = Http::get(config('api.url') . '/api/bank')->json();
$customers_info = Http::get(config('api.url') . '/api/customers/'. $noic)->json();
if($customers_info){
$customer_info = $customers_info[0];
}else{
$customer_info = $customers_info;
}
$request->session()->forget('page_reload');
$request->session()->forget('norujukan');
$search = true;
if($customer_info){
Session::put('customer_info',$customer_info);
return redirect()->route('customer_info')->with( ['customer_info' => $customer_info,'cawangan_info'=>$cawangan_info,'api_url'=>$api_url]);
}else{
return view('customers.index',compact('customer_info','search','noic','cawangan_info','bank','api_url'));
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
// dd($request);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$customer = $this->customerService->createNewCustomer($request);
$customer_info = Customer::where('noic','=',$request['noic'])->first();
// dd($customer_info);
Session::put('customer_info',$customer_info);
return redirect()->route('customer_info')->with( ['customer_info' => $customer_info] );
}
/**
* Display the specified resource.
*
* @param \App\Customer $customer
* @return \Illuminate\Http\Response
*/
public function show(Customer $customer)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Customer $customer
* @return \Illuminate\Http\Response
*/
public function edit(Customer $customer)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Customer $customer
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Customer $customer)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Customer $customer
* @return \Illuminate\Http\Response
*/
public function destroy(Customer $customer)
{
//
}
public function getOTP(Request $request){
$expired = Carbon::now();
$expired = new Carbon();
$expired = $expired->addHours(24);
$nokp = $request->noic_otp;
//pembinaan token
function token($length) {
$characters = array(
"A","B","C","D","E","F","G","H","J","K","L","M",
"N","P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j","k","m",
"n","o","p","q","r","s","t","u","v","w","x","y","z",
"1","2","3","4","5","6","7","8","9");
if ($length < 0 || $length > count($characters)) return null;
shuffle($characters);
return implode("", array_slice($characters, 0, $length));
}
$random = token(6);
// dd($expired);
$otp_baru = Http::post(config('url.api') . '/api/otp/generateotp/' . $nokp,[
'otptoken' => $random,
'expired' => $expired,
]);
// dd($otp_baru);
return redirect()->route('customer_info');
// $otp_token = Http::get(config('api.url') . '/api/otp/' . $nokp) ->json();
// // dd($nokp);
// if (is_array($otp_token) || is_object($otp_token)){
// if($otp_token){
// return redirect()->route('customer_info');
// }else{
// $random = token(6);
// $otp_baru = Http::post(config('url.api'). '/api/otp/create/' . $nokp,[
// 'otptoken' => $random,
// 'expired' => $expired
// ]);
// return redirect()->route('customer_info');
// }
// }else{
// $random = token(6);
// $otp_baru = Http::post(config('url.api'). '/api/otp/create/' . $nokp,[
// 'otptoken' => $random,
// 'expired' => $expired
// ]);
// return redirect()->route('customer_info');
// }
}
}