diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index ca9aa05..0a50dd4 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -181,4 +181,47 @@ class Article extends Controller{ return jsonSuccess($re); } + /** + * @title 获取top文章列表 + * @description 获取top文章列表 + * @author wangjinlei + * @url /api/Article/getTopArt + * @method POST + * + * @param name:journal_id type:int require:1 desc:期刊id + * @param name:type type:string require:1 desc:类型(cited/read/download) + * + * @return articleList:文章信息# + * + */ + public function getTopArt(){ + $data = $this->request->post(); + $list = []; + if($data['type']=='cited'){ + $list = $this->article_obj->field('j_article.*,j_journal_stage.*') + ->join('j_journal_stage','j_article.journal_stage_id = j_journal_stage.journal_stage_id','LEFT') + ->where('j_article.journal_id',$data['journal_id']) + ->where('j_article.state',0) + ->order('j_article.cited desc') + ->select(); + }else if($data['type']=='read'){ + $list = $this->article_obj->field('j_article.*,j_journal_stage.*') + ->join('j_journal_stage','j_article.journal_stage_id = j_journal_stage.journal_stage_id','LEFT') + ->where('j_article.journal_id',$data['journal_id']) + ->where('j_article.state',0) + ->order('j_article.abs_num desc') + ->select(); + }else{ + $list = $this->article_obj->field('j_article.*,j_journal_stage.*') + ->join('j_journal_stage','j_article.journal_stage_id = j_journal_stage.journal_stage_id','LEFT') + ->where('j_article.journal_id',$data['journal_id']) + ->where('j_article.state',0) + ->orderRaw('j_article.html_num+j_article.pdf_num desc') + ->select(); + } + + $re['articleList'] = $list; + return jsonSuccess($re); + } + } diff --git a/application/api/controller/Journal.php b/application/api/controller/Journal.php index 3419fe1..f4f2356 100644 --- a/application/api/controller/Journal.php +++ b/application/api/controller/Journal.php @@ -306,8 +306,8 @@ class Journal extends Controller { $data = $this->request->post(); $topic_info = $this->journal_topic_obj->where('journal_id',$data['journal_id'])->where('position','highlights')->where('state',0)->find(); if($topic_info){ - $list = $this->article_to_topic_obj->field('j_article.*') - ->join('j_article','j_article.article_id = j_article_to_topic.article_id','LEFT') + $list = $this->article_to_topic_obj->field('j_article.*,j_journal_stage.*') + ->join(array(['j_article','j_article.article_id = j_article_to_topic.article_id','LEFT'],['j_journal_stage','j_article.journal_stage_id = j_journal_stage.journal_stage_id','LEFT'])) ->where('j_article_to_topic.topic_id',$topic_info['journal_topic_id']) ->where('j_article_to_topic.state',0) ->select(); diff --git a/application/master/controller/Article.php b/application/master/controller/Article.php index 1818be8..e72e8a3 100644 --- a/application/master/controller/Article.php +++ b/application/master/controller/Article.php @@ -323,6 +323,7 @@ class Article extends Controller { * * @param name:article_id type:int require:1 desc:文章id * + * @return journal:期刊信息# * @return articleInfo:文章详情@ * @articleInfo icon:图片 * @articleInfo tradition_tag:封皮标签 @@ -347,31 +348,20 @@ class Article extends Controller { $frag = []; foreach ($list as $k => $v){ if($k>2){ - $frag[] = $v; + $frag[] = ['val'=>$v]; } } + $re['journal'] = $journal_info; $re['articleInfo'] = $article_info; $re['files'] = $frag; return jsonSuccess($re); // return json(['code'=>0,'msg'=>'success','data'=>$article_info]); } - /** - * @title 获取文章html文件列表 - * @description 获取文章html文件列表 - * @author wangjinleichang - * @url /master/Article/getHtmlFiles - * @method POST - * - * @param name:article_id type:int require:1 desc:文章id - * - * @return files:文件列表# - * - */ public function getHtmlFiles(){ $data = $this->request->post(); - $data['article_id'] = 1; +// $data['article_id'] = 1; $article_info = $this->article_obj->where('article_id',$data['article_id'])->find(); $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find(); $list = scandir(ROOT_PATH.'public/articleHTML/'.$journal_info['sx']);