services->rabbitMq->push( RabbitMqEnum::EXCHANGE_ORDER, RabbitMqEnum::TASK_QUEUE, [ 'mall_id' => $this->mall_id, 'id' => $id, ], CategorysImportListener::class, 'async_handle' ); return true; } /** * 任务执行导入 * * @param integer $id * @return boolean */ public function taskImport($id = 0) { $list = $this->api->getCategorys(['id' => $id]); if (empty($list)) { return true; } $list = array_map(function ($v) use ($id) { $v['category_id'] = $v['id']; $v['pid'] = $id; $v['created_at'] = $v['updated_at'] = time(); unset($v['id']); return $v; }, $list); foreach ($list as $v) { $this->import($v['category_id']); } Category::batchInsert($list); } /** * 分类列表 * * @return array */ public function list($pid = 0) { return $this->api->getCategorys(['id' => $pid]); $list = Category::find()->where([ // 'mall_id' => $this->mall_id, 'pid' => $pid, ])->asArray()->all(); return $list; } }