60 lines
1.5 KiB
PHP
60 lines
1.5 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)
|
|
{
|
|
$presale_value = ClientsPresale::where('client_guid', $guid)->first();
|
|
$presale = ClientsPresale::updateOrCreate(
|
|
['client_guid' => $guid],
|
|
['value' => $presale_value['value'] + $value]
|
|
);
|
|
|
|
return $presale['value'];
|
|
}
|
|
|
|
/**
|
|
* Presale log.
|
|
*/
|
|
public static function presaleLog($guid, $value, $time, $staff_id)
|
|
{
|
|
if ($value > 0) {
|
|
$action_name = 'Внесение аванса';
|
|
} else {
|
|
$action_name = 'Зачет аванса';
|
|
}
|
|
$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 = 2;
|
|
$action->who = $staff_id;
|
|
$action->save();
|
|
}
|
|
} |