Commit 076c0a8c authored by Khumoyunmirzo Sodiqov's avatar Khumoyunmirzo Sodiqov

video

parent 96506261
......@@ -24,11 +24,11 @@ REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME=noreply@fazoshop.us
MAIL_PASSWORD=Apple94
MAIL_ENCRYPTION=ssl
PUSHER_APP_ID=
PUSHER_APP_KEY=
......@@ -37,3 +37,6 @@ PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
CLIENT_ID=AaQ97uzZztUZ4UB41nf8tjWwoh1U_pwJVE-pucczFZfBmBSJ-VjFrNslgJueyev8enLp-LxQPw8GJw6a
CLIENT_SECRET=EJHxBBjU1T7dBq0YS0V4fmPA9S4VY3HfcWePKN2UT7d1_HsILtiqfljWvaP03J75SHZoeAJNsQkzqII1
......@@ -2,9 +2,12 @@
namespace App\Http\Controllers\Auth;
use App\Models\ClientAuthCodes;
use App\User;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
......@@ -43,7 +46,7 @@ class RegisterController extends Controller
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
......@@ -59,12 +62,13 @@ class RegisterController extends Controller
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @param array $data
* @return \App\User
*/
protected function create(array $data)
{
return User::create([
$user = User::create([
'name' => $data['name'],
'surname' => $data['surname'],
'email' => $data['email'],
......@@ -72,5 +76,25 @@ class RegisterController extends Controller
'uni_code' => $this->generateUniqNumber(),
'client_type' => 'WEB',
]);
$authCode = ClientAuthCodes::create([
'client_id' => $user->id,
'code' => $this->generateUniqNumber(4),
'life_time' => Carbon::now()->addMinute(10)
]);
// $success['client_id'] = $customer->id; //$customer->createToken('erpTuronApp')->accessToken;
// $success['pass_code'] = $authCode->code;
// $success['name'] = $customer->first_name .' '.$customer->second_name;
$to_name = $user->name . ' ' . $user->surname;
$to_email = $user->email;
$data = array('code' => $authCode->code);
Mail::send('emails', $data, function ($message) use ($to_name, $to_email) {
$message->to($to_email, $to_name)
->subject('Fazo Cargo | Checking customer email');
$message->from('noreply@fazoshop.us', 'Verification code');
});
return $user;
}
}
......@@ -7,12 +7,16 @@ use App\Models\Address;
use App\Models\Client;
use App\Models\Orders;
use App\Models\OrderService;
use App\Models\Payment;
use App\Models\Product;
use App\Models\Service;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use PayPalCheckoutSdk\Orders\OrdersGetRequest;
use Sample\GetOrder;
use Sample\PayPalClient;
class OrderController extends Controller
{
......@@ -68,6 +72,7 @@ class OrderController extends Controller
'payment_is_to_office',
'client_type',
'delivery_info',
'payment_info',
'status_id',
'label_url',
'comment',
......@@ -109,9 +114,11 @@ class OrderController extends Controller
'payment_is_to_office',
'client_type',
'delivery_info',
'payment_info',
'status_id',
'label_url',
'comment',
DB::raw('(SELECT name FROM payment_statuses WHERE id=(select payment_statuses_id from payment where order_id=orders.id)) as payment_statuses'),
DB::raw('(SELECT title FROM flights WHERE id=orders.flight_id) as flights'),
DB::raw('(SELECT name FROM users WHERE id=orders.operator_id) as operator'),
DB::raw('(SELECT concat(name, \' \', surname) FROM clients WHERE id=orders.client_id) as client'),
......@@ -125,33 +132,15 @@ class OrderController extends Controller
])->get();
}
$statuses = DB::select('SELECT s.id, s.sort, s.title, s.color_class, (SELECT count(*) FROM orders where status_id=s.id and client_id='.$id.') as count FROM status s');
$statuses = DB::select('SELECT s.id, s.sort, s.title, s.color_class, (SELECT count(*) FROM orders where status_id=s.id and client_id=' . $id . ') as count FROM status s');
$count = DB::select('SELECT COUNT(*) as count FROM orders where client_id='.$id);
$count = DB::select('SELECT COUNT(*) as count FROM orders where client_id=' . $id);
// dd($orders);
return view('pages.parcels.allpackages', ['orders' => $orders, 'count' => $count[0]->count, 'status_id' => $status_id, 'statuses' => $statuses]);
}
// function create(){
// return view('pages.parcels.order_create');
// }
//
// private function countPackages() : array
// {
// $itemsCounter = [
// 'allPackages' => Package::where('user_id', Auth::id())->count(),
// 'onPending' => Package::where('status', Package::STATUS_PENDING)->where('user_id', Auth::id())->count(),
// 'inStore' => Package::where('status', Package::STATUS_INSTORE)->where('user_id', Auth::id())->count(),
// 'onPacking' => Package::where('status', Package::STATUS_ONPACKING)->where('user_id', Auth::id())->count(),
// 'sent' => Package::where('status', Package::STATUS_SENT)->where('user_id', Auth::id())->count(),
// 'delivered' => Package::where('status', Package::STATUS_DELIVERED)->where('user_id', Auth::id())->count(),
// ];
//
// return $itemsCounter;
// }
/**
* Show the application Client create page.
......@@ -184,13 +173,100 @@ class OrderController extends Controller
return view('pages.parcels.order_create', ['client' => $client, 'senderAddresses' => $senderAddresses, 'recAddresses' => $recAddresses, 'services' => $services]);
}
public function orderStore(Request $request)
public function payment($orderId)
{
$order = Orders::select([
'id',
'client_id',
'flight_id',
'barcode',
'operator_id',
'name',
'from_address',
'boxes',
'debet',
'credit',
'added',
'edited',
'total',
'amount',
'weight',
'summa',
'sign',
'track_number',
'is_site',
'site_name',
'site_track_number',
'is_payment_uzb',
'to_address_id',
'payment_is_to_office',
'client_type',
'delivery_info',
'payment_info',
'status_id',
'label_url',
'comment',
DB::raw('(SELECT title FROM flights WHERE id=orders.flight_id) as flights'),
DB::raw('(SELECT name FROM users WHERE id=orders.operator_id) as operator'),
DB::raw('(SELECT concat(name, \' \', surname) FROM clients WHERE id=orders.client_id) as client'),
DB::raw('(SELECT title FROM status WHERE id=orders.status_id) as statuses'),
DB::raw('(SELECT color_class FROM status WHERE id=orders.status_id) as status_class'),
DB::raw('(SELECT concat(firstname,\' \',secondname,\' \',fathername) FROM address_info WHERE id=orders.from_address) as sender'),
DB::raw('(SELECT concat(firstname,\' \',secondname,\' \',fathername) FROM address_info WHERE id=orders.to_address_id) as recipient'),
DB::raw('(SELECT concat(passport,\' | \',passport_by,\', \',passport_issue) FROM address_info WHERE id=orders.to_address_id) as recipient_passport'),
DB::raw('(SELECT concat(country,\', \',city,\', \',street,\' \',house,\' \',apartment,\', \',zip) FROM address_info WHERE id=orders.to_address_id) as recipient_address'),
])->where([
['id', '=', $orderId]
])->get();
// dd($request);
$user = Auth::user();
// dd($order);
// $data = $request->json()->get('data');
$payment = Payment::select([
'id',
'transaction_number',
'order_id',
'summa',
'payment_statuses_id',
'added_date',
'payed_date',
'description',
])->where('order_id', '=', $orderId)->get();
return view('pages.parcels.payment', ['order' => $order[0], 'payment' => $payment[0]]);
}
public function paymentSuccess($orderId){
// dd($orderId);
$client = PayPalClient::client();
$response = $client->execute(new OrdersGetRequest($orderId));
/**
*Enable the following line to print complete response as JSON.
*/
//print json_encode($response->result);
print "Status Code: {$response->statusCode}\n";
print "Status: {$response->result->status}\n";
print "Order ID: {$response->result->id}\n";
print "Intent: {$response->result->intent}\n";
print "Links:\n";
foreach($response->result->links as $link)
{
print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
}
// 4. Save the transaction in your database. Implement logic to save transaction to your database for future reference.
print "Gross Amount: {$response->result->purchase_units[0]->amount->currency_code} {$response->result->purchase_units[0]->amount->value}\n";
if (!count(debug_backtrace()))
{
GetOrder::getOrder($response->result->id);
}
}
public function orderStore(Request $request)
{
$user = Auth::user();
$orderServices = $request->get('services_id');
$orderProducts = $request->get('products');
......@@ -222,7 +298,7 @@ class OrderController extends Controller
'flight_id' => 0,
'added' => Carbon::now(),
'amount' => $amount,
'summa' => ($request->get('weight') * 8) + $serSum,
'summa' => ($request->get('weight') * 8.5) + $serSum,
'weight' => $request->get('weight'),
'total' => $price,
'track_number' => '98' . $this->generateUniqNumber(4),
......@@ -232,7 +308,7 @@ class OrderController extends Controller
'to_address_id' => $request->get('to_address_id'),
'payment_is_to_office' => 0,
'delivery_info' => $request->get('delivery_info'),
'payment_info' => $request->get('payment_info'),
'payment_info' => $request->get('payment_type_id'),
'comment' => $request->get('comment'),
'client_type' => 'WEB',
'status_id' => 19,
......@@ -260,6 +336,24 @@ class OrderController extends Controller
}
}
$payStatusId = 0;
if ($request->get('payment_type_id') == 1) {
$payStatusId = 1;
} elseif ($request->get('payment_type_id') == 2) {
$payStatusId = 5;
} elseif ($request->get('payment_type_id') == 3) {
$payStatusId = 6;
}
Payment::create([
'transaction_number' => $this->generateUniqNumber(12),
'order_id' => $order->id,
'summa' => $order->summa,
'payment_statuses_id' => $payStatusId,
'added_date' => Carbon::now()
]);
return redirect(route('package'));
}
......
......@@ -2,7 +2,6 @@
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
......
<?php
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Payment extends Authenticatable
{
use Notifiable;
protected $table = 'payment';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'transaction_number', 'order_id', 'summa', 'payment_statuses_id', 'added_date', 'payed_date', 'description',
];
public $timestamps = false;
}
<?php
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class PaymentStatus extends Authenticatable
{
use Notifiable;
protected $table = 'payment_statuses';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'payment_type_id', 'name', 'color'
];
public $timestamps = false;
}
<?php
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class PaymentType extends Authenticatable
{
use Notifiable;
protected $table = 'payment_type';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'icon', 'img_url'
];
public $timestamps = false;
}
......@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "31b801600acd96ae69916e04307a1296",
"content-hash": "1be6ae29dee65273d0a3a713f7c8fa81",
"packages": [
{
"name": "barryvdh/laravel-dompdf",
......@@ -62,6 +62,45 @@
],
"time": "2019-08-23T14:30:33+00:00"
},
{
"name": "braintree/braintreehttp",
"version": "0.3.0",
"source": {
"type": "git",
"url": "https://github.com/braintree/braintreehttp_php.git",
"reference": "204e36494d9e4b31033328df96af54b17f68b698"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/braintree/braintreehttp_php/zipball/204e36494d9e4b31033328df96af54b17f68b698",
"reference": "204e36494d9e4b31033328df96af54b17f68b698",
"shasum": ""
},
"require": {
"ext-curl": "*"
},
"require-dev": {
"phpunit/phpunit": "^5.7",
"wiremock-php/wiremock-php": "1.43.2"
},
"type": "library",
"autoload": {
"psr-4": {
"BraintreeHttp\\": "lib/BraintreeHttp"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Braintree",
"email": "code@getbraintree.com"
}
],
"time": "2018-04-17T20:53:31+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
"version": "0.1",
......@@ -1691,6 +1730,104 @@
],
"time": "2018-07-02T15:55:56+00:00"
},
{
"name": "paypal/paypal-checkout-sdk",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/paypal/Checkout-PHP-SDK.git",
"reference": "b321066fdce122cd63368b559d54674bdf2f12a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paypal/Checkout-PHP-SDK/zipball/b321066fdce122cd63368b559d54674bdf2f12a8",
"reference": "b321066fdce122cd63368b559d54674bdf2f12a8",
"shasum": ""
},
"require": {
"braintree/braintreehttp": "0.3.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7"
},
"type": "library",
"autoload": {
"psr-4": {
"PayPalCheckoutSdk\\": "lib/PayPalCheckoutSdk",
"Sample\\": "samples/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PayPal",
"homepage": "https://github.com/paypal/Checkout-PHP-SDK/contributors"
}
],
"description": "PayPal's PHP SDK for Checkout REST APIs",
"homepage": "http://github.com/paypal/Checkout-PHP-SDK/",
"keywords": [
"checkout",
"orders",
"payments",
"paypal",
"rest",
"sdk"
],
"time": "2019-02-04T06:59:08+00:00"
},
{
"name": "paypal/rest-api-sdk-php",
"version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/paypal/PayPal-PHP-SDK.git",
"reference": "72e2f2466975bf128a31e02b15110180f059fc04"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paypal/PayPal-PHP-SDK/zipball/72e2f2466975bf128a31e02b15110180f059fc04",
"reference": "72e2f2466975bf128a31e02b15110180f059fc04",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"php": ">=5.3.0",
"psr/log": "^1.0.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
},
"type": "library",
"autoload": {
"psr-0": {
"PayPal": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "PayPal",
"homepage": "https://github.com/paypal/rest-api-sdk-php/contributors"
}
],
"description": "PayPal's PHP SDK for REST APIs",
"homepage": "http://paypal.github.io/PayPal-PHP-SDK/",
"keywords": [
"payments",
"paypal",
"rest",
"sdk"
],
"time": "2019-01-04T20:04:25+00:00"
},
{
"name": "phenx/php-font-lib",
"version": "0.5.1",
......
Your code <strong>{{ $code }}</strong>
......@@ -68,6 +68,8 @@
<th>Вес</th>
<th>Стоимость доставки</th>
<th>FedEx</th>
<th>Способ оплаты</th>
<th>Статус платежа</th>
</tr>
</thead>
<tbody>
......@@ -82,10 +84,16 @@
<span class="badge badge-primary badge-pill">{{ $package->amount }}</span>
<a href="/declaration/{{ $package->id }}" target="_blank">Декларация</a>
</td>
<td class="text-center">${{ $package->price }}</td>
<td class="text-center">${{ $package->total }}</td>
<td class="text-center">{{ $package->weight }} кг</td>
<td class="text-center">$ {{ $package->summa }}</td>
<td class="text-center"><a href="{{ ($package->is_site == 1)?'/get-fedex-label/'.$package->id:'#' }}" target="_blank">{{ ($package->is_site == 1)?'Распечатать':'No label' }}</a></td>
<td class="text-center"><a
href="{{ ($package->is_site == 1)?'/get-fedex-label/'.$package->id:'#' }}" {{ ($package->is_site == 1)?'target="_blank"':'' }}>{{ ($package->is_site == 1)?'Распечатать':'No label' }}</a>
</td>
<td class="text-center"><a
href="{{ ($package->payment_info == 3)?'/packages/payment/'.$package->id:'#' }}">{{ ($package->payment_info == 3)?'Оплатить онлайн':'Pay offline' }}</a>
</td>
<td class="text-center">{{ $package->payment_statuses }}</td>
</tr>
@endforeach
</tbody>
......
......@@ -367,18 +367,18 @@
<div class="col-md-4">
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultUnchecked12"
name="payment_info" value="Наличньыми" checked>
name="payment_type_id" value="1" checked>
<label class="custom-control-label" for="defaultUnchecked12">Оплачу по телефону</label>
</div>
<!-- Default checked -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultChecked21"
name="payment_info" value="По телефону">
name="payment_type_id" value="2">
<label class="custom-control-label" for="defaultChecked21">Оплачу Наличными</label>
</div><!-- Default checked -->
<div class="custom-control custom-radio">
<input type="radio" class="custom-control-input" id="defaultChecked32"
name="payment_info" value="Online">
name="payment_type_id" value="3">
<label class="custom-control-label" for="defaultChecked32">Оплачу электронной формой оплаты (VISA, PayPal,
MasterCard, AmericanExpress)</label>
</div>
......
This diff is collapsed.
......@@ -68,6 +68,8 @@ Route::post('/feedback/add', 'FeedbackController@addGuest');
//
Route::get('/packages', 'OrderController@index')->name('package')->middleware('auth');
Route::get('/packages/create/{id}', 'OrderController@create')->name('package.create')->middleware('auth');
Route::get('/packages/payment/{orderId}', 'OrderController@payment')->name('package.payment')->middleware('auth');
Route::post('/packages/paypal-transaction-complete', 'OrderController@paymentSuccess')->name('package.payment.success')->middleware('auth');
Route::post('/packages/order-store', 'OrderController@orderStore')->name('package.store')->middleware('auth');
Route::get('/packages/get-address-ajax-s', 'OrderController@getAddressAjaxS')->name('package.getAddressAjaxS')->middleware('auth');
Route::get('/packages/get-address-ajax-r', 'OrderController@getAddressAjaxR')->name('package.getAddressAjaxR')->middleware('auth');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment