From 540a2d7579f8961577184a021e62923d2acaf0a3 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Mon, 22 Feb 2021 17:51:39 +0800 Subject: [PATCH] 20201112 --- application/api/controller/Main.php | 35 ++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/application/api/controller/Main.php b/application/api/controller/Main.php index eb937b8..8a1dfea 100644 --- a/application/api/controller/Main.php +++ b/application/api/controller/Main.php @@ -189,20 +189,35 @@ class Main extends Controller { * @url /api/Main/getOnlineFirstArticles * @method POST * + * @param name:pageIndex type:int require:1 desc:当前页码数 + * @param name:pageSize type:int require:1 desc:单页数据条数 + * * @return articles:文章信息array# + * @return count:总数 */ public function getOnlineFirstArticles(){ + $data = $this->request->post(); + $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_journal_stage.is_publish',0) ->where('j_article.journal_id','in','1,10,6,14,11,15,17,20,21,22') - ->order('j_article.article_id desc')->select(); + ->order('j_article.article_id desc') + ->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',0) + ->where('j_article.journal_id','in','1,10,6,14,11,15,17,20,21,22') + ->count(); foreach ($list as $k => $v) { $list[$k]['authortitle'] = $this->getAuthor($v); } $re['articles'] = $list; + $re['count'] = $count; return jsonSuccess($re); } @@ -328,10 +343,10 @@ class Main extends Controller { $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.*,j_journal_stage.*') - ->join(array(['j_article', 'j_article.article_id = j_article_to_topic.article_id', 'LEFT'], ['j_journal_stage', 'j_journal_stage.journal_stage_id = j_article.journal_stage_id', 'LEFT'])) - ->where('j_article_to_topic.topic_id', $topic_info['journal_topic_id']) - ->where('j_article_to_topic.state', 0) - ->select(); + ->join(array(['j_article', 'j_article.article_id = j_article_to_topic.article_id', 'LEFT'], ['j_journal_stage', 'j_journal_stage.journal_stage_id = j_article.journal_stage_id', 'LEFT'])) + ->where('j_article_to_topic.topic_id', $topic_info['journal_topic_id']) + ->where('j_article_to_topic.state', 0) + ->select(); return jsonSuccess(['topic_info' => $topic_info, 'articlelist' => $list]); } else { return jsonError('no highlights'); @@ -387,11 +402,11 @@ class Main extends Controller { } $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($where) - ->order('j_article.article_id') - ->limit($limit_start, $data['pageSize']) - ->select(); + ->join('j_journal_stage', 'j_article.journal_stage_id=j_journal_stage.journal_stage_id', 'LEFT') + ->where($where) + ->order('j_article.article_id') + ->limit($limit_start, $data['pageSize']) + ->select(); foreach ($list as $k => $v) { $list[$k]['authortitle'] = $this->getAuthor($v);