deal updated

This commit is contained in:
Thekindbull 2024-12-18 19:33:25 +08:00
parent f490c32bc0
commit c896647a35
10 changed files with 59 additions and 39 deletions

View File

@ -4,7 +4,7 @@
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Deal; use App\Models\Deal\Deal;
use App\Models\Agent\Agent; use App\Models\Agent\Agent;
use App\Models\City; use App\Models\City;

View File

@ -3,8 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Deal\Deal;
use App\Models\Deal; use App\Models\Deal\DealStatus;
class ConfirmClientFromBitrix extends Controller class ConfirmClientFromBitrix extends Controller
{ {
@ -13,11 +13,11 @@ public function confirm(Request $request)
$deal = Deal::where('confirm_token', $request->hash)->first(); $deal = Deal::where('confirm_token', $request->hash)->first();
if ($request->is_unique == true) if ($request->is_unique == true)
{ {
$deal->is_unique = true; $deal->status = DealStatus::UNIQUE;
} }
else else
{ {
$deal->is_unique = false; $deal->is_unique = DealStatus::NOT_UNIQUE;
} }
$deal->save(); $deal->save();
return $deal->id; return $deal->id;

View File

@ -8,7 +8,7 @@
use App\Models\Company\CompanyAdmin; use App\Models\Company\CompanyAdmin;
use App\Models\Agent\Agent; use App\Models\Agent\Agent;
use App\Models\Agent\AgentStatus; use App\Models\Agent\AgentStatus;
use App\Models\Deal; use App\Models\Deal\Deal;
class AgentsTable extends Component class AgentsTable extends Component
{ {

View File

@ -7,7 +7,7 @@
use Livewire\WithoutUrlPagination; use Livewire\WithoutUrlPagination;
use App\Models\Agent\Agent; use App\Models\Agent\Agent;
use App\Models\Deal; use App\Models\Deal\Deal;
class ClientsTable extends Component class ClientsTable extends Component
{ {

View File

@ -4,9 +4,9 @@
use Livewire\Component; use Livewire\Component;
use App\Models\User; use App\Models\User;
use App\Models\Deal; use App\Models\Deal\Deal;
use App\Models\Deal\DealStatus;
use App\Models\Complex; use App\Models\Complex;
use App\Models\Status;
use App\Models\Agent\Agent; use App\Models\Agent\Agent;
use App\Models\Bitrix\SendClient; use App\Models\Bitrix\SendClient;
@ -126,12 +126,13 @@ public function save()
'complex_id' => $this->client['complexId'] 'complex_id' => $this->client['complexId']
]; ];
$data['confirm_token'] = $this->client['confirmToken'] = hash('sha256', json_encode($data)); $data['confirm_token'] = $this->client['confirmToken'] = hash('sha256', json_encode($data));
if ($newDeal = Deal::create($data)) if ($newDeal = Deal::create($data))
{ {
if ($bitrixId = $this->sendToBitrix($newDeal->id)) if ($bitrixId = $this->sendToBitrix($newDeal->id))
{ {
$newDeal->bitrix_id = $bitrixId; $newDeal->bitrix_id = $bitrixId;
$newDeal->status = 'MODERATION'; $newDeal->status = DealStatus::MODERATION;
$newDeal->save(); $newDeal->save();
$this->result = $bitrixId; $this->result = $bitrixId;
return $this->status = self::SUCCESS; return $this->status = self::SUCCESS;

View File

@ -9,7 +9,7 @@
use App\Models\Company\Company; use App\Models\Company\Company;
use App\Models\User; use App\Models\User;
use App\Models\Deal; use App\Models\Deal\Deal;
class Agent extends Model class Agent extends Model
{ {

View File

@ -10,14 +10,17 @@ class Details
{ {
use HasFactory; use HasFactory;
public $details; public $details;
public function __construct(Company $company) { public function __construct(Company $company)
{
$company; $company;
if (!$company->details) { if (!$company->details)
{
if ($company->type == 'SELFEMP') if ($company->type == 'SELFEMP')
{ {
$company->details = $this->emptyForSelfEmp(); $company->details = $this->emptyForSelfEmp();
$company->save(); $company->save();
}; }
;
if ($company->type == 'AGENCY') if ($company->type == 'AGENCY')
{ {
$company->details = $this->emptyForAgency(); $company->details = $this->emptyForAgency();
@ -27,7 +30,8 @@ public function __construct(Company $company) {
$this->details = $company->details; $this->details = $company->details;
} }
private function emptyForSelfEmp() { private function emptyForSelfEmp()
{
$data = [ $data = [
'user' => [ 'user' => [
'firstName' => '', 'firstName' => '',
@ -51,7 +55,8 @@ private function emptyForSelfEmp() {
return $data; return $data;
} }
private function emptyForAgency() { private function emptyForAgency()
{
$data = [ $data = [
'name' => '', 'name' => '',
'fullName' => '', 'fullName' => '',

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Models; namespace App\Models\Deal;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -17,11 +17,13 @@ class Deal extends Model
'confirm_token' 'confirm_token'
]; ];
public function complex() { public function complex()
{
return $this->belongsTo(\App\Models\Complex::class); return $this->belongsTo(\App\Models\Complex::class);
} }
public function user() { public function user()
{
return $this->belongsTo(\App\Models\User::class, 'client_id'); return $this->belongsTo(\App\Models\User::class, 'client_id');
} }
} }

View File

@ -0,0 +1,11 @@
<?php
namespace App\Models\Deal;
final class DealStatus
{
public const NEW = 'NEW';
public const MODERATION = 'MODERATION';
public const UNIQUE = 'UNIQUE';
public const NOT_UNIQUE = 'NOT UNIQUE';
}

View File

@ -11,7 +11,8 @@
*/ */
public function up(): void public function up(): void
{ {
Schema::create('deals', function (Blueprint $table) { Schema::create('deals', function (Blueprint $table)
{
$table->id(); $table->id();
$table->foreignId('client_id')->references('id')->on('users'); $table->foreignId('client_id')->references('id')->on('users');
$table->foreignId('complex_id')->references('id')->on('complexes')->onDelete('cascade'); $table->foreignId('complex_id')->references('id')->on('complexes')->onDelete('cascade');