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, '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), 'way_id' => $nominatimService->get_way_id_from_nominatim($request->lat, $request->lng),
'report_base' => $request->report_base, '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_serial' => $request->police_serial ?? null,
'police_file_date' => $request->police_file_date ?? 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_picture1' => FileFacade::save($request->file('damage_picture1'), 'receipts_files/'),
// 'damage_picture2' => $request->has('damage_picture2') ? FileFacade::save($request->file('damage_picture2'), 'receipts_files/') : null, 'damage_picture2' => FileFacade::save($request->file('damage_picture2'), 'receipts_files/'),
'status' => AccidentStates::BEDON_EGHDAM->value, 'status' => AccidentStates::BEDON_EGHDAM->value,
'status_fa' => AccidentStates::name(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); $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->damages()->attach($damageData);
$accident->files()->createMany($filesData);
auth()->user()->addActivityComplete(1123); auth()->user()->addActivityComplete(1123);
}); });
@@ -152,8 +133,9 @@ class AccidentReceiptController extends Controller
FileFacade::delete($accident->police_file, true); FileFacade::delete($accident->police_file, true);
} }
if (!$request->report_base && $request->filled('police_file')) { if (!$request->report_base) {
FileFacade::delete($accident->police_file, true); FileFacade::delete($accident->police_file, true);
$police_file = FileFacade::save($request->file('police_file'), 'receipts_files/');
} }
if ($request->has('damage_picture1')) { 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, '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), 'way_id' => $nominatimService->get_way_id_from_nominatim($request->lat, $request->lng),
'report_base' => $request->report_base, '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_serial' => $request->police_serial ?? null,
'police_file_date' => $request->police_file_date ?? null, 'police_file_date' => $request->police_file_date ?? null,
'damage_picture1' => $damage_picture1, 'damage_picture1' => $damage_picture1 ?? null,
'damage_picture2' => $damage_picture2, 'damage_picture2' => $damage_picture2 ?? null,
]; ];
$sum = 0; $sum = 0;
@@ -224,11 +206,14 @@ class AccidentReceiptController extends Controller
{ {
FileFacade::delete('storage/receipts_files/'.$accident->id); 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(); return $this->successResponse();
} }
@@ -287,22 +272,22 @@ class AccidentReceiptController extends Controller
]); ]);
auth()->user()->addActivityComplete(1132); auth()->user()->addActivityComplete(1132);
return $this->successResponse();
}); });
return $this->successResponse();
} }
public function submitInvoice(Accident $accident, PaymentService $paymentService): JsonResponse 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) { $bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount);
return $this->errorResponse('error');
}
$bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount); DB::transaction(function () use ($bill_code, $final_amount, $accident) {
$accident->update([ $accident->update([
'final_amount' => $final_amount, 'final_amount' => $final_amount,
@@ -311,14 +296,14 @@ class AccidentReceiptController extends Controller
'status_fa' => AccidentStates::name(AccidentStates::SODOR_FACTOR->value), '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); 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 public function checkPaymentStatus(Accident $accident, PaymentService $paymentService): JsonResponse
@@ -344,9 +329,9 @@ class AccidentReceiptController extends Controller
} }
auth()->user()->addActivityComplete(1130); auth()->user()->addActivityComplete(1130);
return $this->successResponse();
}); });
return $this->successResponse();
} }
public function generatePoliceDocument(Request $request, Accident $accident): JsonResponse public function generatePoliceDocument(Request $request, Accident $accident): JsonResponse

View File

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

View File

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