This commit is contained in:
wangjinlei
2020-12-15 11:50:24 +08:00
parent 7f4dd55c6b
commit 8dc49aa900
4 changed files with 73 additions and 5 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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');

View File

@@ -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']);