This commit is contained in:
wangjinlei
2020-12-17 11:48:04 +08:00
parent 0fc46c8b45
commit c981ce89b2
3 changed files with 49 additions and 16 deletions

View File

@@ -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);
}
}

View File

@@ -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();