Merge branch 'develop' into feature/CheckPaymentHarim
This commit is contained in:
@@ -11,7 +11,6 @@ use App\Http\Requests\V3\Dashboard\Harim\PanjareVahed\ReceiveNewRequest;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\City;
|
||||
use App\Models\Harim;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
@@ -21,43 +20,18 @@ class PanjareVahedController extends Controller
|
||||
|
||||
public function receiveNewRequest(ReceiveNewRequest $request): JsonResponse
|
||||
{
|
||||
$iv = config('harim_web_services.Harim_Info.iv');
|
||||
$keyString = config('harim_web_services.Harim_Info.key');
|
||||
|
||||
$key = hash('sha256', $keyString, true);
|
||||
|
||||
$decrypted = openssl_decrypt($request->data, 'aes-256-cbc', $key, false, $iv);
|
||||
|
||||
$decodedString = json_decode($decrypted);
|
||||
$decodedArray = json_decode($decodedString, true);
|
||||
|
||||
$wkt = 'POLYGON(('.implode(',', array_map(fn ($c) => "{$c[0]} {$c[1]}", $request->primary_area['coordinates'])).'))';
|
||||
$result = DB::selectOne('SELECT ST_AsText(ST_PointOnSurface(ST_GeomFromText(?, 4326))) AS point', [$wkt]);
|
||||
preg_match('/POINT\(([^ ]+) ([^ ]+)\)/', $result->point, $matches);
|
||||
|
||||
try {
|
||||
$city = City::query()
|
||||
->whereRaw("ST_Contains(
|
||||
geometry,
|
||||
ST_GeomFromText('POINT($matches[1] $matches[2])', 4326))"
|
||||
)
|
||||
->firstOrFail(['id', 'name_fa', 'province_id']);
|
||||
} catch (ModelNotFoundException $exception) {
|
||||
$city = City::query()
|
||||
->orderByRaw("ST_Distance(
|
||||
geometry,
|
||||
ST_GeomFromText('POINT($matches[1] $matches[2])', 4326)) ASC"
|
||||
)
|
||||
->first(['id', 'name_fa', 'province_id']);
|
||||
}
|
||||
$city = City::findCityWithLatLng(lat:$matches[2], lng: $matches[1]);
|
||||
|
||||
$harim = Harim::query()->firstOrCreate(
|
||||
$state = HarimStates::BARESI_EDARE_SHAHRESTAN->value;
|
||||
|
||||
$harim = Harim::query()->firstOrCreate(['panjare_vahed_id' => $request->request_id],
|
||||
[
|
||||
'panjare_vahed_id' => $request->request_id,
|
||||
],
|
||||
[
|
||||
'state_id' => HarimStates::BARESI_EDARE_SHAHRESTAN->value,
|
||||
'state_name' => HarimStates::BARESI_EDARE_SHAHRESTAN->label(),
|
||||
'state_id' => $state,
|
||||
'state_name' => HarimStates::name($state),
|
||||
'panjare_vahed_id' => $request->request_id,
|
||||
'national_id' => $request->national_id,
|
||||
'phone_number' => $request->phone_number,
|
||||
@@ -74,9 +48,14 @@ class PanjareVahedController extends Controller
|
||||
'response_options' => json_encode($request->response_options),
|
||||
'isic' => $request->isic,
|
||||
'primary_area' => json_encode($request->primary_area),
|
||||
'data' => $decodedString,
|
||||
'token' => $decodedArray['token'],
|
||||
]);
|
||||
'data' => $request->data,
|
||||
]
|
||||
);
|
||||
|
||||
$harim->panjarehVahedHistories()->create([
|
||||
'harim_id' => $harim->id,
|
||||
'data' => $request->data,
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'id' => $harim->id,
|
||||
@@ -91,16 +70,19 @@ class PanjareVahedController extends Controller
|
||||
{
|
||||
$harim = Harim::query()->firstWhere('panjare_vahed_id', '=', $request->request_id);
|
||||
|
||||
$harim->panjarehVahedHistories()->create([
|
||||
'harim_id' => $harim->id,
|
||||
'data' => $harim->data,
|
||||
]);
|
||||
|
||||
$harim->update([
|
||||
'state_id' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value,
|
||||
'state_name' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->label(),
|
||||
'access_road' => json_encode($request->access_road),
|
||||
'data' => $request->data['data'],
|
||||
'token' => $request->data['token'],
|
||||
'data' => $request->data,
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'request_id' => $request->request_id,
|
||||
'id' => $harim->id,
|
||||
'statusCode' => 200,
|
||||
'message' => 'successful',
|
||||
@@ -113,15 +95,18 @@ class PanjareVahedController extends Controller
|
||||
|
||||
$harim = Harim::query()->firstWhere('panjare_vahed_id', '=', $request->request_id);
|
||||
|
||||
$harim->panjarehVahedHistories()->create([
|
||||
'harim_id' => $harim->id,
|
||||
'data' => $harim->data,
|
||||
]);
|
||||
|
||||
$harim->update([
|
||||
'state_id' => $state,
|
||||
'state_name' => HarimStates::name($state),
|
||||
'data' => $request->data['data'],
|
||||
'token' => $request->data['token'],
|
||||
'data' => $request->data,
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'request_id' => $request->request_id,
|
||||
'id' => $harim->id,
|
||||
'statusCode' => 200,
|
||||
'message' => 'successful',
|
||||
@@ -133,17 +118,20 @@ class PanjareVahedController extends Controller
|
||||
|
||||
$harim = Harim::query()->firstWhere('panjare_vahed_id', '=', $request->request_id);
|
||||
|
||||
$harim->panjarehVahedHistories()->create([
|
||||
'harim_id' => $harim->id,
|
||||
'data' => $harim->data,
|
||||
]);
|
||||
|
||||
$harim->update([
|
||||
'state_id' => HarimStates::BARESI_ARSE_VA_AYAN_ERSAL_SHODE_TAVASOT_DAFTAR_HARIM->value,
|
||||
'state_name' => HarimStates::BARESI_ARSE_VA_AYAN_ERSAL_SHODE_TAVASOT_DAFTAR_HARIM->label(),
|
||||
'final_area' => json_encode($request->final_area),
|
||||
'final_plan' => json_encode($request->final_plan),
|
||||
'data' => $request->data['data'],
|
||||
'token' => $request->data['token'],
|
||||
'data' => $request->data,
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'request_id' => $request->request_id,
|
||||
'id' => $harim->id,
|
||||
'statusCode' => 200,
|
||||
'message' => 'successful',
|
||||
|
||||
Reference in New Issue
Block a user