'id', 'value' => '订单id'],['key'=> 'mall_id', 'value' => '商城ID'], ... ] * @param {array} $params 用于查询导出数据的查询条件,格式参照使用 listPage 方法时的写法 * @param {string} $handler_class 用于过滤/处理导出数据的类 * @param {string} $method 用于过滤/处理导出数据的类中的方法 * @return {*} */ public static function exportDownLoadCenter(int $mall_id, string $filename, int $type, object $query, array $headers, array $params = [], string $handler_class = '', string $method = '') { try { $name = $filename; $header_list = json_encode($headers, JSON_UNESCAPED_UNICODE); $query = serialize($query); $model = Download::setData(compact('mall_id', 'name', 'type', 'query', 'params', 'header_list', 'handler_class', 'method')); if ($model === false) throw new Exception(Download::getStaticError()); $data['download_id'] = $model->id; // 添加异步队列 TaskHelper::pushTaskQueue(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, $data, CsvTool::class, 'makeDownloadFile', function (AMQPMessage $message) { // 生产错误 Yii::error('异步生成下载任务失败'); }); return true; } catch (Exception $e) { Yii::error('添加任务到下载中心失败:' . $e->getMessage()); return false; } } /** * @name: * @msg: 重新生成数据文件 * @param {int} $download_id 下载中心任务 ID * @return {boolean} */ public static function regenerateDownloadFile(int $download_id) { try { // 添加异步队列 TaskHelper::pushTaskQueue(RabbitMqEnum::EXCHANGE_TASK, RabbitMqEnum::TASK_QUEUE, ['download_id' => $download_id], CsvTool::class, 'makeDownloadFile', function (AMQPMessage $message) { // 生产错误 Yii::error('异步生成下载任务失败'); }); return true; } catch (Exception $e) { Yii::error('生成下载任务失败:' . $e->getMessage()); return false; } } }