create new migration and bug fix another code for safty and privacy

This commit is contained in:
2025-08-30 14:18:52 +03:30
parent 125baa7511
commit 7ea75812fc

View File

@@ -23,11 +23,9 @@ use App\Services\PaymentService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\ValidationException;
use Maatwebsite\Excel\Facades\Excel;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Throwable;
use function Laravel\Prompts\error;
class AccidentReceiptController extends Controller
{
@@ -88,7 +86,7 @@ class AccidentReceiptController extends Controller
'status_fa' => AccidentStates::name(AccidentStates::BEDON_EGHDAM->value),
];
$driver_share_amount = 0;
$sum = 0;
$damageData = [];
foreach ($request->damage_items as $key => $item) {
@@ -98,14 +96,14 @@ class AccidentReceiptController extends Controller
'unit' => $damage->unit,
'amount' => $item['amount'],
];
$driver_share_amount += $item['amount'];
$sum += $item['amount'];
}
$ojrate_nasb = $driver_share_amount/100*20;
$driver_share_amount += $ojrate_nasb;
$ojrate_nasb = $sum/100*20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['driver_share_amount'] = $driver_share_amount;
$accidentData['driver_share_amount'] = $sum;
$accident = Accident::query()->create($accidentData);
$accident->damage_picture1 = FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}");
@@ -176,7 +174,7 @@ class AccidentReceiptController extends Controller
$accidentData['damage_picture2'] = FileFacade::save($request->file('damage_picture2'), "receipts_files/{$accident->id}/");
}
$driver_share_amount = 0;
$sum = 0;
$damageData = [];
foreach ($request->damage_items as $key => $item) {
@@ -186,14 +184,14 @@ class AccidentReceiptController extends Controller
'unit' => $damage->unit,
'amount' => $item['amount'],
];
$driver_share_amount += $item['amount'];
$sum += $item['amount'];
}
$ojrate_nasb = $driver_share_amount/100*20;
$driver_share_amount += $ojrate_nasb;
$ojrate_nasb = $sum/100*20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['driver_share_amount'] = $driver_share_amount;
$accidentData['driver_share_amount'] = $sum;
$accident->update($accidentData);
@@ -248,28 +246,28 @@ class AccidentReceiptController extends Controller
public function confirmPaymentInfo(ConfirmPaymentInfoRequest $request, Accident $accident): JsonResponse
{
DB::transaction(function () use ($request, $accident) {
$final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
if ($final_amount > 0) {
$status = AccidentStates::SABT_FISH->value;
$status_fa = AccidentStates::name($status);
}
elseif ($final_amount == 0) {
$status = AccidentStates::PARDAKHT_FACTOR->value;
$status_fa = AccidentStates::name($status);
}
else{
throw ValidationException::withMessages([
'amounts' => 'مبالغ داغی و بیمه از مبلغ سهم راننده بیشتر است.',
]);
}
// $final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
//
// if ($final_amount > 0) {
// $status = AccidentStates::SABT_FISH->value;
// $status_fa = AccidentStates::name($status);
// }
// elseif ($final_amount == 0) {
// $status = AccidentStates::PARDAKHT_FACTOR->value;
// $status_fa = AccidentStates::name($status);
// }
// else{
// throw ValidationException::withMessages([
// 'amounts' => 'مبالغ داغی و بیمه از مبلغ سهم راننده بیشتر است.',
// ]);
// }
$accident->update([
'deposit_insurance_image' => $request->has('deposit_insurance_image') ? FileFacade::save($request->deposit_insurance_image, "receipts_files/{$accident->id}/deposit_insurance") : null,
'deposit_insurance_amount' => $request->deposit_insurance_amount ?? 0,
'deposit_daghi_image' => $request->has('deposit_daghi_image') ? FileFacade::save($request->deposit_daghi_image, "receipts_files/{$accident->id}/deposit_daghi") : null,
'deposit_daghi_amount' => $request->deposit_daghi_amount ?? 0,
'status' => $status,
'status_fa' => $status_fa,
'status' => AccidentStates::SABT_FISH->value,
'status_fa' => AccidentStates::name(AccidentStates::SABT_FISH->value),
]);
auth()->user()->addActivityComplete(1132);
@@ -283,7 +281,7 @@ class AccidentReceiptController extends Controller
*/
public function submitInvoice(Accident $accident, PaymentService $paymentService): JsonResponse
{
$final_amount = $accident->driver_share_amount - ($accident->deposit_insurance_amount + $accident->deposit_daghi_amount);
$final_amount = $accident->sum - ($accident->deposit_insurance_amount + $accident->deposit_daghi_amount);
throw_if($final_amount < 0, new ProhibitedAction('مبالغ داغی و بیمه از مبلغ کل بیشتر می باشد.'));