<?php
declare (strict_types=1);

namespace app\job\controller\goods;

use app\job\service\goods\GoodsStoreImport as GoodsStoreImportService;
use cores\BaseJob;
use cores\traits\QueueTrait;
use cores\exception\BaseException;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;

/**
 * 队列任务:商品批量导入
 * Class Import
 * @package app\job\controller
 */
class GoodsStoreImport extends BaseJob
{
    use QueueTrait;

    /**
     * 消费队列任务:商品导入
     * @param array $data 参数 [index队列顺序;totalCount商品总数量;list商品列表;storeId商城ID]
     * @return bool 返回结果
     * @throws BaseException
     * @throws DataNotFoundException
     * @throws DbException
     * @throws ModelNotFoundException
     */
    public function handle(array $data): bool
    {
        $time = date('H:i:s');
        echo "\n  ---- adminImport ----  {$time} ----   \n";

        $service = new GoodsStoreImportService;
        return $service->batch($data['list'], $data['recordId'], $data['storeId'], $data['merchantId']);
    }
}