add: Task model and database table

This commit is contained in:
HFO4 2018-09-05 16:43:52 +08:00
parent 61910ccf35
commit 159ee86b60
4 changed files with 78 additions and 4 deletions

View file

@ -0,0 +1,31 @@
<?php
namespace app\index\model;
use think\Model;
use think\Db;
use \app\index\model\Option;
class Task extends Model{
public $taskModel;
public $taskName;
public $taskType;
public $taskContent;
public function __construct($id=null){
if($id!==null){
}
}
public function saveTask(){
Db::name("task")->insert([
"task_name" => $this->taskName,
"attr" => $this->taskContent,
"type" => $this->taskType,
"status" => "todo",
]);
}
}
?>

View file

@ -8,6 +8,7 @@ use think\Db;
use Qiniu\Auth;
use \app\index\model\Option;
use \app\index\model\FileManage;
use \app\index\model\Task;
class UploadHandler extends Model{
@ -183,12 +184,36 @@ class UploadHandler extends Model{
);
@list($width, $height, $type, $attr) = getimagesize(rtrim($savePath, DS).DS.$Uploadinfo->getSaveName());
$picInfo = empty($width)?" ":$width.",".$height;
//处理Onedrive等非直传
if($this->policyContent['policy_type'] == "onedrive"){
$task = new Task();
$task->taskName = "Upload" . $info["name"] . "to Onedrive";
$task->taskType = "uploadSingleToOnedrive";
$task->taskContent = json_encode([
"path" => $info["path"],
"fname" => $info["name"],
"objname" => $generatePath."/".$Uploadinfo->getSaveName(),
"fsize" => $Uploadinfo->getSize(),
"picInfo" => $picInfo,
"policyId" => $this->policyContent['id']
]);
$task->saveTask();
echo json_encode(array("key" => $info["name"]));
return;
}
//向数据库中添加文件记录
$addAction = FileManage::addFile($jsonData,$this->policyContent,$this->userId,$picInfo);
if(!$addAction[0]){
$tmpFileName = $Uploadinfo->getSaveName();
unset($Uploadinfo);
$this->setError($addAction[1],true,$tmpFileName,$savePath);
}
//扣除容量
FileManage::storageCheckOut($this->userId,$jsonData["fsize"],$Uploadinfo->getInfo('size'));
echo json_encode(array("key" => $info["name"]));
}else{
@ -221,6 +246,9 @@ class UploadHandler extends Model{
case 'local':
return $this->getLocalToken();
break;
case 'onedrive':
return $this->getLocalToken();
break;
case 'oss':
return $this->getOssToken();
break;

View file

@ -323,6 +323,18 @@ ALTER TABLE `sd_download`
--
-- Indexes for dumped tables
--
--
-- 表的结构 `sd_task`
--
CREATE TABLE `sd_task` (
`id` int(11) NOT NULL,
`task_name` text NOT NULL,
`attr` text NOT NULL,
`type` text NOT NULL,
`status` text NOT NULL,
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Indexes for table `sd_callback`
@ -335,7 +347,8 @@ ALTER TABLE `sd_callback`
--
ALTER TABLE `sd_chunks`
ADD PRIMARY KEY (`id`);
ALTER TABLE `sd_task`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `sd_corn`
--
@ -419,6 +432,8 @@ ALTER TABLE `sd_files`
--
ALTER TABLE `sd_folders`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
ALTER TABLE `sd_task`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- 使用表AUTO_INCREMENT `sd_groups`
--

View file

@ -183,7 +183,7 @@ function QiniuJsSDK() {
"https://up.qbox.me"
]
};
}else if(uploadConfig.saveType == "local" || uploadConfig.saveType == "oss" ||uploadConfig.saveType == "upyun"||uploadConfig.saveType == "s3"|| uploadConfig.saveType == "remote"){
}else if(uploadConfig.saveType == "local" || uploadConfig.saveType == "oss" ||uploadConfig.saveType == "upyun"||uploadConfig.saveType == "s3"|| uploadConfig.saveType == "remote"||uploadConfig.saveType == "onedrive"){
qiniuUploadUrl = uploadConfig.upUrl;
var qiniuUploadUrls = [uploadConfig.upUrl,];
var qiniuUpHosts = {
@ -994,7 +994,7 @@ function QiniuJsSDK() {
'token': that.token,
'x:path': file.path
};
}else if(uploadConfig.saveType == "local"){
}else if(uploadConfig.saveType == "local"||uploadConfig.saveType == "onedrive"){
multipart_params_obj = {
'path': file.path
};
@ -1493,7 +1493,7 @@ function QiniuJsSDK() {
}
}
local_path = "";
if(uploadConfig.saveType == "local"){
if(uploadConfig.saveType == "local"||uploadConfig.saveType == "onedrive"){
pathTmp = file.path;
if(file.path == ""){
pathTmp = "ROOTDIR";