refactor the method return type

This commit is contained in:
2025-02-23 13:29:07 +03:30
parent eb68ed266a
commit 79439cf34b
3 changed files with 35 additions and 47 deletions

View File

@@ -79,11 +79,11 @@ class AccidentReceiptController extends Controller
'accident_type_fa' => DailyAccidentSettings::query()->where('type', 'accident_type')->where('name', $request->accident_type)->first()->value,
'way_id' => $nominatimService->get_way_id_from_nominatim($request->lat, $request->lng),
'report_base' => $request->report_base,
// 'police_file' => $request->report_base ? null : FileFacade::save($request->file('police_file'), 'receipts_files/'),
'police_file' => $request->report_base ? null : FileFacade::save($request->file('police_file'), 'receipts_files/'),
'police_serial' => $request->police_serial ?? null,
'police_file_date' => $request->police_file_date ?? null,
// 'damage_picture1' => $request->has('damage_picture1') ? FileFacade::save($request->file('damage_picture1'), 'receipts_files/') : null,
// 'damage_picture2' => $request->has('damage_picture2') ? FileFacade::save($request->file('damage_picture2'), 'receipts_files/') : null,
'damage_picture1' => FileFacade::save($request->file('damage_picture1'), 'receipts_files/'),
'damage_picture2' => FileFacade::save($request->file('damage_picture2'), 'receipts_files/'),
'status' => AccidentStates::BEDON_EGHDAM->value,
'status_fa' => AccidentStates::name(AccidentStates::BEDON_EGHDAM->value),
];
@@ -109,26 +109,7 @@ class AccidentReceiptController extends Controller
$accident = Accident::query()->create($accidentData);
$filesData = [
[
'name' => 'damage_picture1',
'path' => FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}/"),
],
[
'name' => 'damage_picture2',
'path' => FileFacade::save($request->file('damage_picture2'), "receipts_files/{$accident->id}/")
]
];
if (!$request->report_base) {
$filesData[] = [
'name' => 'police_file',
'path' => FileFacade::save($request->file('police_file'), "receipts_files/{$accident->id}/")
];
}
$accident->damages()->attach($damageData);
$accident->files()->createMany($filesData);
auth()->user()->addActivityComplete(1123);
});
@@ -152,8 +133,9 @@ class AccidentReceiptController extends Controller
FileFacade::delete($accident->police_file, true);
}
if (!$request->report_base && $request->filled('police_file')) {
if (!$request->report_base) {
FileFacade::delete($accident->police_file, true);
$police_file = FileFacade::save($request->file('police_file'), 'receipts_files/');
}
if ($request->has('damage_picture1')) {
@@ -184,11 +166,11 @@ class AccidentReceiptController extends Controller
'accident_type_fa' => DailyAccidentSettings::query()->where('type', 'accident_type')->where('name', $request->accident_type)->first()->value,
'way_id' => $nominatimService->get_way_id_from_nominatim($request->lat, $request->lng),
'report_base' => $request->report_base,
'police_file' => $request->report_base == 0 ? FileFacade::save($request->file('police_file'), 'receipts_files/') : null,
'police_file' => $police_file ?? null,
'police_serial' => $request->police_serial ?? null,
'police_file_date' => $request->police_file_date ?? null,
'damage_picture1' => $damage_picture1,
'damage_picture2' => $damage_picture2,
'damage_picture1' => $damage_picture1 ?? null,
'damage_picture2' => $damage_picture2 ?? null,
];
$sum = 0;
@@ -224,11 +206,14 @@ class AccidentReceiptController extends Controller
{
FileFacade::delete('storage/receipts_files/'.$accident->id);
$accident->damages()->detach();
DB::transaction(function () use ($accident) {
$accident->delete();
$accident->damages()->detach();
auth()->user()->addActivityComplete(1125);
$accident->delete();
auth()->user()->addActivityComplete(1125);
});
return $this->successResponse();
}
@@ -287,22 +272,22 @@ class AccidentReceiptController extends Controller
]);
auth()->user()->addActivityComplete(1132);
return $this->successResponse();
});
return $this->successResponse();
}
public function submitInvoice(Accident $accident, PaymentService $paymentService): JsonResponse
{
DB::transaction(function () use ($accident, $paymentService) {
$final_amount = $accident->sum - ($accident->deposit_insurance_amount + $accident->deposit_daghi_amount);
$final_amount = $accident->sum - ($accident->deposit_insurance_amount + $accident->deposit_daghi_amount);
if ($final_amount < 0) {
return $this->errorResponse('error');
}
if ($final_amount < 0) {
return $this->errorResponse('error');
}
$bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount);
$bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount);
DB::transaction(function () use ($bill_code, $final_amount, $accident) {
$accident->update([
'final_amount' => $final_amount,
@@ -311,14 +296,14 @@ class AccidentReceiptController extends Controller
'status_fa' => AccidentStates::name(AccidentStates::SODOR_FACTOR->value),
]);
$msg = "فاکتور با شناسه پرداخت \n" . explode("/", $accident->bill_code)[0]. "\n در سامانه سازمان راهداری ثبت شد. برای پرداخت از لینک زیر اقدام نمایید.\n\n".env("PAYMENT_LINK")."/#/pay/".explode("/", $accident->bill_code)[0]."/$final_amount";
Sms::sendSms($accident->driver_phone_number, $msg);
auth()->user()->addActivityComplete(1129);
return $this->successResponse();
});
$msg = "فاکتور با شناسه پرداخت \n" . explode("/", $accident->bill_code)[0]. "\n در سامانه سازمان راهداری ثبت شد. برای پرداخت از لینک زیر اقدام نمایید.\n\n".env("PAYMENT_LINK")."/#/pay/".explode("/", $accident->bill_code)[0]."/$final_amount";
Sms::sendSms($accident->driver_phone_number, $msg);
return $this->successResponse();
}
public function checkPaymentStatus(Accident $accident, PaymentService $paymentService): JsonResponse
@@ -344,9 +329,9 @@ class AccidentReceiptController extends Controller
}
auth()->user()->addActivityComplete(1130);
return $this->successResponse();
});
return $this->successResponse();
}
public function generatePoliceDocument(Request $request, Accident $accident): JsonResponse

View File

@@ -10,6 +10,9 @@ use Illuminate\Database\Eloquent\Relations\MorphMany;
class Accident extends Model
{
use ReceiptReportAble, HasFactory;
protected $guarded = [];
public static function boot()
{
parent::boot();

View File

@@ -1,6 +1,5 @@
<?php
use App\Http\Controllers\ReceiptReportController;
use App\Http\Controllers\V3\Auth\LogoutController;
use App\Http\Controllers\V3\CMMSMachinesController;
use App\Http\Controllers\V3\DamageManagementController;
@@ -9,6 +8,7 @@ use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
use App\Http\Controllers\V3\Dashboard\AccidentReceiptController;
use App\Http\Controllers\V3\Dashboard\Reports\AccidentReceiptReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadItemsReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadPatrolReportController;
use App\Http\Controllers\V3\Dashboard\RoadItemsProjectController;
@@ -258,7 +258,7 @@ Route::prefix('receipts')
Route::prefix('receipt_reports')
->name('receiptReports.')
->controller(ReceiptReportController::class)
->controller(AccidentReceiptReportController::class)
->group(function () {
Route::get('/province_report', 'provinceReport')->name('provinceReport');
Route::get('/city_report', 'cityReport')->name('cityReport');