![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Woo/Console/Commands/ |
<?php namespace Corals\Modules\Woo\Console\Commands; use Corals\Modules\Marketplace\Models\Store; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\AttributeMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\BaseMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\CategoryMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\CustomerMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\OrderMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\ProductMapper; use Corals\Modules\Woo\Integration\WooCommerce\Mappers\TagMapper; use Exception; use Illuminate\Console\Command; class WooCommand extends Command { protected $signature = 'woo:load {module} {store?}'; protected $description = 'Woo loader'; /** * @throws Exception */ public function handle() { $module = $this->argument('module'); switch (strtolower($module)) { case 'm': case 'marketplace': case 'mp': $storeId = $this->argument('store'); if (!$storeId || !Store::query()->where('id', $storeId)->exists()) { $this->error('Please set the store id in the command.'); return; } $this->loadWoo(['module' => 'Marketplace', 'store_id' => $storeId]); break; default: $this->error('Invalid Module: ' . $module); } } /** * @param array $args * @throws Exception */ protected function loadWoo($args = []) { $mappers = [ CustomerMapper::class, CategoryMapper::class, AttributeMapper::class, TagMapper::class, ProductMapper::class, OrderMapper::class, ]; foreach ($mappers as $mapper) { tap(new $mapper, function (BaseMapper $mapperObject) use ($args) { $mapperObject->logProcess("============================================="); $mapperObject->logProcess("Start with Mapper: " . class_basename($mapperObject)); $mapperObject->setMapperOptions($args); $mapperObject->fetchAll(); }); } } }