Files
admin-php-module/models/ClientsPresale.php
miroman-afk fb46c8e739 v.2.27
Fixed reports
2023-05-02 15:21:54 +03:00

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;
}
}