create history for webservice

This commit is contained in:
2025-11-04 15:50:08 +03:30
parent 4ba3636ce8
commit 2761f4891a
12 changed files with 171 additions and 81 deletions

View File

@@ -86,23 +86,18 @@ class City extends Model
{
try {
$city = City::query()
->whereRaw("
ST_Contains(
geometry,
ST_GeomFromText('POINT($lng $lat)', 4326)
)
")
->firstOrFail();
}
catch (ModelNotFoundException $exception) {
->whereRaw("ST_Contains(
geometry,
ST_GeomFromText('POINT($lng $lat)', 4326))"
)
->firstOrFail(['id', 'name_fa', 'province_id']);
} catch (ModelNotFoundException $exception) {
$city = City::query()
->orderByRaw("
ST_Distance(
geometry,
ST_GeomFromText('POINT($lng $lat)', 4326)
) ASC
")
->first();
->orderByRaw("ST_Distance(
geometry,
ST_GeomFromText('POINT($lng $lat)', 4326)) ASC"
)
->first(['id', 'name_fa', 'province_id']);
}
return $city;

View File

@@ -23,4 +23,22 @@ class Harim extends Model
get: fn($value) => json_decode($value)
);
}
public function panjarehVahedHistories(): HasMany
{
return $this->hasMany(PanjarehVahedHistory::class);
}
protected function data(): Attribute
{
return Attribute::make(
set: function ($value) {
$iv = config('harim_web_services.Harim_Info.iv');
$keyString = config('harim_web_services.Harim_Info.keyString');
$key = hash('sha256',$keyString, true);
$decrypted = openssl_decrypt($value,'aes-256-cbc',$key,false, $iv);
return json_decode($decrypted);
},
);
}
}

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PanjarehVahedHistory extends Model
{
use HasFactory;
protected $guarded = [];
}