diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index 20bb4be..4fc4b24 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -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); } diff --git a/application/api/controller/Journal.php b/application/api/controller/Journal.php index f35586f..aba8416 100644 --- a/application/api/controller/Journal.php +++ b/application/api/controller/Journal.php @@ -413,18 +413,31 @@ class Journal extends Controller { * @method POST * * @param name:journal_id type:int require:1 desc:期刊id + * @param name:pageIndex type:int require:1 desc:当前页码数 + * @param name:pageSize type:int require:1 desc:单页数据条数 * * @return articles:文章列表array# + * @return count:总数 */ public function getTopArticle() { $data = $this->request->post(); $journal_info = $this->journal_obj->where('journal_id', $data['journal_id'])->find(); + $limit_start = ($data['pageIndex'] - 1) * $data['pageSize']; $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) ->orderRaw('j_article.cited+j_article.abs_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) + ->count(); //获取作者 foreach ($list as $k => $v) { @@ -445,7 +458,7 @@ class Journal extends Controller { } $list[$k]['title'] = $cache_title; } - return jsonSuccess(['articles' => $list]); + return jsonSuccess(['articles' => $list,'count'=>$count]); } /** @@ -505,6 +518,7 @@ class Journal extends Controller { ->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) + ->where('j_journal_stage.is_publish',1) ->order('j_article.sort desc') ->select(); @@ -568,7 +582,7 @@ class Journal extends Controller { */ public function getJournalCfp() { $data = $this->request->post(); - $list = $this->journal_cfp_obj->where('journal_id', $data['journal_id'])->where('state', 0)->select(); + $list = $this->journal_cfp_obj->where('journal_id', $data['journal_id'])->where('state', 0)->order('sort desc ,journal_cfp_id asc')->select(); $re['cfps'] = $list; return jsonSuccess($re); diff --git a/application/api/controller/Main.php b/application/api/controller/Main.php index ba2cc77..16407a6 100644 --- a/application/api/controller/Main.php +++ b/application/api/controller/Main.php @@ -282,8 +282,11 @@ class Main extends Controller { * @method POST * * @param name:type require:1 type:string desc:类型(cite/read/download) + * @param name:pageIndex type:int require:1 desc:当前页码数 + * @param name:pageSize type:int require:1 desc:单页数据条数 * * @return articles:文章信息array# + * @return count:总数 */ public function getThireTopArticles(){ $data = $this->request->post(); @@ -296,15 +299,21 @@ class Main extends Controller { }else{ return jsonError('Please make sure type in "cite/read/download"'); } + $limit_start = ($data['pageIndex'] - 1) * $data['pageSize']; $list = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short') ->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT'])) - ->where('j_article.state', 0) + ->where('j_article.state', 0) ->where('j_journal_stage.is_publish',1) // ->orderRaw('j_article.cited+j_article.abs_num+j_article.pdf_num desc') ->order($order) - ->limit(20) + ->limit($limit_start,$data['pageSize']) ->select(); + $count = $this->article_obj + ->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'],['j_journal','j_article.journal_id = j_journal.journal_id','LEFT'])) + ->where('j_article.state', 0) + ->where('j_journal_stage.is_publish',1) + ->count(); //获取作者 foreach ($list as $k => $v) { $stage_info = $this->journal_stage_obj->where('journal_stage_id', $v['journal_stage_id'])->find(); @@ -325,7 +334,7 @@ class Main extends Controller { } $list[$k]['title'] = $cache_title; } - return jsonSuccess(['articles' => $list]); + return jsonSuccess(['articles' => $list,'count'=>$count]); } diff --git a/application/master/controller/Journal.php b/application/master/controller/Journal.php index d97e8f6..e93b169 100644 --- a/application/master/controller/Journal.php +++ b/application/master/controller/Journal.php @@ -992,6 +992,7 @@ class Journal extends Controller { * @param name:journal_id type:int require:1 desc:期刊id * @param name:title type:string require:1 desc:标题 * @param name:icon type:string require:1 desc:图标 + * @param name:sort type:int require:1 desc:权重 * @param name:showtime type:string require:1 desc:显示时间 * @param name:content type:string require:1 desc:内容 * @@ -1003,6 +1004,7 @@ class Journal extends Controller { $insert['journal_id'] = $data['journal_id']; $insert['title'] = $data['title']; $insert['icon'] = $data['icon']; + $insert['sort'] = $data['sort']; $insert['showtime'] = $data['showtime']; $insert['content'] = $data['content']; $insert['ctime'] = time(); @@ -1036,6 +1038,7 @@ class Journal extends Controller { * @param name:journal_cfp_id type:int require:1 desc:期刊收刊id * @param name:title type:string require:1 desc:标题 * @param name:icon type:string require:1 desc:图标 + * @param name:sort type:int require:1 desc:权重 * @param name:showtime type:string require:1 desc:显示时间 * @param name:content type:string require:1 desc:内容 */ @@ -1043,6 +1046,7 @@ class Journal extends Controller { $data = $this->request->post(); $update['title'] = $data['title']; $update['icon'] = $data['icon']; + $update['sort'] = $data['sort']; $update['showtime'] = $data['showtime']; $update['content'] = $data['content']; $this->journal_cfp_obj->where('journal_cfp_id',$data['journal_cfp_id'])->update($update); @@ -1064,7 +1068,7 @@ class Journal extends Controller { public function getJournalCfps(){ $data = $this->request->post(); $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find(); - $list = $this->journal_cfp_obj->where('journal_id',$data['journal_id'])->where('state',0)->select(); + $list = $this->journal_cfp_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('sort desc ,journal_cfp_id asc')->select(); $re['cfps'] = $list; $re['journal'] = $journal_info;