|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Bside\Blog;
|
|
|
|
|
|
|
|
use App\Http\Controllers\Bside\BaseController;
|
|
|
|
use App\Http\Requests\Bside\Blog\BlogCategoryRequest;
|
|
|
|
use App\Models\Blog\Blog as BlogModel;
|
|
|
|
use App\Models\Blog\BlogCategory as BlogCategoryModel;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
class BlogCategoryController extends BaseController
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @name :博客分类列表
|
|
|
|
* @return json
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function lists(BlogCategoryModel $blogCategoryModel){
|
|
|
|
//搜索条件
|
|
|
|
$lists = $blogCategoryModel->lists($this->map,$this->page,$this->row);
|
|
|
|
$this->response('success',Code::SUCCESS,$lists);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name :获取当前分类详情
|
|
|
|
* @return void
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function info(Request $request,BlogCategoryModel $blogCategoryModel){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>['required']
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空'
|
|
|
|
]);
|
|
|
|
$info = $blogCategoryModel->read($this->param);
|
|
|
|
if($info === false){
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$info);
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* @name :添加分类
|
|
|
|
* @return json
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function add(BlogCategoryRequest $request,BlogCategoryModel $blogCategoryModel,BlogModel $blogModel){
|
|
|
|
$request->validated();
|
|
|
|
$this->param['project_id'] = $this->user['project_id'];
|
|
|
|
$this->param['Operator_id'] = $this->uid;
|
|
|
|
$this->param['create_id'] = $this->uid;
|
|
|
|
DB::beginTransaction();
|
|
|
|
$rs = $blogCategoryModel->add($this->param);
|
|
|
|
if($rs === false){
|
|
|
|
DB::rollBack();
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
//TODO::判断当前分内是否为一级分类
|
|
|
|
if(isset($this->param['pid']) && !empty($this->param['pid'])){
|
|
|
|
//查看当前上级分类下是否有其他分类
|
|
|
|
$cate_info = $blogCategoryModel->read(['pid'=>$this->param['pid'],'id'=>['!=',$blogCategoryModel->id]]);
|
|
|
|
if($cate_info === false){
|
|
|
|
//查看当前上一级分类下是否有商品
|
|
|
|
$news_info = $blogModel->read(['category_id'=>$this->param['pid'],'pid'=>0]);
|
|
|
|
if($news_info !== false){
|
|
|
|
//更新所有商品到当前分类
|
|
|
|
$rs = $blogModel->edit(['category_id'=>$blogCategoryModel->id],['category_id'=>$this->param['pid']]);
|
|
|
|
if($rs === false){
|
|
|
|
DB::rollBack();
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//TODO::写入日志
|
|
|
|
DB::commit();
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name :编辑分类
|
|
|
|
* @return void
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function edit(BlogCategoryRequest $request,BlogCategoryModel $blogCategoryModel){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>['required']
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空'
|
|
|
|
]);
|
|
|
|
$this->param['Operator_id'] = $this->uid;
|
|
|
|
$rs = $blogCategoryModel->edit($this->param,['id'=>$this->param['id']]);
|
|
|
|
if($rs === false){
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
//TODO::写入日志
|
|
|
|
$this->response('success',Code::SUCCESS);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name :编辑状态/与排序
|
|
|
|
* @return void
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function status(Request $request,BlogCategoryModel $blogCategoryModel){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>['required'],
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空',
|
|
|
|
]);
|
|
|
|
$this->param['Operator_id'] = $this->uid;
|
|
|
|
$rs = $blogCategoryModel->edit($this->param,['id'=>$this->param['id']]);
|
|
|
|
if($rs === false){
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @name :删除分类
|
|
|
|
* @return void
|
|
|
|
* @author :liyuhang
|
|
|
|
* @method
|
|
|
|
*/
|
|
|
|
public function del(Request $request,BlogCategoryModel $blogCategoryModel,BlogModel $blogModel){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>['required'],
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空',
|
|
|
|
]);
|
|
|
|
foreach ($this->param['id'] as $v){
|
|
|
|
//查询是否有子分类
|
|
|
|
$rs = $blogCategoryModel->read(['pid'=>$v],['id']);
|
|
|
|
if($rs !== false){
|
|
|
|
$this->response('当前分类拥有子分类不允许删除',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
//查看当前分内下是否有博客
|
|
|
|
$rs = $blogModel->read(['category_id'=>$v],['id']);
|
|
|
|
if($rs !== false){
|
|
|
|
$this->response('当前分类拥有博客',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$this->param['id'] = ['in',$this->param['id']];
|
|
|
|
$rs = BlogCategoryModel->del($this->param);
|
|
|
|
if($rs === false){
|
|
|
|
$this->response('error',Code::USER_ERROR);
|
|
|
|
}
|
|
|
|
//TODO::写入操作日志
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|