89 lines
3.3 KiB
PHP
89 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Component\Models;
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class ClientsPresale extends Model
|
|
{
|
|
protected $table = 'clients_presales';
|
|
protected $guarded = [];
|
|
|
|
/**
|
|
* Presale info.
|
|
*/
|
|
public static function getPresale($guid)
|
|
{
|
|
$presale = ClientsPresale::where('client_guid', $guid)->first();
|
|
if (isset($presale)) {
|
|
$presale = $presale['value'];
|
|
} else {
|
|
$presale = 0;
|
|
}
|
|
return $presale;
|
|
}
|
|
|
|
/**
|
|
* Save presale value.
|
|
*/
|
|
public static function presaleReg($guid, $value, $type)
|
|
{
|
|
$presale_value = ClientsPresale::where('client_guid', $guid)->first();
|
|
if ($type == 'in') {
|
|
ClientsPresale::updateOrCreate(
|
|
['client_guid' => $guid],
|
|
['value' => $presale_value['value'] + $value]
|
|
);
|
|
} elseif ($type == 'out') {
|
|
ClientsPresale::updateOrCreate(
|
|
['client_guid' => $guid],
|
|
['value' => $presale_value['value'] - $value]
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Presale log.
|
|
*/
|
|
public static function presaleLog($guid, $value, $time, $staff_id, $type, $order_id)
|
|
{
|
|
$action_type = $type;
|
|
if ($action_type == 21) {
|
|
$action_name = 'Поступил предварительный платеж через скидку в размере ' . $value . ' BYN через заказ №' . $order_id;
|
|
}
|
|
if ($action_type == 11) {
|
|
$action_name = 'Поступил предварительный платеж наличными в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 13) {
|
|
$action_name = 'Поступил предварительный платеж безналичными в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 12) {
|
|
$action_name = 'Поступил предварительный платеж кредитной картой в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 14) {
|
|
$action_name = 'Возврат предварительного платежа наличными в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 16) {
|
|
$action_name = 'Возврат предварительного платежа безналичными в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 15) {
|
|
$action_name = 'Возврат предварительного платежа кредитной картой в размере ' . $value . ' BYN';
|
|
}
|
|
if ($action_type == 2) {
|
|
$action_name = 'Зачтен предварительный платеж в размере ' . $value . ' BYN через заказ №' . $order_id;
|
|
}
|
|
|
|
|
|
$action = new ClientsActions();
|
|
$action->action = $action_name;
|
|
$action->created = Carbon::createFromTimestampUTC($time)->timezone('Europe/Minsk');
|
|
$action->user_id = $guid;
|
|
$action->action_value = abs($value);
|
|
$action->action_type = $action_type;
|
|
$action->order_id = $order_id;
|
|
$action->who = $staff_id;
|
|
$action->save();
|
|
return $action_name;
|
|
}
|
|
} |