Enhance FetchGoldRates job to include update date and improve gold name formatting

- Added an 'Update_Date' field to store the current timestamp when fetching gold rates.
- Refactored gold name formatting to ensure consistency by converting names to uppercase and replacing specific substrings with standardized abbreviations.
- Improved maintainability by using a full name variable for gold types before abbreviation.

These changes enhance the data structure and clarity of the gold rates fetched by the application.
This commit is contained in:
Ümit Tunç
2025-01-17 23:28:17 +03:00
parent 6b5270f341
commit 7f09c56967
+7 -4
View File
@@ -18,6 +18,7 @@ class FetchGoldRates implements ShouldQueue
public function handle()
{
$data = [];
$data['Update_Date'] = now()->format('Y-m-d H:i:s');
// Altın kurları
$goldResponse = $this->fetchData('https://altin.doviz.com');
@@ -36,14 +37,15 @@ class FetchGoldRates implements ShouldQueue
$valueGold = NumberFormatter::commaToDot($element->nodeValue);
if (trim($attrGold) !== '') {
$nameGold = strtoupper(str_replace("-", "", $attrGold));
$fullNameGold = $nameGold;
$nameGold = str_replace("14", "OD", $nameGold);
$nameGold = str_replace("18", "OS", $nameGold);
$nameGold = str_replace("22", "YI", $nameGold);
$nameGold = str_replace("gram-altin", "GRA", $nameGold);
$nameGold = str_replace("gramaltin", "GRA", $nameGold);
$nameGold = str_replace("gramplatin", "GPL", $nameGold);
$nameGold = str_replace("gramhasaltin", "HAS", $nameGold);
$nameGold = str_replace("GRAMALTIN", "GRA", $nameGold);
$nameGold = str_replace("GRAMPLATIN", "GPL", $nameGold);
$nameGold = str_replace("GRAMHASALTIN", "HAS", $nameGold);
$nameGold = strtoupper(substr($nameGold, 0, 3));
$except = ['USD', 'EUR', 'GBP', 'XU1', 'BIT'];
@@ -57,6 +59,7 @@ class FetchGoldRates implements ShouldQueue
if ($typeGold == "c") $data[$nameGold]['Change'] = round((float)$valueGold,
2);
$data[$nameGold]['Type'] = "Gold";
$data[$nameGold]['Name'] = $fullNameGold;
}
}