From 0a5067daf6182c478a589caea2d5c0ea9d155d03 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Wed, 20 Jan 2021 17:15:49 +0800 Subject: [PATCH] 20201112 --- application/api/controller/Article.php | 11 ++++---- application/api/controller/Special.php | 33 ++++++++++++++++++++--- application/master/controller/Article.php | 2 +- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index ba7c077..4079dd5 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -151,12 +151,10 @@ class Article extends Controller { } $list[$k]['title'] = $cache_title; } - $re['topicInfo'] = $topic_info; $re['articleList'] = $list; return jsonSuccess($re); } - private function getAuthor($article) { $where['article_id'] = $article['article_id']; $where['state'] = 0; @@ -190,13 +188,17 @@ class Article extends Controller { * * @return stageInfo:分期# * @return articleList:文章信息# - * */ public function getStageArticles() { $data = $this->request->post(); $stage_info = $this->journal_stage_obj->where('journal_stage_id', $data['stage_id'])->find(); $journal_info = $this->journal_obj->where('journal_id',$stage_info['journal_id'])->find(); - $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_stage_id', $data['stage_id'])->where('j_article.state', 0)->select(); + $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_stage_id', $data['stage_id']) + ->where('j_article.state', 0) + ->order('j_article.sort') + ->select(); //获取作者 foreach ($list as $k => $v) { $stage_info = $this->journal_stage_obj->where('journal_stage_id',$v['journal_stage_id'])->find(); @@ -232,7 +234,6 @@ class Article extends Controller { * @param name:type type:string require:1 desc:类型(abs/html/pdf) * * @return article:文章详情 - * */ public function addArticleNum(){ $data = $this->request->post(); diff --git a/application/api/controller/Special.php b/application/api/controller/Special.php index d741a44..d0ae4ae 100644 --- a/application/api/controller/Special.php +++ b/application/api/controller/Special.php @@ -214,9 +214,9 @@ class Special extends Controller { /** * @title 客座期刊(获取客座期刊文章) - * @description 客座期刊(获取客座期刊详情) + * @description 客座期刊(获取客座期刊文章) * @author wangjinlei - * @url /api/Special/getSpecialDetail + * @url /api/Special/getSpecialArticles * @method POST * * @param name:journal_special_id type:int require:1 desc:客座期刊id @@ -225,10 +225,35 @@ class Special extends Controller { */ public function getSpecialArticles(){ $data = $this->request->post(); - $list = $this->article_obj->where('journal_special_id',$data['journal_special_id'])->where('state',0)->select(); - + $special_info = $this->journal_special_obj->where('journal_special_id',$data['journal_special_id'])->find(); + $journal_info = $this->journal_obj->where('journal_id',$special_info['journal_id'])->find(); + $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_special_id',$data['journal_special_id']) + ->where('j_article.state',0) + ->select(); + //获取作者 + foreach ($list as $k => $v) { + $stage_info = $this->journal_stage_obj->where('journal_stage_id',$v['journal_stage_id'])->find(); + //组合cite信息 + $no = $stage_info['stage_no'] == 0 ? ':' : '(' . $stage_info['stage_no'] . '):'; + $cite = $v['abbr'] . '. ' . $v['title'] . '. ' . $journal_info['jabbr'] . '. ' . $stage_info['stage_year'] . ';' . $stage_info['stage_vol'] . $no . $v['npp'] . '. doi:' . $v['doi']; + $list[$k]['cite'] = $cite; + $list[$k]['authortitle'] = $this->getAuthor($v); + } $re['articles'] = $list; return jsonSuccess($re); } + private function getAuthor($article) { + $where['article_id'] = $article['article_id']; + $where['state'] = 0; + $list = $this->article_author_obj->where($where)->select(); + $frag = ''; + foreach ($list as $k => $v) { + $frag = $frag == '' ? '' . $v['author_name'] : $frag . ', ' . $v['author_name']; + } + return $frag; + } } \ No newline at end of file diff --git a/application/master/controller/Article.php b/application/master/controller/Article.php index ec0f1ac..c0d4d78 100644 --- a/application/master/controller/Article.php +++ b/application/master/controller/Article.php @@ -351,7 +351,7 @@ class Article extends Controller { $ltais = $this->article_ltai_obj->where('article_id',$article_info['article_id'])->where('state',0)->column('content'); $article_info['ltai'] = implode(',', $ltais); $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find(); - $list = scandir(ROOT_PATH.'public/articleHTML/'.$journal_info['sx']); + $list = scandir(ROOT_PATH.'public/articleHTML/'.trim($journal_info['sx'])); $frag = []; foreach ($list as $k => $v){ if($k>1){