From c989be271952edfbe88b88f79ed0f2c2a7ef234e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Sat, 9 Mar 2024 21:34:05 +0100 Subject: [PATCH] Retrieve the part mass from mouser API if available --- .../InfoProviderSystem/Providers/MouserProvider.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Services/InfoProviderSystem/Providers/MouserProvider.php b/src/Services/InfoProviderSystem/Providers/MouserProvider.php index ab95ec99..1e58285c 100644 --- a/src/Services/InfoProviderSystem/Providers/MouserProvider.php +++ b/src/Services/InfoProviderSystem/Providers/MouserProvider.php @@ -210,6 +210,16 @@ class MouserProvider implements InfoProviderInterface $result = []; foreach ($products as $product) { + + //Check if we have a mass field available + $mass = null; + if (isset($product['UnitWeightKg']['UnitWeight'])) { + $mass = (float) $product['UnitWeightKg']['UnitWeight']; + //The mass is given in kg, we want it in g + $mass *= 1000; + } + + $result[] = new PartDetailDTO( provider_key: $this->getProviderKey(), provider_id: $product['MouserPartNumber'], @@ -221,13 +231,14 @@ class MouserProvider implements InfoProviderInterface preview_image_url: $product['ImagePath'], manufacturing_status: $this->releaseStatusCodeToManufacturingStatus( $product['LifecycleStatus'] ?? null, - (int) ($product['AvailabilityInStock'] ?? 0) + (int) ($product['AvailabilityInStock'] ?? 0) ), provider_url: $product['ProductDetailUrl'], datasheets: $this->parseDataSheets($product['DataSheetUrl'] ?? null, $product['MouserPartNumber'] ?? null), vendor_infos: $this->pricingToDTOs($product['PriceBreaks'] ?? [], $product['MouserPartNumber'], $product['ProductDetailUrl']), + mass: $mass, ); } return $result;