This commit is contained in:
wangjinlei
2021-03-16 10:49:59 +08:00
parent f1a9638f31
commit c53261af2b
4 changed files with 54 additions and 6 deletions

View File

@@ -265,36 +265,56 @@ class Article extends Controller {
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:type type:string require:1 desc:类型(cited/read/download)
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
*
* @return articleList:文章信息#
* @return count:总数
*
*/
public function getTopArt() {
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$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)
->where('j_journal_stage.stage_year','>=','2019')
->where('j_journal_stage.is_publish',1)
->order('j_article.cited desc')
->limit($limit_start,$data['pageSize'])
->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)
->where('j_journal_stage.is_publish',1)
->where('j_journal_stage.stage_year','>=','2019')
->order('j_article.abs_num desc')
->limit($limit_start,$data['pageSize'])
->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)
->where('j_journal_stage.is_publish',1)
->where('j_journal_stage.stage_year','>=','2019')
->orderRaw('j_article.html_num+j_article.pdf_num desc')
->limit($limit_start,$data['pageSize'])
->select();
}
$count = $this->article_obj
->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)
->where('j_journal_stage.is_publish',1)
->where('j_journal_stage.stage_year','>=','2019')
->count();
//获取作者
foreach ($list as $k => $v) {
$stage_info = $this->journal_stage_obj->where('journal_stage_id',$v['journal_stage_id'])->find();
@@ -316,6 +336,7 @@ class Article extends Controller {
}
$re['articleList'] = $list;
$re['count'] = $count;
return jsonSuccess($re);
}