143 lines
4.9 KiB
PHP
143 lines
4.9 KiB
PHP
<?php
|
|
|
|
namespace admin\controllers\base;
|
|
|
|
use admin\components\BaseAdminController;
|
|
use admin\models\forms\drug\ArticleForm;
|
|
use common\models\oldDb\Categories;
|
|
use common\models\oldDb\DoctorArticle;
|
|
use yii\db\Exception;
|
|
|
|
class ArticleController extends BaseAdminController
|
|
{
|
|
/**
|
|
* @doc-name 新增或编辑文章分类
|
|
* @doc-param int id 传id则修改 / optional
|
|
* @doc-param string name 分类
|
|
* @doc-param int pid 父级id
|
|
* @doc-param int level 级别
|
|
*/
|
|
public function actionSaveCategories()
|
|
{
|
|
|
|
$post=\Yii::$app->request->post();
|
|
$this->requestValidate($post,[
|
|
[['name','pid','level'],'required'],
|
|
]);
|
|
if (empty($post['id'])){
|
|
$Categories= Categories::find()->where(['name'=>$post['name'],'is_deleted'=>0])->one();
|
|
if (!$Categories){
|
|
$Categories= new Categories();
|
|
$Categories->name=$post['name'];
|
|
$Categories->pid=$post['pid'];
|
|
$Categories->level=$post['level'];
|
|
$Categories->save();
|
|
}
|
|
return ['已添加'];
|
|
}else{
|
|
$Categories= Categories::find()->where(['id'=>$post['id'],'is_deleted'=>0])->one();
|
|
if (!$Categories){
|
|
throw new Exception('分类不存在');
|
|
|
|
}
|
|
$Categories->name=$post['name']??$Categories->name;
|
|
$Categories->pid=$post['pid']??$Categories->pid;;
|
|
$Categories->level=$post['level']??$Categories->level;;
|
|
if (! $Categories->saveOrFail()){
|
|
throw new Exception('编辑失败');
|
|
};
|
|
return ['编辑成功'];
|
|
}
|
|
|
|
}
|
|
/**
|
|
* @doc-name 删除分类
|
|
* @doc-param int id ID
|
|
*/
|
|
public function actionDelCategories()
|
|
{
|
|
$get=\Yii::$app->request->get();
|
|
$this->requestValidate($get,[
|
|
['id','required'],
|
|
]);
|
|
$Categories= Categories::find()->where(['id'=>$get['id']])->one();
|
|
if (!$Categories){
|
|
throw new Exception('分类不存在');
|
|
}
|
|
$Categories->is_deleted=1;
|
|
if (!$Categories->saveOrFail()){
|
|
throw new Exception('删除失败');
|
|
};
|
|
return ['删除成功'];
|
|
}
|
|
/**
|
|
* @doc-name 文章分类列表
|
|
* @doc-return mixed @List{id,name-string-分类,pid-int-父级id,level-int-级别} 文章分类列表
|
|
* @doc-return mixed @Pagination{total-int-总数量,totalPage-int-总页数,pageSize-int-每页条数} 分页数据
|
|
*/
|
|
public function actionCategoriesList()
|
|
{
|
|
$get=\Yii::$app->request->get();
|
|
$query= Categories::find()->where(['is_deleted'=>0])->orderBy(['id'=>SORT_DESC]);
|
|
|
|
$this->field=[
|
|
Categories::class=>[
|
|
'id','name','pid','level'
|
|
]
|
|
];
|
|
return $this->create($query,$get);
|
|
|
|
|
|
}
|
|
/**
|
|
* @doc-name 文章列表
|
|
* @doc-return mixed @List{id,su_id-int-医生id 0为后台发布,cover-string-封面,title-string-文章标题,intro-string-简介,content-string-内容,video_url-string-视频链接,read_num-int-阅读量,collection-string-货收藏),is_draft-int-是否是草稿0否1是} 文章列表
|
|
* @doc-return mixed @Pagination{total-int-总数量,totalPage-int-总页数,pageSize-int-每页条数} 分页数据
|
|
*/
|
|
public function actionArticleList()
|
|
{
|
|
$get=\Yii::$app->request->get();
|
|
$query= DoctorArticle::find()->where(['is_delete'=>0])->orderBy(['id'=>SORT_DESC]);
|
|
|
|
$this->field=[
|
|
DoctorArticle::class=>[
|
|
'id','cid','su_id','cover','title','intro','content','video_url','read_num','collection','is_draft','categories'=>'categories.name','type'
|
|
]
|
|
];
|
|
return $this->create($query,$get);
|
|
}
|
|
/**
|
|
* @doc-name 新增或修改文章
|
|
* @doc-param int id 传id则修改 / optional
|
|
* @doc-param int type 文章类型1图文类型2图片 / optional
|
|
* @doc-param int cid 分类id / optional
|
|
* @doc-param int su_id 发部人 / optional
|
|
* @doc-param string cover 封面
|
|
* @doc-param string title 标题
|
|
* @doc-param string intro 简介 / optional
|
|
* @doc-param string content 内容
|
|
* @doc-param string video_url 视频链接 / optional
|
|
* @doc-param int is_draft 是否是草稿0否1是 / optional
|
|
*/
|
|
public function actionSaveArticle()
|
|
{
|
|
$post = \Yii::$app->request->post();
|
|
$ArticleForm= new ArticleForm();
|
|
$ArticleForm->attributes = $post;
|
|
return $ArticleForm->save();
|
|
}
|
|
/**
|
|
* @doc-name 删除文章
|
|
* @doc-param int id id
|
|
*/
|
|
public function actionDelArticle()
|
|
{
|
|
$get = \Yii::$app->request->get();
|
|
$this->requestValidate($get,[
|
|
['id','required'],
|
|
]);
|
|
$ArticleForm= new ArticleForm();
|
|
$ArticleForm->attributes = $get;
|
|
return $ArticleForm->del();
|
|
}
|
|
} |