This commit is contained in:
wangjinlei
2021-02-22 17:51:39 +08:00
parent 846b42ba83
commit 540a2d7579

View File

@@ -189,20 +189,35 @@ class Main extends Controller {
* @url /api/Main/getOnlineFirstArticles * @url /api/Main/getOnlineFirstArticles
* @method POST * @method POST
* *
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
*
* @return articles:文章信息array# * @return articles:文章信息array#
* @return count:总数
*/ */
public function getOnlineFirstArticles(){ public function getOnlineFirstArticles(){
$data = $this->request->post();
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj $list = $this->article_obj
->field('j_article.*,j_journal_stage.*,j_journal.title journal_title,j_journal.jabbr journal_short') ->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'])) ->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',0) ->where('j_journal_stage.is_publish',0)
->where('j_article.journal_id','in','1,10,6,14,11,15,17,20,21,22') ->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) { foreach ($list as $k => $v) {
$list[$k]['authortitle'] = $this->getAuthor($v); $list[$k]['authortitle'] = $this->getAuthor($v);
} }
$re['articles'] = $list; $re['articles'] = $list;
$re['count'] = $count;
return jsonSuccess($re); 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(); $topic_info = $this->journal_topic_obj->where('journal_id', $data['journal_id'])->where('position', 'highlights')->where('state', 0)->find();
if ($topic_info) { if ($topic_info) {
$list = $this->article_to_topic_obj->field('j_article.*,j_journal_stage.*') $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'])) ->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.topic_id', $topic_info['journal_topic_id'])
->where('j_article_to_topic.state', 0) ->where('j_article_to_topic.state', 0)
->select(); ->select();
return jsonSuccess(['topic_info' => $topic_info, 'articlelist' => $list]); return jsonSuccess(['topic_info' => $topic_info, 'articlelist' => $list]);
} else { } else {
return jsonError('no highlights'); return jsonError('no highlights');
@@ -387,11 +402,11 @@ class Main extends Controller {
} }
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize']; $limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj->field('j_article.*,j_journal_stage.*') $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') ->join('j_journal_stage', 'j_article.journal_stage_id=j_journal_stage.journal_stage_id', 'LEFT')
->where($where) ->where($where)
->order('j_article.article_id') ->order('j_article.article_id')
->limit($limit_start, $data['pageSize']) ->limit($limit_start, $data['pageSize'])
->select(); ->select();
foreach ($list as $k => $v) { foreach ($list as $k => $v) {
$list[$k]['authortitle'] = $this->getAuthor($v); $list[$k]['authortitle'] = $this->getAuthor($v);