diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index 7cb0291..044dcc3 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -69,13 +69,17 @@ class Article extends Controller{ //组合cite信息 $no = $stage_info['stage_no']==0?':':'('.$stage_info['stage_no'].'):'; $cite = $article_info['abbr'].' '.$article_info['title'].' '.$journal_info['jabbr'].' '.$stage_info['stage_year'].';'.$stage_info['stage_vol'].$no.$article_info['npp'].'. doi:'.$article_info['doi']; + + //修改keywords + $article_info['keywords'] = str_replace(',','    ', $article_info['keywords']); + + //返回数据 $re['articleInfo'] = $article_info; $re['journalInfo'] = $journal_info; $re['stageInfo'] = $stage_info; $re['author'] = $author; $re['cite'] = $cite; return jsonSuccess($re); - } private function sys_author($authors,$organs,$atto){ $cache = []; @@ -134,4 +138,37 @@ class Article extends Controller{ return substr($frag,0, -1); } + + /** + * @title 获取stage文章列表 + * @description 获取stage文章列表 + * @author wangjinlei + * @url /api/Article/getStageArticles + * @method POST + * + * @param name:stage_id type:int require:1 desc:分期id + * + * @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(); + $list = $this->article_obj->where('journal_stage_id',$data['stage_id'])->where('state',0)->select(); +// $topic_info = $this->journal_topic_obj->where('journal_topic_id',$data['topic_id'])->find(); +// $list = $this->article_to_topic_obj->field('j_article.*,j_journal_stage.*') +// ->join(array(['j_article','j_article_to_topic.article_id = j_article.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',$data['topic_id']) +// ->where('j_article_to_topic.state',0) +// ->select(); + //获取作者 + foreach($list as $k=>$v){ + $list[$k]['authortitle'] = $this->getAuthor($v); + } + $re['stageInfo'] = $stage_info; + $re['articleList'] = $list; + return jsonSuccess($re); + } + } diff --git a/application/api/controller/Journal.php b/application/api/controller/Journal.php index 424da49..6fae582 100644 --- a/application/api/controller/Journal.php +++ b/application/api/controller/Journal.php @@ -22,6 +22,8 @@ class Journal extends Controller { protected $journal_abs_obj = ''; protected $journal_cfp_obj = ''; protected $article_to_topic_obj = ''; + protected $journal_paper_obj = ''; + protected $journal_paper_art_obj = ''; public function __construct(\think\Request $request = null) { parent::__construct($request); @@ -35,6 +37,8 @@ class Journal extends Controller { $this->journal_abs_obj = Db::name('journal_abstracting'); $this->journal_cfp_obj = Db::name('journal_cfp'); $this->article_to_topic_obj = Db::name('article_to_topic'); + $this->journal_paper_obj = Db::name('journal_paper'); + $this->journal_paper_art_obj = Db::name('journal_paper_art'); } /** @@ -76,7 +80,7 @@ class Journal extends Controller { $data = $this->request->post(); $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find(); $absList = $this->journal_abs_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('journal_abstracting_id')->select(); - $stageList = $this->journal_stage_obj->where('journal_id',$data['journal_id'])->where('is_publish',1)->where('state',0)->order('journal_stage_id')->select(); + $stageList = $this->journal_stage_obj->where('journal_id',$data['journal_id'])->where('is_publish',1)->where('state',0)->order('journal_stage_id desc')->select(); return json(['code'=>0,'msg'=>'success','data'=>['journal'=>$journal_info,'journalAbs'=>$absList,'journalStage'=>$stageList]]); } @@ -138,11 +142,15 @@ class Journal extends Controller { $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find(); $list = $this->article_obj->where('journal_stage_id',$journal_info['publish_stage_id']) ->where('state',0) - ->order('article_id desc') + ->order('sort asc') ->select(); $stage_info = $this->journal_stage_obj->where('journal_stage_id',$journal_info['publish_stage_id'])->find(); //获取作者 foreach($list as $k=>$v){ + //组合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); } return json(['code'=>0,'msg'=>'success','data'=>['stage'=>$stage_info,'articleList'=>$list]]); @@ -311,4 +319,27 @@ class Journal extends Controller { return jsonSuccess($re); } + /** + * @title 获取期刊footer + * @description 获取期刊footer + * @author wangjinlei + * @url /api/Journal/getFooter + * @method POST + * + * @param name:journal_id type:int require:1 desc:期刊id + * + * @return footers:footers# + */ + public function getFooter(){ + $data = $this->request->post(); + $papers = $this->journal_paper_obj->where('journal_id',$data['journal_id'])->where('state',0)->select(); + foreach ($papers as $k => $v){ + $cache_list = $this->journal_paper_art_obj->where('journal_paper_id',$v['journal_paper_id'])->where('state',0)->select(); + $papers[$k]['articles'] = $cache_list; + } + + $re['footers'] = $papers; + return jsonSuccess($re); + } + } diff --git a/application/api/controller/Main.php b/application/api/controller/Main.php index 51d365e..03d71b5 100644 --- a/application/api/controller/Main.php +++ b/application/api/controller/Main.php @@ -93,7 +93,6 @@ class Main extends Controller{ ->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'); diff --git a/application/master/controller/Journal.php b/application/master/controller/Journal.php index fb96c79..69b50d2 100644 --- a/application/master/controller/Journal.php +++ b/application/master/controller/Journal.php @@ -708,6 +708,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:content type:string require:1 desc:内容 + * @param name:time type:string require:1 desc:时间 * */ public function addNotices(){ @@ -715,7 +716,7 @@ class Journal extends Controller { $insert['journal_id'] = $data['journal_id']; $insert['title'] = $data['title']; $insert['content'] = $data['content']; - $insert['ctime'] = time(); + $insert['ctime'] = $data['time']==''?time():strtotime($data['time']); $res = $this->journal_notices_obj->insert($insert); if($res){ return json(['code'=>0,'msg'=>'success']);