20201112
This commit is contained in:
@@ -17,6 +17,7 @@ class Article extends Controller {
|
|||||||
protected $article_author_obj = '';
|
protected $article_author_obj = '';
|
||||||
protected $article_organ_obj = '';
|
protected $article_organ_obj = '';
|
||||||
protected $author_to_organ_obj = '';
|
protected $author_to_organ_obj = '';
|
||||||
|
protected $article_to_topic_obj = '';
|
||||||
protected $journal_topic_obj = '';
|
protected $journal_topic_obj = '';
|
||||||
protected $journal_stage_obj = '';
|
protected $journal_stage_obj = '';
|
||||||
protected $country_obj = '';
|
protected $country_obj = '';
|
||||||
@@ -29,6 +30,7 @@ class Article extends Controller {
|
|||||||
$this->article_author_obj = Db::name('article_author');
|
$this->article_author_obj = Db::name('article_author');
|
||||||
$this->article_organ_obj = Db::name('article_organ');
|
$this->article_organ_obj = Db::name('article_organ');
|
||||||
$this->author_to_organ_obj = Db::name('article_author_to_organ');
|
$this->author_to_organ_obj = Db::name('article_author_to_organ');
|
||||||
|
$this->article_to_topic_obj = Db::name('article_to_topic');
|
||||||
$this->journal_topic_obj = Db::name('journal_topic');
|
$this->journal_topic_obj = Db::name('journal_topic');
|
||||||
$this->journal_stage_obj = Db::name('journal_stage');
|
$this->journal_stage_obj = Db::name('journal_stage');
|
||||||
$this->country_obj = Db::name('country');
|
$this->country_obj = Db::name('country');
|
||||||
@@ -48,7 +50,6 @@ class Article extends Controller {
|
|||||||
*/
|
*/
|
||||||
public function getJournalAndStage(){
|
public function getJournalAndStage(){
|
||||||
$data = $this->request->post();
|
$data = $this->request->post();
|
||||||
$data['editor_id'] = 6;
|
|
||||||
$journal_list = $this->journal_obj->where('editor_id',$data['editor_id'])->select();
|
$journal_list = $this->journal_obj->where('editor_id',$data['editor_id'])->select();
|
||||||
$frag = [];
|
$frag = [];
|
||||||
foreach ($journal_list as $v){
|
foreach ($journal_list as $v){
|
||||||
@@ -59,6 +60,8 @@ class Article extends Controller {
|
|||||||
}
|
}
|
||||||
if(count($cache_list)>0){
|
if(count($cache_list)>0){
|
||||||
$v['children'] = $cache_list;
|
$v['children'] = $cache_list;
|
||||||
|
}else{
|
||||||
|
$v['children'] = [];
|
||||||
}
|
}
|
||||||
$frag[] = $v;
|
$frag[] = $v;
|
||||||
}
|
}
|
||||||
@@ -335,6 +338,7 @@ class Article extends Controller {
|
|||||||
* @param name:doi type:string require:1 desc:doi
|
* @param name:doi type:string require:1 desc:doi
|
||||||
* @param name:abstract type:string require:1 desc:简介
|
* @param name:abstract type:string require:1 desc:简介
|
||||||
* @param name:keywords type:string require:1 desc:关键字
|
* @param name:keywords type:string require:1 desc:关键字
|
||||||
|
* @param name:sort type:int require:1 desc:权重
|
||||||
* @param name:fund type:string require:1 desc:fund
|
* @param name:fund type:string require:1 desc:fund
|
||||||
* @param name:pub_date type:string require:1 desc:发表日期
|
* @param name:pub_date type:string require:1 desc:发表日期
|
||||||
*
|
*
|
||||||
@@ -348,6 +352,7 @@ class Article extends Controller {
|
|||||||
$updata['abstract'] = $data['abstract'];
|
$updata['abstract'] = $data['abstract'];
|
||||||
$updata['keywords'] = $data['keywords'];
|
$updata['keywords'] = $data['keywords'];
|
||||||
$updata['fund'] = $data['fund'];
|
$updata['fund'] = $data['fund'];
|
||||||
|
$updata['sort'] = $data['sort'];
|
||||||
$updata['pub_date'] = $data['pub_date'];
|
$updata['pub_date'] = $data['pub_date'];
|
||||||
$res = $this->article_obj->where('article_id',$data['article_id'])->update($updata);
|
$res = $this->article_obj->where('article_id',$data['article_id'])->update($updata);
|
||||||
if($res){
|
if($res){
|
||||||
@@ -409,25 +414,111 @@ class Article extends Controller {
|
|||||||
// $data['seach'] = '';
|
// $data['seach'] = '';
|
||||||
// $data['pageIndex'] = 1;
|
// $data['pageIndex'] = 1;
|
||||||
// $data['pageSize'] = 80;
|
// $data['pageSize'] = 80;
|
||||||
$where['state'] = 0;
|
$where['j_article.state'] = 0;
|
||||||
if(intval($data['journal_id'])!==0){
|
if(intval($data['journal_id'])!==0){
|
||||||
$where['journal_id'] = $data['journal_id'];
|
$where['j_article.journal_id'] = $data['journal_id'];
|
||||||
}else{
|
}else{
|
||||||
$journals = $this->journal_obj->where('editor_id',$data['editor_id'])->column('journal_id');
|
$journals = $this->journal_obj->where('editor_id',$data['editor_id'])->column('journal_id');
|
||||||
$where['journal_id'] = ['in',$journals];
|
$where['j_article.journal_id'] = ['in',$journals];
|
||||||
}
|
}
|
||||||
if(intval($data['journal_stage_id'])!==0){
|
if(intval($data['journal_stage_id'])!==0){
|
||||||
$where['journal_stage_id'] = $data['journal_stage_id'];
|
$where['j_article.journal_stage_id'] = $data['journal_stage_id'];
|
||||||
}
|
}
|
||||||
if(isset($data['seach'])&&$data['seach']!=''){
|
if(isset($data['seach'])&&$data['seach']!=''){
|
||||||
$where['title'] = ['like','%'.$data['seach'].'%'];
|
$where['j_article.title'] = ['like','%'.$data['seach'].'%'];
|
||||||
}
|
}
|
||||||
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
|
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
|
||||||
$article_list = $this->article_obj->where($where)->order('sort desc')->limit($limit_start,$data['pageSize'])->select();
|
$article_list = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title')->join(array(['j_journal_stage','j_article.journal_stage_id = j_journal_stage.journal_stage_id','LEFT'],['j_journal','j_journal.journal_id=j_article.journal_id','LEFT']))->where($where)->order('sort desc')->limit($limit_start,$data['pageSize'])->select();
|
||||||
$count = $this->article_obj->where($where)->count();
|
$count = $this->article_obj->where($where)->count();
|
||||||
return json(['code'=>0,'msg'=>'success','data'=>['count'=>$count,'articleList'=>$article_list]]);
|
return json(['code'=>0,'msg'=>'success','data'=>['count'=>$count,'articleList'=>$article_list]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title 获取文章对应期刊话题
|
||||||
|
* @description 获取文章对应期刊话题
|
||||||
|
* @author wangjinlei
|
||||||
|
* @url /master/Article/getTopicByArticle
|
||||||
|
* @method POST
|
||||||
|
*
|
||||||
|
* @param name:article_id type:int require:1 desc:期刊id
|
||||||
|
*
|
||||||
|
* @return topics:array#
|
||||||
|
* @return nowtopic:array#
|
||||||
|
*/
|
||||||
|
public function getTopicByArticle(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$article_info = $this->article_obj->where('article_id',$data['article_id'])->find();
|
||||||
|
$topic_res = $this->journal_topic_obj->where('journal_id',$article_info['journal_id'])->where('state',0)->select();
|
||||||
|
$frag = [];
|
||||||
|
foreach ($topic_res as $v){
|
||||||
|
if($v['is_final']==1){
|
||||||
|
$frag[] = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($frag as $k => $val){
|
||||||
|
$frag[$k]['tname'] = $this->getTname($val, $topic_res);
|
||||||
|
}
|
||||||
|
//获取初始话题
|
||||||
|
$now_list = $this->article_to_topic_obj->where('article_id',$data['article_id'])->where('state',0)->select();
|
||||||
|
return json(['code'=>0,'msg'=>'success','data'=>['nowtopic'=>$now_list,'topics'=>$frag]]);
|
||||||
|
}
|
||||||
|
private function getTname($now,$arr){
|
||||||
|
if($now['parent_id']==0){
|
||||||
|
return $now['title'];
|
||||||
|
}else{
|
||||||
|
$frag = '>'.$now['title'];
|
||||||
|
foreach ($arr as $v){
|
||||||
|
if($v['journal_topic_id']==$now['parent_id']){
|
||||||
|
$frag = $this->getTname($v, $arr).$frag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $frag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title 增加文章话题
|
||||||
|
* @description 增加文章话题
|
||||||
|
* @author wangjinlei
|
||||||
|
* @url /master/Article/addTopicByArticle
|
||||||
|
* @method POST
|
||||||
|
*
|
||||||
|
* @param name:article_id type:int require:1 desc:期刊id
|
||||||
|
* @param name:topic_id type:int require:1 desc:话题id
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function addTopicByArticle(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$insert['article_id'] = $data['article_id'];
|
||||||
|
$insert['topic_id'] = $data['topic_id'];
|
||||||
|
$res = $this->article_to_topic_obj->insert($insert);
|
||||||
|
if($res){
|
||||||
|
return json(['code'=>0,'msg'=>'success']);
|
||||||
|
}else{
|
||||||
|
return json(['code'=>1,'msg'=>'system error']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title 删除文章话题
|
||||||
|
* @description 删除文章话题
|
||||||
|
* @author wangjinlei
|
||||||
|
* @url /master/Article/delTopic
|
||||||
|
* @method POST
|
||||||
|
*
|
||||||
|
* @param name:article_to_topic_id type:int require:1 desc:主键id
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function delTopic(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$res = $this->article_to_topic_obj->where('article_to_topic_id',$data['article_to_topic_id'])->update(['state'=>1]);
|
||||||
|
if($res){
|
||||||
|
return json(['code'=>0,'msg'=>'success']);
|
||||||
|
}else{
|
||||||
|
return json(['code'=>1,'msg'=>'system error']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @title 图片上传
|
* @title 图片上传
|
||||||
* @description 图片上传
|
* @description 图片上传
|
||||||
|
|||||||
Reference in New Issue
Block a user