From 96b7f4c97d374a460e5ae25280fba7e8f3980ed1 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Fri, 19 Oct 2018 16:30:08 +0800 Subject: [PATCH] fix: installation error in command line --- application/index/controller/Queue.php | 39 +++++++++++++++++ application/index/model/Aria2.php | 2 +- application/index/model/Task.php | 57 +++++++++++++++++++++++++ mysql.sql | 2 +- static/img/sign.png | Bin 6381 -> 0 bytes 5 files changed, 98 insertions(+), 2 deletions(-) delete mode 100644 static/img/sign.png diff --git a/application/index/controller/Queue.php b/application/index/controller/Queue.php index 84796827..14720991 100644 --- a/application/index/controller/Queue.php +++ b/application/index/controller/Queue.php @@ -5,6 +5,7 @@ use think\Controller; use think\Db; use think\Request; +use \app\index\model\Task; use \app\index\model\Option; class Queue extends Controller{ @@ -29,6 +30,8 @@ class Queue extends Controller{ public function getList(){ $size = input("get.num"); $tasks = Db::name("task")->where("status","todo")->limit($size)->select(); + $taskID = array_column($tasks,"id"); + Db::name("task")->where("id","in",$taskID)->update(["status"=>"processing"]); if(empty($tasks)){ return "none"; }else{ @@ -36,4 +39,40 @@ class Queue extends Controller{ } } + public function getPolicy(){ + $id = input("get.id"); + $policy = Db::name("policy")->where("id",$id)->find(); + if(empty(($policy))){ + abort(404); + }else{ + return json($policy); + } + } + + public function setSuccess(){ + $id = input("get.id"); + $task = new Task($id); + $task->taskModel = Db::name("task") + ->where("id",$id) + //->where("status","processing") + ->find(); + if(empty($task->taskModel)){ + return json(["error"=>true,"msg"=>"未找到任务"]); + } + return json($task->setSuccess()); + } + + public function setError(){ + $id = input("get.id"); + $task = new Task($id); + $task->taskModel = Db::name("task") + ->where("id",$id) + //->where("status","processing") + ->find(); + if(empty($task->taskModel)){ + return json(["error"=>true,"msg"=>"未找到任务"]); + } + return json($task->Error()); + } + } diff --git a/application/index/model/Aria2.php b/application/index/model/Aria2.php index 0f007ae6..ddc556cd 100644 --- a/application/index/model/Aria2.php +++ b/application/index/model/Aria2.php @@ -293,7 +293,7 @@ class Aria2 extends Model{ "originPath" => $quenInfo["files"][$sqlData["file_index"]]["path"], "objname" => $fileName, "savePath" => $generatePath, - "fsize" => $quenInfo["files"][$sqlData["file_index"]]["length"], + "fsize" => (int)$quenInfo["files"][$sqlData["file_index"]]["length"], "picInfo" => $picInfo, "policyId" => $this->policy["id"], ]); diff --git a/application/index/model/Task.php b/application/index/model/Task.php index 7c0ffe9e..0cd555aa 100644 --- a/application/index/model/Task.php +++ b/application/index/model/Task.php @@ -350,6 +350,63 @@ class Task extends Model{ FileManage::storageGiveBack($this->taskModel["uid"],$this->taskContent["fsize"]); } + public function setSuccess(){ + $this->taskContent = json_decode($this->taskModel["attr"],true); + $policyData = Db::name("policy")->where("id",$this->taskContent["policyId"])->find(); + $this->policyModel = $policyData; + $onedrive = new Client([ + 'stream_back_end' => \Krizalys\Onedrive\StreamBackEnd::TEMP, + 'client_id' => $policyData["bucketname"], + + // Restore the previous state while instantiating this client to proceed in + // obtaining an access token. + 'state' => json_decode($policyData["sk"]), + ]); + + $jsonData = array( + "path" => $this->taskContent["path"], + "fname" => $this->taskContent["fname"], + "objname" => $this->taskContent["savePath"]."/".$this->taskContent["objname"], + "fsize" => $this->taskContent["fsize"], + ); + + $addAction = FileManage::addFile($jsonData,$policyData,$this->taskModel["uid"],$this->taskContent["picInfo"]); + if(!$addAction[0]){ + $this->setError($addAction[1],true,"/me/drive/root:/".$this->taskContent["savePath"]."/".rawurlencode($this->taskContent["objname"]),$onedrive); + $this->cleanTmpFile(); + + Db::name("task")->where("id",$this->taskModel["id"])->update(["status"=>"error|".$this->errorMsg]); + + return ["error"=>true,"msg"=>$this->errorMsg]; + } + $this->cleanTmpFile(); + if($this->taskModel["type"] == "UploadLargeRemoteDownloadFileToOnedrive" || $this->taskModel["type"] == "uploadChunksToOnedrive"){ + $this->cleanTmpChunk(); + } + Db::name("task")->where("id",$this->taskModel["id"])->update(["status"=>"complete"]); + return ["error"=>false,"msg"=>null]; + } + + public function Error(){ + $this->taskContent = json_decode($this->taskModel["attr"],true); + $policyData = Db::name("policy")->where("id",$this->taskContent["policyId"])->find(); + $this->policyModel = $policyData; + $onedrive = new Client([ + 'stream_back_end' => \Krizalys\Onedrive\StreamBackEnd::TEMP, + 'client_id' => $policyData["bucketname"], + + // Restore the previous state while instantiating this client to proceed in + // obtaining an access token. + 'state' => json_decode($policyData["sk"]), + ]); + $this->setError("",false,"/me/drive/root:/".$this->taskContent["savePath"]."/".rawurlencode($this->taskContent["objname"]),$onedrive); + $this->cleanTmpFile(); + if($this->taskModel["type"] == "UploadLargeRemoteDownloadFileToOnedrive" || $this->taskModel["type"] == "uploadChunksToOnedrive"){ + $this->cleanTmpChunk(); + } + Db::name("task")->where("id",$this->taskModel["id"])->update(["status"=>"error"]); + } + } ?> \ No newline at end of file diff --git a/mysql.sql b/mysql.sql index 423c22ca..9cf08f97 100644 --- a/mysql.sql +++ b/mysql.sql @@ -201,7 +201,7 @@ INSERT INTO `sd_options` (`id`, `option_name`, `option_value`, `option_type`) VA (53, 'aria2_token', 'your token', 'aria2'), (54, 'aria2_rpcurl', 'http://127.0.0.1:6800/', 'aria2'), (55, 'aria2_options', '{\"max-tries\":5}', 'aria2'), -(NULL, 'task_queue_token', '', 'task'); +(56, 'task_queue_token', '', 'task'); -- -------------------------------------------------------- -- diff --git a/static/img/sign.png b/static/img/sign.png deleted file mode 100644 index 24fdc66a0129e59b77a3be1016c17f8ab984f543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6381 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