// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\admin\controller\goods; use think\response\Json; use app\admin\controller\Controller; use app\store\model\goods\Import as ImportModel; use cores\exception\BaseException; /** * 商品批量导入管理 * Class Import * @package app\store\controller\goods */ class Import extends Controller { /** * 获取列表记录 * @return Json * @throws \think\db\exception\DbException */ public function list(): Json { $params = $this->request->param(); $params['store_id'] = 0; $model = new ImportModel; $platform = $this->getUserPlatform(); $params['channels'] = $platform ? array_column($platform->toArray(), "code") : []; $list = $model->getList($params); return $this->renderSuccess(compact('list')); } /** * 执行批量导入 * @return Json * @throws BaseException * @throws \PhpOffice\PhpSpreadsheet\Exception * @throws \PhpOffice\PhpSpreadsheet\Reader\Exception */ public function batch(): Json { $params = $this->postData(); $params['channel'] = $this->getUserAddPlatform(); // 新增记录 $model = new ImportModel; if ($model->adminBatch($params)) { return $this->renderSuccess('已添加到导入任务中,请在历史导入记录中查看结果'); } return $this->renderError($model->getError() ?: '操作失败'); } /** * 删除记录 * @param int $id * @return Json */ public function delete(int $id): Json { $model = ImportModel::detail($id); if (!$model->setDelete()) { return $this->renderError($model->getError() ?: '删除失败'); } return $this->renderSuccess('删除成功'); } }