Basic online search with bugs...
This commit is contained in:
@@ -10,50 +10,60 @@ use Illuminate\Support\Facades\Log;
|
||||
use App\Models\CountryCode;
|
||||
use App\Models\CurrencyRates;
|
||||
use Inertia\Inertia;
|
||||
use App\Http\Controllers\CountryCompareController;
|
||||
|
||||
class ProductsCompareController extends Controller
|
||||
{
|
||||
public function compare(Request $request)
|
||||
{
|
||||
$codes = $request->input("codes");
|
||||
$countries = $request->input("countries");
|
||||
$currency = $request->input("currency");
|
||||
|
||||
Log::info("{codes} {countries}", ["codes" => $codes, "countries" => $countries]);
|
||||
|
||||
$codes = collect($codes);
|
||||
$countries = collect($countries);
|
||||
|
||||
if ($countries != null && count($countries)) {
|
||||
$hCountry = CountryCode::countryHash();
|
||||
$countries = $countries->map(function ($country) use ($hCountry) {
|
||||
return $hCountry[$country];
|
||||
});
|
||||
} else {
|
||||
$countries = [];
|
||||
private $countryCompareController;
|
||||
public function __construct(CountryCompareController $countryCompareController)
|
||||
{
|
||||
$this->countryCompareController = $countryCompareController;
|
||||
}
|
||||
public function compare(Request $request)
|
||||
{
|
||||
$codes = $request->input("codes");
|
||||
$countries = $request->input("countries");
|
||||
$online = $request->input("online");
|
||||
|
||||
$cHash = CountryCode::code_countryHash();
|
||||
if (is_array($codes) == false)
|
||||
$aCodes = $codes;
|
||||
else
|
||||
$aCodes = $codes->map(function ($code) {
|
||||
return $code;
|
||||
});
|
||||
Log::info("{codes} {countries}", ["codes" => $codes, "countries" => $countries, "online" => $online]);
|
||||
|
||||
$products = IkeaProducts::whereIn("code", $aCodes);
|
||||
if (count($countries)) $products->whereIn("country",$countries);
|
||||
$products = $products->get();
|
||||
$codes = collect($codes);
|
||||
$countries = collect($countries);
|
||||
|
||||
if ($countries != null && count($countries)) {
|
||||
$hCountry = CountryCode::countryHash();
|
||||
$countries = $countries->map(function ($country) use ($hCountry) {
|
||||
return $hCountry[$country];
|
||||
});
|
||||
} else {
|
||||
$countries = [];
|
||||
}
|
||||
|
||||
$products = $products->map(function ($product) use ( $cHash) {
|
||||
$product["countryName"] = $cHash[$product["country"]];
|
||||
return $product;
|
||||
});
|
||||
Log::info("{products}", ["products" => $products]);
|
||||
return [
|
||||
'products' => $products,
|
||||
'countryHash' => $cHash,
|
||||
];
|
||||
}
|
||||
$cHash = CountryCode::code_countryHash();
|
||||
if (is_array($codes) == false)
|
||||
$aCodes = $codes;
|
||||
else
|
||||
$aCodes = $codes->map(function ($code) {
|
||||
return $code;
|
||||
});
|
||||
|
||||
if ($online == true) {
|
||||
Log::info("ONLINE {codes} {countries}", ["codes" => $codes, "countries" => $countries, "online" => $online]);
|
||||
$products = $this->countryCompareController->compare($countries, $cHash, $aCodes);
|
||||
} else {
|
||||
$products = IkeaProducts::whereIn("code", $aCodes);
|
||||
if (count($countries)) $products->whereIn("country", $countries);
|
||||
$products = $products->get();
|
||||
}
|
||||
|
||||
$products = $products->map(function ($product) use ($cHash) {
|
||||
$product["countryName"] = $cHash[$product["country"]];
|
||||
return $product;
|
||||
});
|
||||
Log::info("{products}", ["products" => $products]);
|
||||
return [
|
||||
'products' => $products,
|
||||
'countryHash' => $cHash,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user