api updated & migration updated

This commit is contained in:
Thekindbull 2025-11-09 19:26:23 +08:00
parent 67b31948bd
commit 774227ea68
19 changed files with 43 additions and 40 deletions

View File

@ -1,17 +0,0 @@
<?php
namespace Modules\Bitrix\Http\Controllers;
use Modules\Bitrix\Models\Bitrix;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class AdminBitrixController extends Controller
{
public function index()
{
return view('bitrix::index');
}
}

View File

@ -1,6 +1,6 @@
<?php
namespace App\Http\Controllers\Bitrix;
namespace Modules\Bitrix\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
@ -12,32 +12,40 @@
use App\Notifications\Deal\DealUnique;
use App\Notifications\Deal\DealNotUnique;
use Illuminate\Support\Facades\Log;
class ClientsApiController extends Controller
class BitrixApiController extends Controller
{
public const ACTION_CONFIRM = 'confirm';
public const ACTION_UPDATE_CONTRACT = 'contract';
public const ACTION_CONFIRM_DEAL = 'confirm_deal';
public const ACTION_UPDATE_CONTRACT = 'update_contract';
public const ACTION_CONFIRM_COMPANY = 'confirm_company';
public function index(Request $request)
{
if ($deal = Deal::where('confirm_token', $request->hash)->first())
{
switch ( $request->action )
{
case $this::ACTION_CONFIRM:
$this->confirm($deal, $request);
case $this::ACTION_CONFIRM_DEAL:
$this->confirmDeal($deal, $request);
break;
case $this::ACTION_UPDATE_CONTRACT:
$this->updateContract($deal, $request);
break;
case $this::ACTION_CONFIRM_COMPANY:
$this->confirmCompany($request);
break;
}
return true;
}
return false;
}
public function confirm(Deal $deal, Request $request)
public function confirmCompany(Request $request)
{
$confirmer = new ConfirmCompanyController;
$confirmer($request);
}
public function confirmDeal(Deal $deal, Request $request)
{
$agent = $deal->agent;
if ((bool) $request->is_unique)
@ -76,7 +84,7 @@ public function confirm(Deal $deal, Request $request)
public function updateContract(Deal $deal, Request $request)
{
$contract = new ContractApiController;
$contract = new ContractUpdateController;
$contract($deal, $request);
}
}

View File

@ -1,6 +1,6 @@
<?php
namespace Modules\Main\Http\Controllers\Company;
namespace Modules\Bitrix\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
@ -13,10 +13,17 @@
class ConfirmCompanyController extends Controller
{
use RegistersUsers;
/**
* Подтверждение статуса зарегистрированного агентства
* @param \Illuminate\Http\Request $request
* @param $request['token'] - токен - поле для идентификации компании
* @param $reqest['status'] - new|accepted|declined
* @return bool
*/
public function __invoke(Request $request)
{
$company = Company::find($request->company_id);
if ($company->secret == $request->secret)
if ($company->secret == $request->token)
{
$company->status = $request->status;
$company->save();

View File

@ -1,6 +1,6 @@
<?php
namespace App\Http\Controllers\Bitrix;
namespace Modules\Bitrix\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
@ -9,7 +9,7 @@
use Modules\Contracts\Models\Contract;
use Modules\Contracts\Models\ContractStatus;
use App\Notifications\ContractUpdated;
class ContractApiController
class ContractUpdateController
{
public function __invoke(Deal $deal, Request $request)
{
@ -32,10 +32,10 @@ public function __invoke(Deal $deal, Request $request)
]
);
$agent = $deal->agent;
if (!$deal->bitrixId)
/*if (!$deal->bitrixId)
{
$deal->bitrixId()->create(['bx_id' => $request->deal_id]);
}
}*/
$agent->user->notify(new ContractUpdated($deal->contract));
return true;

View File

@ -35,7 +35,7 @@ public function index($companyId = null)
$details = new Details($company);
$details = $details->get();
if ($company->type == CompanyType::SelfEmployer || $company->type == CompanyType::SoleProperty)
if ($company->type == CompanyType::SoleProperty)
{
return view('main::company.details.selfemp', [
'company' => $company,

View File

@ -2,7 +2,7 @@
namespace Modules\Main\Models\Company;
enum CompanyType: string
{
case Agency = "AGENCY";
case SelfEmployer = "SELFEMP";
case Agency = "AGENCY";
// case SelfEmployer = "SELFEMP";
case SoleProperty = "SOLEPROP";
}

View File

@ -29,12 +29,12 @@ public function create()
{
if (!$this->company->details)
{
if ($this->company->type == CompanyType::SelfEmployer)
/*if ($this->company->type == CompanyType::SelfEmployer)
{
$this->company->details = $this->emptyForSelfEmp();
$this->company->save();
}
;
;*/
if ($this->company->type == CompanyType::SoleProperty)
{
$this->company->details = $this->emptyForSelfEmp();

View File

@ -24,6 +24,7 @@
"SelfEmployer": "Самозанятый",
"SoleProperty": "Индивидуальный предприниматель",
"Agency name": "Название агентства",
"Soleprop name": "ФИО индивидуального предпринимателя (полностью)",
"Inn": "ИНН",
"Legal address": "Юридический адрес",
"Phone": "Номер телефона",

View File

@ -4,8 +4,9 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ConfirmClientFromBitrix;
use App\Http\Controllers\Company\ConfirmCompanyController;
use App\Http\Controllers\Bitrix\ClientsApiController;
use Modles\Main\Http\Controllers\Company\ConfirmCompanyController;
use Modules\Bitrix\Http\Controllers\Bitrix\BitrixApiController;
use Modules\Bitrix\Http\Controllers\Bitrix\CompanyConfirmController;
/*
|--------------------------------------------------------------------------
@ -23,7 +24,9 @@
return $request->user();
});
Route::post('/client', [ClientsApiController::class, 'index'])->name('api.client');
Route::post('/client', [BitrixApiController::class, 'index'])->name('api.client');
Route::post('/company/confirm', [BitrixApiController::class, 'index'])->name('api.company.confirm');
//Route::post('/client/confirm', [ConfirmClientFromBitrix::class, 'confirm'])->name('deal.confirm');
//Route::post('/client/{$deal}/contract', CoController::class)->name('company.status.update');

View File

@ -21,6 +21,7 @@
});
Auth::routes();
Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request)
{
$request->fulfill();