hash)->first()) { switch ( $request->action ) { case $this::ACTION_CONFIRM: $this->confirm($deal, $request); break; case $this::ACTION_UPDATE_CONTRACT: $this->updateContract($deal, $request); break; } return true; } return false; } public function confirm(Deal $deal, Request $request) { $agent = $deal->agent; if ((bool) $request->is_unique) { $deal->status = DealStatus::UNIQUE; $agent->user->notify(new UniqueContact($deal)); $deal->notify(new DealUnique()); } else { $deal->status = DealStatus::NOT_UNIQUE; $agent->user->notify(new NotUniqueContact($deal)); $deal->notify(new DealNotUnique()); } if (!$agent->bitrixId) { $agent->bitrixId()->create(['bx_id' => $request->agent_id]); } Log::build([ 'driver' => 'single', 'path' => storage_path('logs/bitrix.log'), ])->error( json_encode( [ 'is_unique' => $request->is_unique, 'deal' => $deal->id, 'status' => $deal->status ] ) ); $deal->save(); return $deal->id; } public function updateContract(Deal $deal, Request $request) { $contract = new ContractApiController; $contract($deal, $request); } }