Commit b2b86b96 authored by huanle's avatar huanle

0525_文件夹操作优化

parent cbb8faf7
...@@ -38,11 +38,11 @@ class Index extends Controller ...@@ -38,11 +38,11 @@ class Index extends Controller
} else { } else {
$res = $model->addFolder($name, $parentid); $res = $model->addFolder($name, $parentid);
if ($res) { if ($res['code']>=0) {
return json(code([$res], 0, '添加成功')); return json(code([$res], 0, '添加成功'));
} else { } else {
return json(code([$res], 10002, '添加失败')); return json(code([], 10002, '添加失败'));
} }
} }
} }
......
...@@ -16,19 +16,19 @@ class Doclist extends Model ...@@ -16,19 +16,19 @@ class Doclist extends Model
} }
//获取文件夹名称 //获取文件夹名称
public function articleList($folderid, $origin, $pagenum) public function articleList($folderid,$origin,$pagenum)
{ {
// var_dump($folderid);
if ($folderid) { if($folderid){
$where['folderid'] = array('=', $folderid); $where['folderid'] = array('=',$folderid);
$where['state'] = array('=', 0); $where['state'] = array('=',0);
$articlelist = Db::name('doclist')->field('docid,title,type,updatetime')->where($where)->order('createtime')->limit($origin, $pagenum)->select(); $articlelist = Db::name('doclist')->field('docid,title,type,updatetime')->where($where)->order('createtime')->limit($origin,$pagenum)->select();
// $sql = Db::name('doclist')->getLastSql(); // $sql = Db::name('doclist')->getLastSql();
// var_dump($sql); // var_dump($sql);
} else { }else{
$articlelist = []; $articlelist=[];
} }
return $articlelist; return $articlelist;
...@@ -37,14 +37,13 @@ class Doclist extends Model ...@@ -37,14 +37,13 @@ class Doclist extends Model
public function articleDetail($docid) public function articleDetail($docid)
{ {
if ($docid) { if($docid){
$where = ['docid' => $docid]; $where = ['docid' => $docid];
$articldetail = Db::name('doclist')->field('docid,title,type,updatetime,doc')->where($where)->find(); $articldetail = Db::name('doclist')->field('docid,title,type,updatetime,doc')->where($where)->find();
return $articldetail; return $articldetail;
} }
} }
public function addArticle($title, $folderid,$type,$doc)
public function addArticle($title, $folderid, $type, $doc)
{ {
$docid = randomkeys(18); $docid = randomkeys(18);
...@@ -55,8 +54,8 @@ class Doclist extends Model ...@@ -55,8 +54,8 @@ class Doclist extends Model
$rs = new Doclist(); $rs = new Doclist();
if ($docname == 0) { if ($docname == 0) {
$data = [ $data = [
'docid' => $docid, 'docid' =>$docid,
'title' => $title, 'title' => $title ,
'type' => $type, 'type' => $type,
'doc' => $doc, 'doc' => $doc,
'folderid' => $folderid, 'folderid' => $folderid,
...@@ -67,12 +66,12 @@ class Doclist extends Model ...@@ -67,12 +66,12 @@ class Doclist extends Model
// var_dump($sql); // var_dump($sql);
$return = $rs->docid; $return = $rs->docid;
return $return; return $return;
} }
} }
public function editArticle($title, $folderid,$doc,$docid)
public function editArticle($title, $folderid, $doc, $docid)
{ {
$rs = new Doclist(); $rs = new Doclist();
...@@ -80,14 +79,14 @@ class Doclist extends Model ...@@ -80,14 +79,14 @@ class Doclist extends Model
$where = []; $where = [];
$data = [ $data = [
'title' => $title, 'title' => $title,
'doc' => $doc, 'doc' =>$doc,
'updatetime' => date("Y-m-d H:i:s", time()), 'updatetime' => date("Y-m-d H:i:s", time()),
]; ];
if ($docid) { if ($docid) {
$where['docid'] = array('=', $docid); $where['docid'] = array('=',$docid);
$where['folderid'] = array('=', $folderid); $where['folderid'] = array('=',$folderid);
} }
$rs = $this->where($where)->update($data); $rs = $this->where($where)->update($data);
...@@ -98,6 +97,7 @@ class Doclist extends Model ...@@ -98,6 +97,7 @@ class Doclist extends Model
} }
// var_dump($rs);die(); // var_dump($rs);die();
// $sql = Db::name('folder')->getLastSql(); // $sql = Db::name('folder')->getLastSql();
// var_dump($sql); // var_dump($sql);
......
...@@ -26,7 +26,8 @@ class Folder extends Model ...@@ -26,7 +26,8 @@ class Folder extends Model
} }
$folderlist = Db::name('folder')->where($where)->order('')->select(); $folderlist = Db::name('folder')->where($where)->order('')->select();
// $sql = Db::name('folder')->getLastSql();
// var_dump($sql);
return $folderlist; return $folderlist;
} }
...@@ -35,53 +36,95 @@ class Folder extends Model ...@@ -35,53 +36,95 @@ class Folder extends Model
{ {
$folderid = randomkeys(18); $folderid = randomkeys(18);
// $folderid='bpy0p4617b7fun9lxqa1';
if (!$parentid) {
$parentid = '';
}
$foldername = Db::name('folder')->where(['folderid' => $folderid])->count(); $foldername = Db::name('folder')->where(['folderid' => $folderid])->count();
$rs = new Folder(); $rs = new Folder();
if ($foldername == 0) { if ($foldername == 0) {
// $data = [
// 'folderid' => $folderid,
// 'name' => $name,
// 'updatetime' => date("Y-m-d H:i:s", time()),
// 'parentid' => $parentid,
// 'state' => 0
// ];
// $childfolder_nums = Db::name('folder')->where(['parentid' => $parentid])->count();
//
// $rs->isUpdate(false)->save($data);
// if ($rs) {
// $items = $this->where(['folderid' => $parentid])->setField('items', $childfolder_nums + 1);
// }
// $return = $rs->folderid;
// return $return;
// 启动事务
Db::startTrans();
try {
$data = [ $data = [
'folderid' => $folderid, 'folderid' => $folderid,
'name' => $name, 'name' => $name,
'updatetime' => date("Y-m-d H:i:s", time()), 'updatetime' => date("Y-m-d H:i:s", time()),
'parentid' => $parentid, 'parentid' => $parentid,
'state' => 0 'state' => 0
]; ];
$rs->isUpdate(false)->save($data); $childfolder_nums = Db::name('folder')->where(['parentid' => $parentid])->count();
$res = $rs->isUpdate(false)->save($data);
if ($res !== false) {
if ($parentid) {
$items = $this->where(['folderid' => $parentid])->setField('items', $childfolder_nums + 1);
if ($items) {
$return = $rs->folderid; $return = $rs->folderid;
return $return; } else {
throw new \Exception('添加失败');
} }
} else {
$return = $rs->folderid;
}
}
// 提交事务
Db::commit();
} catch (\Exception $e) {
// 回滚事务
Db::rollback();
$return = ['code' => -200, 'msg' => $e->getMessage()];
}
} else {
$return = ['code' => -10002, 'msg' => '文件名重复'];
}
return $return;
} }
public function editFolder($name, $parentid,$folderid) public function editFolder($name, $parentid, $folderid)
{ {
$rs = new Folder(); $rs = new Folder();
$where =''; $where = '';
$data = [ $data = [
'name' => $name, 'name' => $name,
'updatetime' => date("Y-m-d H:i:s", time()),
]; ];
if($folderid){ if ($folderid) {
$where = ['folderid' => $folderid]; $where = ['folderid' => $folderid];
} }
if($parentid){ if ($parentid) {
$where = ['parentid' => $parentid]; $where = ['parentid' => $parentid];
} }
$oldname = Db::name('folder')->where($where)->value('name'); $oldname = Db::name('folder')->where($where)->value('name');
if($name!=$oldname){ if ($name != $oldname) {
$rs = $this->where($where)->update($data); $rs = $this->where($where)->update($data);
if($rs===false){ if ($rs === false) {
return false; return false;
} else{ } else {
return true; return true;
} }
}else{ } else {
return false; return false;
} }
...@@ -91,23 +134,23 @@ class Folder extends Model ...@@ -91,23 +134,23 @@ class Folder extends Model
// var_dump($sql); // var_dump($sql);
} }
public function delFolder($folderid) public function delFolder($folderid)
{ {
$rs = new Folder(); $rs = new Folder();
$where = ['folderid' => $folderid]; $where = ['folderid' => $folderid];
$data = [ $data = [
'state' =>-1, 'state' => -1,
]; ];
$rs = $this->where($where)->update($data); $rs = $this->where($where)->update($data);
if($rs===false){ if ($rs === false) {
return false; return false;
} else{ } else {
return true; return true;
} }
// var_dump($rs);die(); // var_dump($rs);die();
// $sql = Db::name('folder')->getLastSql(); // $sql = Db::name('folder')->getLastSql();
// var_dump($sql); // var_dump($sql);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment