request; $filesource = $request->request('csmtable_filesource'); $indexurl = $request->request('csmtable_indexurl'); $dao = new \app\admin\model\csmtable\Xlstask(); // 限制下载 if (true) { $userinfo = $this->auth->getUserInfo(); $adminId = $userinfo["id"]; $row = $dao->where("admin_id", "=", $adminId) ->where("progress", "<", "100") ->where("createtime", ">", time() - 1800) ->where("iserror", "<>", "Y") ->find(); if ($row) { $this->error("当前有下载任务,请任务结束后再尝试下载。"); } } // 生成任务记录 $dao->where("admin_id", "=", $adminId) ->where("filesource", '=', $filesource) ->where("status", "=", "normal") ->update([ "status" => "hidden" ]); // 触发异步生成Excel任务 $route2 = CsmTableUtils::getInstanceAndMethod($indexurl); $classname = $route2[0]; $getparams = [ 'search' => $request->request('search'), 'filter' => $request->request('filter'), 'op' => $request->request('op'), 'sort' => $request->request('sort'), 'order' => $request->request('order'), 'offset' => $request->request('offset'), 'limit' => $request->request('limit'), 'csmtable_classname' => str_replace('\\', '/', $classname), 'csmtable_methodname' => $route2[1], 'csmtable_columns' => $request->request('csmtable_columns') ]; $param = [ 'admin_id' => $adminId, 'filesource' => $filesource, 'param' => json_encode($getparams), 'createtime' => time(), ]; $dao->create($param); $this->success(); // $id = $dao->getLastInsID(); // $ret = $this->_index($id); // if($ret===true){ // $this->success(); // }else{ // $this->error($ret); // } } }