78 lines
3.1 KiB
PHP
78 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Commands;
|
|
|
|
use App\Component\Models\Client;
|
|
use App\Component\Models\ClientsBonus;
|
|
use App\Component\Models\ClientsPresale;
|
|
use App\Component\Models\ExchangeOrders;
|
|
use App\Component\Models\ShiftOnlineOrders;
|
|
use App\Console\Commands\HRCCommand;
|
|
use App\Console\Commands\HRCCommandInterface;
|
|
|
|
class GETClientInfo extends HRCCommand implements HRCCommandInterface
|
|
{
|
|
protected $signature = 'getclientinfo';
|
|
|
|
public function command($input, $output = null)
|
|
{
|
|
if (isset($input['id'])) {
|
|
$client = Client::where('id', $input['id'])->first();
|
|
$client_guid = $client['user_code'];
|
|
$phone = Client::getPhone($client_guid);
|
|
$address = Client::getAddress($client_guid);
|
|
$email = Client::getEmail($client_guid);
|
|
$presale = ClientsPresale::getPresale($client_guid);
|
|
$bonus = ClientsBonus::getBonus($client_guid);
|
|
$orders_count_exchange = ExchangeOrders::where('client_code', $client_guid)->where('is_returned', 0)->where('is_deleted', 0)->count();
|
|
$orders_count_current = ShiftOnlineOrders::where('client_code', $client_guid)->where('is_returned', 0)->where('is_deleted', 0)->count();
|
|
$orders_sum_exchange = ExchangeOrders::where('client_code', $client_guid)->where('is_returned', 0)->where('is_deleted', 0)->sum('full_sum');
|
|
$orders_sum_current = ShiftOnlineOrders::where('client_code', $client_guid)->where('is_returned', 0)->where('is_deleted', 0)->sum('full_sum');
|
|
$orders_count = $orders_count_exchange + $orders_count_current;
|
|
$orders_sum = $orders_sum_exchange + $orders_sum_current;
|
|
$barcode = Client::getBarcode($client_guid);
|
|
if ($client['is_special_price'] == 0) {
|
|
$special_price = false;
|
|
} else {
|
|
$special_price = true;
|
|
}
|
|
if ($client['is_employee'] == 0) {
|
|
$employee = false;
|
|
} else {
|
|
$employee = true;
|
|
}
|
|
if ($client['is_block'] == 0) {
|
|
$is_block = false;
|
|
} else {
|
|
$is_block = true;
|
|
}
|
|
$result = array(
|
|
'id' => $client['id'],
|
|
'name' => $client['name'],
|
|
'info' => array(
|
|
'phone' => $phone,
|
|
'email' => $email,
|
|
'address' => $address,
|
|
'order_count' => $orders_count,
|
|
'order_sum' => round($orders_sum, 2),
|
|
'presale' => $presale,
|
|
'bonus' => intval($bonus),
|
|
'barcode' => $barcode,
|
|
'special_price' => $special_price,
|
|
'employee' => $employee,
|
|
'is_block' => $is_block,
|
|
)
|
|
);
|
|
return [
|
|
'status' => 'success',
|
|
'client' => $result,
|
|
];
|
|
} else {
|
|
return [
|
|
'status' => 'error',
|
|
'more' => 'Проверьте введенные данные',
|
|
];
|
|
}
|
|
|
|
}
|
|
} |