From 09a2f3231fb8a8414079daecc0126768ac3fdf4c Mon Sep 17 00:00:00 2001
From: wangjinlei <751475802@qq.com>
Date: Fri, 2 Jun 2023 10:12:22 +0800
Subject: [PATCH] 1
---
application/api/controller/Article.php | 10 +-
application/api/controller/Special.php | 9 +-
application/master/controller/Article.php | 986 +++++++++++---------
application/master/controller/Submision.php | 69 ++
4 files changed, 628 insertions(+), 446 deletions(-)
diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php
index 0fa046d..ac61cf1 100644
--- a/application/api/controller/Article.php
+++ b/application/api/controller/Article.php
@@ -25,6 +25,7 @@ class Article extends Controller {
protected $journal_notices_obj = '';
protected $journal_abs_obj = '';
protected $article_to_topic_obj = '';
+ protected $article_main_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
@@ -40,6 +41,7 @@ class Article extends Controller {
$this->journal_notices_obj = Db::name('journal_notices');
$this->journal_abs_obj = Db::name('journal_abstracting');
$this->article_to_topic_obj = Db::name('article_to_topic');
+ $this->article_main_obj = Db::name('article_main');
}
/**
@@ -87,7 +89,13 @@ class Article extends Controller {
$cite = $article_info['abbr'] . '. ' . $article_info['title'] . '. ' . choiseJabbr($article_info['article_id'], $journal_info['jabbr']) . '. ' . $stage_info['stage_year'] . ';' . $stage_info['stage_vol'] . $no . $article_info['npp'] . '. doi:' . $article_info['doi'];
}
-// echo ($article_info['article_id']<1799&&$article_info['npp']=='Cancer Adv'?'TMR Cancer':$article_info['npp']);
+ //获取html
+ if($article_info['file_html']==''){
+ $caches = $this->article_main_obj->where('article_id',$article_info['article_id'])->where('state',0)->select();
+ if($caches){
+ $article_info['file_html'] = $caches;
+ }
+ }
if (stripos($article_info['npp'], '-')) {
$cc = explode('-', $article_info['npp']);
diff --git a/application/api/controller/Special.php b/application/api/controller/Special.php
index 203dbf6..81ebe59 100644
--- a/application/api/controller/Special.php
+++ b/application/api/controller/Special.php
@@ -164,7 +164,7 @@ class Special extends Controller {
$f = [];
//获取作者
foreach ($list as $k => $v){
- if(strtotime($v['deadline'])< time()){
+ if(strtotime($v['deadline'])<= time()){
continue;
}
$frag = '';
@@ -180,6 +180,7 @@ class Special extends Controller {
$v['editor'] = $frag;
$f[] = $v;
}
+ $re['is_show'] = count($list)>0?'true':'false';
$re['specials'] = $f;
return jsonSuccess($re);
}
@@ -265,6 +266,12 @@ class Special extends Controller {
->select();
//获取作者
foreach ($list as $k => $v){
+ if(strtotime($v['deadline'])<= time()){
+ $cou = $this->article_obj->where('journal_special_id',$v['journal_special_id'])->where('state',0)->count();
+ if($cou<3){
+ continue;
+ }
+ }
$frag = '';
$caches = $this->journal_special_to_editor_obj
->field('j_journal_special_editor.*')
diff --git a/application/master/controller/Article.php b/application/master/controller/Article.php
index 8c11151..06278a1 100644
--- a/application/master/controller/Article.php
+++ b/application/master/controller/Article.php
@@ -13,7 +13,8 @@ use think\Validate;
* @description 文章相关操作
* @group 文章相关
*/
-class Article extends Controller {
+class Article extends Controller
+{
//put your code here
protected $admin_obj = '';
@@ -35,8 +36,10 @@ class Article extends Controller {
protected $subscribe_base_topic_obj = '';
protected $medicament_obj = '';
protected $article_to_medicament_obj = '';
+ protected $article_main_obj = '';
- public function __construct(\think\Request $request = null) {
+ public function __construct(\think\Request $request = null)
+ {
parent::__construct($request);
$this->admin_obj = Db::name('admin');
$this->journal_obj = Db::name('journal');
@@ -57,21 +60,23 @@ class Article extends Controller {
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
$this->medicament_obj = Db::name('medicament');
$this->article_to_medicament_obj = Db::name('ArticleToMedicament');
+ $this->article_main_obj = Db::name("article_main");
}
/**
* @title 获取期刊和分期
* @description 获取期刊和分期
+ * @param name:editor_id type:int require:1 desc:编辑id
+ *
+ * @return joutaglist:array#
+ *
* @author wangjinleichang
* @url /master/Article/getJournalAndStage
* @method POST
- *
- * @param name:editor_id type:int require:1 desc:编辑id
- *
- * @return joutaglist:array#
- *
+ *
*/
- public function getJournalAndStage() {
+ public function getJournalAndStage()
+ {
$data = $this->request->post();
$journal_list = $this->journal_obj->where('editor_id', $data['editor_id'])->where('state', 0)->select();
$frag = [];
@@ -94,16 +99,17 @@ class Article extends Controller {
/**
* @title 添加文章基本信息
* @description 添加文章基本信息
- * @author wangjinleichang
- * @url /master/Article/addArticleBase
- * @method POST
- *
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:journal_stage_id type:int require:1 desc:分期id
* @param name:sort type:int require:1 default:0 desc:权重
* @param name:title type:string require:1 desc:标题
+ * @author wangjinleichang
+ * @url /master/Article/addArticleBase
+ * @method POST
+ *
*/
- public function addArticleBase() {
+ public function addArticleBase()
+ {
$data = $this->request->post();
$insert_data['journal_id'] = $data['journal_id'];
$insert_data['journal_stage_id'] = $data['journal_stage_id'];
@@ -121,13 +127,14 @@ class Article extends Controller {
/**
* @title 删除文章
* @description 删除文章
+ * @param name:article_id type:int require:1 desc:文章id
* @author wangjinleichang
* @url /master/Article/delArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:文章id
+ *
*/
- public function delArticle() {
+ public function delArticle()
+ {
$data = $this->request->post();
$res = $this->article_obj->where('article_id', $data['article_id'])->update(['state' => 1]);
return json(['code' => 0, 'msg' => 'success']);
@@ -136,10 +143,6 @@ class Article extends Controller {
/**
* @title 添加文章作者
* @description 添加文章作者
- * @author wangjinleichang
- * @url /master/Article/addArticleAuthor
- * @method POST
- *
* @param name:article_id type:int require:1 desc:article_id
* @param name:author_name type:string require:1 desc:作者名字
* @param name:author_country type:string require:1 desc:国家
@@ -148,9 +151,14 @@ class Article extends Controller {
* @param name:is_report type:boolean require:1 default:0 desc:是否通讯作者(1yes0no)
* @param name:email type:string require:0 desc:邮箱
* @param name:organs type:string require:1 desc:array
- *
+ *
+ * @author wangjinleichang
+ * @url /master/Article/addArticleAuthor
+ * @method POST
+ *
*/
- public function addArticleAuthor() {
+ public function addArticleAuthor()
+ {
$data = $this->request->post();
$insert_author['article_id'] = $data['article_id'];
@@ -195,10 +203,6 @@ class Article extends Controller {
/**
* @title 编辑文章作者
* @description 编辑文章作者
- * @author wangjinleichang
- * @url /master/Article/editArticleAuthor
- * @method POST
- *
* @param name:article_author_id type:int require:1 desc:article_id
* @param name:author_name type:string require:1 desc:作者名字
* @param name:orcid type:string require:0 desc:orcid
@@ -207,9 +211,14 @@ class Article extends Controller {
* @param name:is_report type:boolean require:1 default:0 desc:是否通讯作者(1yes0no)
* @param name:email type:string require:0 desc:邮箱
* @param name:organs type:string require:1 desc:array
- *
+ *
+ * @author wangjinleichang
+ * @url /master/Article/editArticleAuthor
+ * @method POST
+ *
*/
- public function editArticleAuthor() {
+ public function editArticleAuthor()
+ {
$data = $this->request->post();
// $data['article_author_id'] = 21;
@@ -263,14 +272,15 @@ class Article extends Controller {
/**
* @title 删除文章作者
* @description 删除文章作者
+ * @param name:article_author_id type:int require:1 desc:article_id
+ *
* @author wangjinleichang
* @url /master/Article/delArticleAuthor
* @method POST
- *
- * @param name:article_author_id type:int require:1 desc:article_id
- *
+ *
*/
- public function delArticleAuthor() {
+ public function delArticleAuthor()
+ {
$data = $this->request->post();
//删除作者和机构的关系
$this->author_to_organ_obj->where('article_author_id', $data['article_author_id'])->update(['state' => 1]);
@@ -281,25 +291,26 @@ class Article extends Controller {
/**
* @title 获取文章作者和机构
* @description 获取文章作者和机构
+ * @param name:article_id type:int require:1 desc:article_id
+ *
+ * @return authorList:array#
+ * @return organList:array#
* @author wangjinleichang
* @url /master/Article/getArticleAuthor
* @method POST
- *
- * @param name:article_id type:int require:1 desc:article_id
- *
- * @return authorList:array#
- * @return organList:array#
+ *
*/
- public function getArticleAuthor() {
+ public function getArticleAuthor()
+ {
$data = $this->request->post();
$author_list = $this->article_author_obj->where('article_id', $data['article_id'])->where('state', 0)->select();
foreach ($author_list as $k => $v) {
$cache_to = $this->author_to_organ_obj
- ->field('j_article_author_to_organ.*,j_article_organ.organ_name')
- ->join('j_article_organ', 'j_article_organ.article_organ_id = j_article_author_to_organ.article_organ_id')
- ->where('j_article_author_to_organ.article_author_id', $v['article_author_id'])
- ->where('j_article_author_to_organ.state', 0)
- ->select();
+ ->field('j_article_author_to_organ.*,j_article_organ.organ_name')
+ ->join('j_article_organ', 'j_article_organ.article_organ_id = j_article_author_to_organ.article_organ_id')
+ ->where('j_article_author_to_organ.article_author_id', $v['article_author_id'])
+ ->where('j_article_author_to_organ.state', 0)
+ ->select();
$cache_frag = [];
foreach ($cache_to as $vv) {
$cache_frag[] = $vv;
@@ -313,14 +324,15 @@ class Article extends Controller {
/**
* @title 添加文章作者机构
* @description 添加文章作者机构
+ * @param name:article_id type:int require:1 desc:article_id
+ * @param name:organ_name type:string require:1 desc:机构名字
* @author wangjinleichang
* @url /master/Article/addArticleOrgan
* @method POST
- *
- * @param name:article_id type:int require:1 desc:article_id
- * @param name:organ_name type:string require:1 desc:机构名字
+ *
*/
- public function addArticleOrgan() {
+ public function addArticleOrgan()
+ {
$data = $this->request->post();
$insert_data['article_id'] = $data['article_id'];
$insert_data['organ_name'] = $data['organ_name'];
@@ -335,14 +347,15 @@ class Article extends Controller {
/**
* @title 编辑文章作者机构
* @description 编辑文章作者机构
+ * @param name:article_organ_id type:int require:1 desc:article_organ_id
+ * @param name:organ_name type:string require:1 desc:机构名字
* @author wangjinleichang
* @url /master/Article/editArticleOrgan
* @method POST
- *
- * @param name:article_organ_id type:int require:1 desc:article_organ_id
- * @param name:organ_name type:string require:1 desc:机构名字
+ *
*/
- public function editArticleOrgan() {
+ public function editArticleOrgan()
+ {
$data = $this->request->post();
$this->article_organ_obj->where('article_organ_id', $data['article_organ_id'])->update(['organ_name' => $data['organ_name']]);
return json(['code' => 0, 'msg' => 'success']);
@@ -351,13 +364,14 @@ class Article extends Controller {
/**
* @title 删除文章作者机构
* @description 删除文章作者机构
+ * @param name:article_organ_id type:int require:1 desc:article_organ_id
* @author wangjinleichang
* @url /master/Article/delArticleOrgan
* @method POST
- *
- * @param name:article_organ_id type:int require:1 desc:article_organ_id
+ *
*/
- public function delArticleOrgan() {
+ public function delArticleOrgan()
+ {
$data = $this->request->post();
//删除作者和机构的关系
$this->author_to_organ_obj->where('article_organ_id', $data['article_organ_id'])->update(['state' => 1]);
@@ -368,7 +382,8 @@ class Article extends Controller {
/**
* 添加文章通过投稿系统
*/
- public function addArticleForSubmission(){
+ public function addArticleForSubmission()
+ {
$data = $this->request->post();
$rule = new Validate([
'title' => 'require',
@@ -381,18 +396,18 @@ class Article extends Controller {
'file_pdf' => 'require',
'pub_date' => 'require',
'keywords' => 'require',
- 'npp'=>'require'
+ 'npp' => 'require'
]);
if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
- if(!is_dir(ROOT_PATH.'public'.DS.'articlePDF'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'articlePDF'.DS.date('Ymd'));
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'articlePDF' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'articlePDF' . DS . date('Ymd'));
}
- $file_name = substr($data['file_pdf'],strripos($data['file_pdf'],'/')+1);
- $co = @copy("http://api.tmrjournals.com/public/".$data['file_pdf'],ROOT_PATH.'public'.DS.'articlePDF'.DS.date('Ymd').DS.$file_name);
- if($co!=1){
+ $file_name = substr($data['file_pdf'], strripos($data['file_pdf'], '/') + 1);
+ $co = @copy("http://api.tmrjournals.com/public/" . $data['file_pdf'], ROOT_PATH . 'public' . DS . 'articlePDF' . DS . date('Ymd') . DS . $file_name);
+ if ($co != 1) {
return jsonError('copy error!');
}
//处理基本信息
@@ -400,70 +415,70 @@ class Article extends Controller {
$insert['journal_id'] = $journal_info['journal_id'];
$insert['journal_stage_id'] = $data['journal_stage_id'];
$insert['type'] = $data['type'];
- if(isset($data['icon'])&&$data['icon']!=''){
- $cfile_name = substr($data['icon'],strripos($data['icon'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'articleicon'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'articleicon'.DS.date('Ymd'));
+ if (isset($data['icon']) && $data['icon'] != '') {
+ $cfile_name = substr($data['icon'], strripos($data['icon'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'articleicon' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'articleicon' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/articleicon/".$data['icon'],ROOT_PATH.'public'.DS.'articleicon'.DS.date('Ymd').DS.$cfile_name);
- $insert['icon'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/articleicon/" . $data['icon'], ROOT_PATH . 'public' . DS . 'articleicon' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['icon'] = date('Ymd') . DS . $cfile_name;
}
- if(isset($data['file_sub'])&&$data['file_sub']!=''){
- $cfile_name = substr($data['file_sub'],strripos($data['file_sub'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'articleSUB'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'articleSUB'.DS.date('Ymd'));
+ if (isset($data['file_sub']) && $data['file_sub'] != '') {
+ $cfile_name = substr($data['file_sub'], strripos($data['file_sub'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'articleSUB' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'articleSUB' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/articleSUB/".$data['file_sub'],ROOT_PATH.'public'.DS.'articleSUB'.DS.date('Ymd').DS.$cfile_name);
- $insert['file_sub'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/articleSUB/" . $data['file_sub'], ROOT_PATH . 'public' . DS . 'articleSUB' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['file_sub'] = date('Ymd') . DS . $cfile_name;
}
- if(isset($data['file_sub2'])&&$data['file_sub2']!=''){
- $cfile_name = substr($data['file_sub2'],strripos($data['file_sub2'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'articleSUB2'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'articleSUB2'.DS.date('Ymd'));
+ if (isset($data['file_sub2']) && $data['file_sub2'] != '') {
+ $cfile_name = substr($data['file_sub2'], strripos($data['file_sub2'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'articleSUB2' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'articleSUB2' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/articleSUB2/".$data['file_sub2'],ROOT_PATH.'public'.DS.'articleSUB2'.DS.date('Ymd').DS.$cfile_name);
- $insert['file_sub2'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/articleSUB2/" . $data['file_sub2'], ROOT_PATH . 'public' . DS . 'articleSUB2' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['file_sub2'] = date('Ymd') . DS . $cfile_name;
}
- if(isset($data['file_cdf'])&&$data['file_cdf']!=''){
- $cfile_name = substr($data['file_cdf'],strripos($data['file_cdf'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'articleCDF'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'articleCDF'.DS.date('Ymd'));
+ if (isset($data['file_cdf']) && $data['file_cdf'] != '') {
+ $cfile_name = substr($data['file_cdf'], strripos($data['file_cdf'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'articleCDF' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'articleCDF' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/articleCDF/".$data['file_cdf'],ROOT_PATH.'public'.DS.'articleCDF'.DS.date('Ymd').DS.$cfile_name);
- $insert['file_cdf'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/articleCDF/" . $data['file_cdf'], ROOT_PATH . 'public' . DS . 'articleCDF' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['file_cdf'] = date('Ymd') . DS . $cfile_name;
}
- if(isset($data['endnote'])&&$data['endnote']!=''){
- $cfile_name = substr($data['endnote'],strripos($data['endnote'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'endNote'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'endNote'.DS.date('Ymd'));
+ if (isset($data['endnote']) && $data['endnote'] != '') {
+ $cfile_name = substr($data['endnote'], strripos($data['endnote'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'endNote' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'endNote' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/endNote/".$data['endnote'],ROOT_PATH.'public'.DS.'endNote'.DS.date('Ymd').DS.$cfile_name);
- $insert['endnote'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/endNote/" . $data['endnote'], ROOT_PATH . 'public' . DS . 'endNote' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['endnote'] = date('Ymd') . DS . $cfile_name;
}
- if(isset($data['bibtex'])&&$data['bibtex']!=''){
- $cfile_name = substr($data['bibtex'],strripos($data['bibtex'],'/')+1);
- if(!is_dir(ROOT_PATH.'public'.DS.'bibTex'.DS.date('Ymd'))){
- mkdir(ROOT_PATH.'public'.DS.'bibTex'.DS.date('Ymd'));
+ if (isset($data['bibtex']) && $data['bibtex'] != '') {
+ $cfile_name = substr($data['bibtex'], strripos($data['bibtex'], '/') + 1);
+ if (!is_dir(ROOT_PATH . 'public' . DS . 'bibTex' . DS . date('Ymd'))) {
+ mkdir(ROOT_PATH . 'public' . DS . 'bibTex' . DS . date('Ymd'));
}
- $co = @copy("http://api.tmrjournals.com/public/bibTex/".$data['bibtex'],ROOT_PATH.'public'.DS.'bibTex'.DS.date('Ymd').DS.$cfile_name);
- $insert['bibtex'] = date('Ymd').DS.$cfile_name;
+ $co = @copy("http://api.tmrjournals.com/public/bibTex/" . $data['bibtex'], ROOT_PATH . 'public' . DS . 'bibTex' . DS . date('Ymd') . DS . $cfile_name);
+ $insert['bibtex'] = date('Ymd') . DS . $cfile_name;
}
- $insert['doi'] = '10.53388/'.$data['doi'];
+ $insert['doi'] = '10.53388/' . $data['doi'];
$insert['abstract'] = $data['abstract'];
$insert['pub_date'] = $data['pub_date'];
$insert['abbr'] = $data['abbr'];
- $insert['tradition_tag'] = isset($data['tradition_tag'])?$data['tradition_tag']:'';
- $insert['tradition'] = isset($data['tradition'])?$data['tradition']:'';
+ $insert['tradition_tag'] = isset($data['tradition_tag']) ? $data['tradition_tag'] : '';
+ $insert['tradition'] = isset($data['tradition']) ? $data['tradition'] : '';
$insert['keywords'] = $data['keywords'];
$insert['npp'] = $data['npp'];
$sort = 0;
- if($journal_info['journal_id']==2||$journal_info['journal_id']==17||$journal_info['journal_id']==18){
- $sort = intval(substr($data['npp'],-2));
- }else{
+ if ($journal_info['journal_id'] == 2 || $journal_info['journal_id'] == 17 || $journal_info['journal_id'] == 18) {
+ $sort = intval(substr($data['npp'], -2));
+ } else {
$sort = $data['npp'];
}
$insert['sort'] = $sort;
- $insert['file_pdf'] = date('Ymd').DS.$file_name;
+ $insert['file_pdf'] = date('Ymd') . DS . $file_name;
$insert['mhoo'] = $data['mhoo'];
$insert['is_public'] = 1;
$insert['ctime'] = time();
@@ -472,11 +487,10 @@ class Article extends Controller {
//处理斜体
$ltai_res = true;
- if(isset($data['ltai'])&&$data['ltai']!=''){
- $ltai = explode(',',$data['ltai']);
+ if (isset($data['ltai']) && $data['ltai'] != '') {
+ $ltai = explode(',', $data['ltai']);
$ltai_input = [];
- foreach($ltai as $v)
- {
+ foreach ($ltai as $v) {
$cache_input['article_id'] = $aid;
$cache_input['content'] = $v;
$ltai_input[] = $cache_input;
@@ -485,52 +499,54 @@ class Article extends Controller {
}
//处理作者
- try{
- $authors = object_to_array(json_decode($data['authors']));
- $organs = object_to_array(json_decode($data['organs']));
- $organ_res = true;
- foreach($organs as $v){
- $ca_insert['article_id'] = $aid;
- $ca_insert['organ_name'] = $v['organ_name'];
- $organ_res = $this->article_organ_obj->insert($ca_insert);
- }
- $author_res = true;
- $ato_res = true;
- $ca_au_id = true;
- foreach($authors as $v){
- $insert_author['article_id'] = $aid;
- $insert_author['author_name'] = $journal_info['journal_id']==22?$v['last_name'].$v['first_name']:$v['first_name'].' '.$v['last_name'];
- $insert_author['first_name'] = $v['first_name'];
- $insert_author['last_name'] = $v['last_name'];
- $insert_author['author_country'] = $v['author_country'];
- $insert_author['is_first'] = $v['is_first'];
- $insert_author['is_report'] = $v['is_report'];
- $insert_author['orcid'] = $v['orcid'];
- $insert_author['email'] = $v['email'];
- $ca_au_id = $this->article_author_obj->insertGetId($insert_author);
- $cache_organs = $v['organs'];
- foreach($cache_organs as $val){
- $c_organ = $this->article_organ_obj->where('article_id',$aid)->where('organ_name',$val['organ_name'])->find();
- if($c_organ==null){
- return jsonError('organ error!');
- }
- $insert_orm['article_id'] = $aid;
- $insert_orm['article_author_id'] = $ca_au_id;
- $insert_orm['article_organ_id'] = $c_organ['article_organ_id'];
- $ato_res = $this->author_to_organ_obj->insert($insert_orm);
+ try {
+ $authors = object_to_array(json_decode($data['authors']));
+ $organs = object_to_array(json_decode($data['organs']));
+ $organ_res = true;
+ foreach ($organs as $v) {
+ $ca_insert['article_id'] = $aid;
+ $ca_insert['organ_name'] = $v['organ_name'];
+ $organ_res = $this->article_organ_obj->insert($ca_insert);
}
-
- }}catch(Exception $e){
-
+ $author_res = true;
+ $ato_res = true;
+ $ca_au_id = true;
+ foreach ($authors as $v) {
+ $insert_author['article_id'] = $aid;
+ $insert_author['author_name'] = $journal_info['journal_id'] == 22 ? $v['last_name'] . $v['first_name'] : $v['first_name'] . ' ' . $v['last_name'];
+ $insert_author['first_name'] = $v['first_name'];
+ $insert_author['last_name'] = $v['last_name'];
+ $insert_author['author_country'] = $v['author_country'];
+ $insert_author['is_first'] = $v['is_first'];
+ $insert_author['is_report'] = $v['is_report'];
+ $insert_author['orcid'] = $v['orcid'];
+ $insert_author['email'] = $v['email'];
+ $ca_au_id = $this->article_author_obj->insertGetId($insert_author);
+ $cache_organs = $v['organs'];
+ foreach ($cache_organs as $val) {
+ $c_organ = $this->article_organ_obj->where('article_id', $aid)->where('organ_name', $val['organ_name'])->find();
+ if ($c_organ == null) {
+ return jsonError('organ error!');
+ }
+ $insert_orm['article_id'] = $aid;
+ $insert_orm['article_author_id'] = $ca_au_id;
+ $insert_orm['article_organ_id'] = $c_organ['article_organ_id'];
+ $ato_res = $this->author_to_organ_obj->insert($insert_orm);
+ }
+
+ }
+ } catch (Exception $e) {
+
Db::rollback();
return jsonError($e->getMessage());
}
- if($aid&&$organ_res&&$ltai_res&&$author_res&&$ato_res&&$ca_au_id){
+ if ($aid && $organ_res && $ltai_res && $author_res && $ato_res && $ca_au_id) {
Db::commit();
- $this->pushDoiToCrossref($data['doi'],$aid);
+ $this->pushDoiToCrossref($data['doi'], $aid);
$this->pushEmailToAuthor($aid);
- return jsonSuccess(['article_id'=>$aid]);
+ $this->addArticleMain($aid,$data['p_article_id']);
+ return jsonSuccess(['article_id' => $aid]);
} else {
Db::rollback();
return jsonError('system error');
@@ -538,7 +554,43 @@ class Article extends Controller {
}
- private function pushDoiToCrossref($doi,$article_id){
+
+ public function addArticleMainForSubmission(){
+ $data = $this->request->post();
+ $rule = new Validate([
+ "article_id"=>"require",
+ "p_article_id"=>"require"
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ $check = $this->article_main_obj->where('article_id',$data['article_id'])->where('state',0)->find();
+ if($check){
+ return jsonError("Repeated submission");
+ }
+ $this->addArticleMain($data['article_id'],$data['p_article_id']);
+
+ }
+
+ private function addArticleMain($now_id,$p_id){
+ $url = "http://api.tmrjournals.com/public/index.php/api/Production/getProductionMains";
+ $pra['p_article_id'] = $p_id;
+ $res = object_to_array(json_decode(myPost($url,$pra)));
+ $mains = $res['data']['mains'];
+ if(count($mains)==0){
+ return ;
+ }
+ foreach ($mains as $k => $v){
+ $insert['article_id'] = $now_id;
+ $insert['width'] = isset($v['width'])?$v['width']:0;
+ $insert['content'] = $v['content'];
+ $insert['note'] = isset($v['note'])?$v['note']:'';
+ $this->article_main_obj->insert($insert);
+ }
+ }
+
+ private function pushDoiToCrossref($doi, $article_id)
+ {
$url = 'https://doi.crossref.org/servlet/deposit';
$file = ROOT_PATH . 'public' . DS . 'xml' . DS . $article_id . '.xml';
$d['doi_num'] = $doi;
@@ -558,24 +610,25 @@ class Article extends Controller {
// $this->pushEmailToAuthor(2551);
// }
- private function pushEmailToAuthor($article_id){
- $article_info = $this->article_obj->where('article_id',$article_id)->find();
- $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
- $stage_info = $this->journal_stage_obj->where('journal_stage_id',$article_info['journal_stage_id'])->find();
- $authors = $this->article_author_obj->where('article_id',$article_id)->where('state',0)->select();
+ private function pushEmailToAuthor($article_id)
+ {
+ $article_info = $this->article_obj->where('article_id', $article_id)->find();
+ $journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
+ $stage_info = $this->journal_stage_obj->where('journal_stage_id', $article_info['journal_stage_id'])->find();
+ $authors = $this->article_author_obj->where('article_id', $article_id)->where('state', 0)->select();
- foreach($authors as $v){
- if($v['email']==''){
+ foreach ($authors as $v) {
+ if ($v['email'] == '') {
continue;
}
- $tt = "Dear ".$v['author_name'].",
";
- $tt .= "We are delighted to inform you that your article has been published online in ".$journal_info['title'].". Congratulations on this significant accomplishment! Your article can be found in Vol. ".$stage_info['stage_vol']." Issue ".$stage_info['stage_no']." article link.
";
- $tt .= "We appreciate your decision to choose ".$journal_info['title']." for publishing your research, and we hope that it has been a fulfilling experience for you. We believe that your work will be of great value to the scientific community and will contribute to the advancement of knowledge in your field.
";
+ $tt = "Dear " . $v['author_name'] . ",
";
+ $tt .= "We are delighted to inform you that your article has been published online in " . $journal_info['title'] . ". Congratulations on this significant accomplishment! Your article can be found in Vol. " . $stage_info['stage_vol'] . " Issue " . $stage_info['stage_no'] . " article link.
";
+ $tt .= "We appreciate your decision to choose " . $journal_info['title'] . " for publishing your research, and we hope that it has been a fulfilling experience for you. We believe that your work will be of great value to the scientific community and will contribute to the advancement of knowledge in your field.
";
$tt .= "To help your research reach a broader audience, we recommend utilizing the following channels: ResearchGate, Academia.edu, Twitter, LinkedIn, and Facebook. By sharing your work on these platforms, you can ensure that it receives the attention it deserves.
";
$tt .= "https://www.researchgate.net
https://www.academia.edu
https://twitter.com
https://www.linkedin.com
https://www.facebook.com
";
$tt .= "Once again, congratulations on your publication, and we look forward to receiving more manuscripts from you in the future.";
$maidata['email'] = $v['email'];
- $maidata['title'] = $journal_info['title']."–".$article_info['title'];
+ $maidata['title'] = $journal_info['title'] . "–" . $article_info['title'];
$maidata['content'] = $tt;
$maidata['tmail'] = $journal_info['email'];
$maidata['tpassword'] = $journal_info['epassword'];
@@ -588,18 +641,19 @@ class Article extends Controller {
/**
* 获取online文章列表
*/
- public function getOnlineArticleForSubmit(){
+ public function getOnlineArticleForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'issn'=>'require'
+ 'issn' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
- $stages = $this->journal_stage_obj->where('is_publish',0)->where('journal_id',$journal_info['journal_id'])->where('state',0)->select();
- foreach($stages as $k => $v){
- $cache = $this->article_obj->where('journal_stage_id',$v['journal_stage_id'])->where('state',0)->orderRaw('npp+0')->select();
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
+ $stages = $this->journal_stage_obj->where('is_publish', 0)->where('journal_id', $journal_info['journal_id'])->where('state', 0)->select();
+ foreach ($stages as $k => $v) {
+ $cache = $this->article_obj->where('journal_stage_id', $v['journal_stage_id'])->where('state', 0)->orderRaw('npp+0')->select();
$stages[$k]['articles'] = $cache;
}
$re['stages'] = $stages;
@@ -609,18 +663,19 @@ class Article extends Controller {
/**
* 获取public文章
*/
- public function getArticleForSubmit(){
+ public function getArticleForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'issn'=>'require'
+ 'issn' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
- $stages = $this->journal_stage_obj->where('journal_id',$journal_info['journal_id'])->where('state',0)->select();
- foreach($stages as $k => $v){
- $cache = $this->article_obj->where('journal_stage_id',$v['journal_stage_id'])->where('state',0)->orderRaw('npp+0')->select();
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
+ $stages = $this->journal_stage_obj->where('journal_id', $journal_info['journal_id'])->where('state', 0)->select();
+ foreach ($stages as $k => $v) {
+ $cache = $this->article_obj->where('journal_stage_id', $v['journal_stage_id'])->where('state', 0)->orderRaw('npp+0')->select();
$stages[$k]['articles'] = $cache;
}
$re['stages'] = $stages;
@@ -630,16 +685,17 @@ class Article extends Controller {
/**
* 获取所有分期
*/
- public function getAllStagesForSubmit(){
+ public function getAllStagesForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'issn'=>'require'
+ 'issn' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
- $stages = $this->journal_stage_obj->where('journal_id',$journal_info['journal_id'])->where('state',0)->select();
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
+ $stages = $this->journal_stage_obj->where('journal_id', $journal_info['journal_id'])->where('state', 0)->select();
$re['stages'] = $stages;
return jsonSuccess($re);
}
@@ -647,32 +703,34 @@ class Article extends Controller {
/**
* 编辑文章信息
*/
- public function changeArticleForSubmit(){
+ public function changeArticleForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'article_id'=>'require',
- 'sort'=>'require'
+ 'article_id' => 'require',
+ 'sort' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $this->article_obj->where('article_id',$data['article_id'])->update(['sort'=>$data['sort']]);
+ $this->article_obj->where('article_id', $data['article_id'])->update(['sort' => $data['sort']]);
return jsonSuccess([]);
}
/**
* 更改文章客座
*/
- public function changeArticleSpecialForSubmit(){
+ public function changeArticleSpecialForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'article_id'=>'require',
- 'journal_special_id'=>'require'
+ 'article_id' => 'require',
+ 'journal_special_id' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $this->article_obj->where('article_id',$data['article_id'])->update(['journal_special_id'=>$data['journal_special_id']]);
+ $this->article_obj->where('article_id', $data['article_id'])->update(['journal_special_id' => $data['journal_special_id']]);
return jsonSuccess([]);
}
@@ -713,17 +771,11 @@ class Article extends Controller {
// }
-
-
/**
* @title 获取文章基本信息
* @description 获取文章基本信息
- * @author wangjinleichang
- * @url /master/Article/getArticleBase
- * @method POST
- *
* @param name:article_id type:int require:1 desc:文章id
- *
+ *
* @return journal:期刊信息#
* @return articleInfo:文章详情@
* @articleInfo icon:图片
@@ -736,10 +788,15 @@ class Article extends Controller {
* @articleInfo file_html:html文件
* @articleInfo sort:权重
* @articleInfo pub_date:发表日期
- *
+ *
* @return files:文件列表#
+ * @author wangjinleichang
+ * @url /master/Article/getArticleBase
+ * @method POST
+ *
*/
- public function getArticleBase() {
+ public function getArticleBase()
+ {
$data = $this->request->post();
$article_info = $this->article_obj->where('article_id', $data['article_id'])->find();
@@ -761,7 +818,8 @@ class Article extends Controller {
// return json(['code'=>0,'msg'=>'success','data'=>$article_info]);
}
- public function getHtmlFiles() {
+ public function getHtmlFiles()
+ {
$data = $this->request->post();
$article_info = $this->article_obj->where('article_id', $data['article_id'])->find();
$journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
@@ -783,10 +841,6 @@ class Article extends Controller {
/**
* @title 编辑文章基本信息
* @description 编辑文章基本信息
- * @author wangjinleichang
- * @url /master/Article/editArticleBase
- * @method POST
- *
* @param name:article_id type:int require:1 desc:文章id
* @param name:title type:string require:1 desc:标题
* @param name:subtitle type:string require:0 desc:副标题
@@ -811,17 +865,22 @@ class Article extends Controller {
* @param name:file_html type:string require:0 desc:html文件
* @param name:fund type:string require:1 desc:fund
* @param name:pub_date type:string require:1 desc:发表日期
- *
+ *
+ * @author wangjinleichang
+ * @url /master/Article/editArticleBase
+ * @method POST
+ *
*/
- public function editArticleBase() {
+ public function editArticleBase()
+ {
$data = $this->request->post();
if (isset($data['ltai'])) {
$this->editArticleLtai($data['ltai'], $data['article_id']);
}
$updata['icon'] = $data['icon'];
$updata['title'] = trim($data['title']);
- $updata['subtitle'] = isset($data['subtitle'])?trim($data['subtitle']):'';
- $updata['rotation'] = isset($data['rotation'])?$data['rotation']:'';
+ $updata['subtitle'] = isset($data['subtitle']) ? trim($data['subtitle']) : '';
+ $updata['rotation'] = isset($data['rotation']) ? $data['rotation'] : '';
$updata['journal_stage_id'] = $data['journal_stage_id'];
$updata['journal_special_id'] = $data['journal_special_id'];
$updata['tradition_tag'] = $data['tradition_tag'];
@@ -851,7 +910,8 @@ class Article extends Controller {
// }
}
- private function editArticleLtai($ltai, $article_id) {
+ private function editArticleLtai($ltai, $article_id)
+ {
$list = explode(',', $ltai);
$has = $this->article_ltai_obj->where('article_id', $article_id)->where('state', 0)->select();
foreach ($has as $val) {
@@ -877,24 +937,25 @@ class Article extends Controller {
/**
* 获取关键词文章
*/
- public function getKeywordArticleOrderJournalForSubmit(){
+ public function getKeywordArticleOrderJournalForSubmit()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'keyword'=>'require'
+ 'keyword' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
$articles = $this->article_obj
->field('j_article.*,j_journal.title journal_title')
- ->join('j_journal','j_journal.journal_id = j_article.journal_id','left')
- ->where('j_article.title|j_article.abstract|j_article.keywords','like',"%".$data['keyword']."%")
- ->where('j_article.state',0)->order('journal_id')
+ ->join('j_journal', 'j_journal.journal_id = j_article.journal_id', 'left')
+ ->where('j_article.title|j_article.abstract|j_article.keywords', 'like', "%" . $data['keyword'] . "%")
+ ->where('j_article.state', 0)->order('journal_id')
->select();
$journals = [];
- foreach($articles as $v){
- if(!isset($journals[$v['journal_title']])){
- $cache_journal = $this->journal_obj->where('journal_id',$v['journal_id'])->find();
+ foreach ($articles as $v) {
+ if (!isset($journals[$v['journal_title']])) {
+ $cache_journal = $this->journal_obj->where('journal_id', $v['journal_id'])->find();
$journals[$cache_journal['title']] = $cache_journal;
$journals[$cache_journal['title']]['articles'] = [];
}
@@ -908,16 +969,17 @@ class Article extends Controller {
/**
* @title 编辑文章文件信息
* @description 编辑文章文件信息
- * @author wangjinleichang
- * @url /master/Article/editArticleFile
- * @method POST
- *
* @param name:article_id type:int require:1 desc:文章id
* @param name:filetype type:string require:1 desc:文件类型(PDF/HTML/SUB/SUB2/endNote/bibTex/CDF)
* @param name:fileURL type:string require:1 desc:文件地址
- *
+ *
+ * @author wangjinleichang
+ * @url /master/Article/editArticleFile
+ * @method POST
+ *
*/
- public function editArticleFile() {
+ public function editArticleFile()
+ {
$data = $this->request->post();
if ($data['filetype'] == 'PDF') {
$updata['file_pdf'] = $data['fileURL'];
@@ -931,7 +993,7 @@ class Article extends Controller {
$updata['endnote'] = $data['fileURL'];
} elseif ($data['filetype'] == 'bibTex') {
$updata['bibtex'] = $data['fileURL'];
- }elseif($data['filetype'] == 'CDF'){
+ } elseif ($data['filetype'] == 'CDF') {
$updata['file_cdf'] = $data['fileURL'];
}
$this->article_obj->where('article_id', $data['article_id'])->update($updata);
@@ -941,31 +1003,32 @@ class Article extends Controller {
/**
* @title 获取文章列表
* @description 获取文章列表
- * @author wangjinleichang
- * @url /master/Article/getArticleList
- * @method POST
- *
* @param name:journal_id type:int default:0 require:1 desc:主键
* @param name:journal_stage_id type:int default:0 require:1 desc:主键
* @param name:editor_id type:int require:1 desc:编辑id
* @param name:seach type:string require:0 desc:关键词
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
- *
+ *
* @return count:总数据数
* @return articleList:array#
+ * @author wangjinleichang
+ * @url /master/Article/getArticleList
+ * @method POST
+ *
*/
- public function getArticleList() {
+ public function getArticleList()
+ {
$data = $this->request->post();
$where['j_article.state'] = 0;
if (intval($data['journal_id']) !== 0) {
$where['j_article.journal_id'] = $data['journal_id'];
} else {
$journals = [];
- if(isset($data['editor_id'])&&$data['editor_id']!=''){
+ if (isset($data['editor_id']) && $data['editor_id'] != '') {
$journals = $this->journal_obj->where('editor_id', $data['editor_id'])->column('journal_id');
- }else{
- $journals = $this->journal_obj->where('state',0)->column('journal_id');
+ } else {
+ $journals = $this->journal_obj->where('state', 0)->column('journal_id');
}
$where['j_article.journal_id'] = ['in', $journals];
}
@@ -985,12 +1048,12 @@ class Article extends Controller {
}
$article_list[$k]['title'] = $cache_title;
//获取药剂信息
- $atm = $this->article_to_medicament_obj->where('article_id',$v['article_id'])->where('atm_state',0)->find();
- if($atm){
- $med_info = $this->medicament_obj->where('med_id',$atm['med_id'])->where('med_state',0)->find();
+ $atm = $this->article_to_medicament_obj->where('article_id', $v['article_id'])->where('atm_state', 0)->find();
+ if ($atm) {
+ $med_info = $this->medicament_obj->where('med_id', $atm['med_id'])->where('med_state', 0)->find();
$article_list[$k]['med_title'] = $med_info['med_title'];
$article_list[$k]['med_ename'] = $med_info['med_ename'];
- }else{
+ } else {
$article_list[$k]['med_title'] = '';
$article_list[$k]['med_ename'] = '';
}
@@ -999,10 +1062,11 @@ class Article extends Controller {
return json(['code' => 0, 'msg' => 'success', 'data' => ['count' => $count, 'articleList' => $article_list]]);
}
- public function getArticleListForSubmit() {
+ public function getArticleListForSubmit()
+ {
$data = $this->request->post();
$where['j_article.state'] = 0;
- $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
$where['j_article.journal_id'] = $journal_info['journal_id'];
if (intval($data['journal_stage_id']) !== 0) {
$where['j_article.journal_stage_id'] = $data['journal_stage_id'];
@@ -1010,15 +1074,15 @@ class Article extends Controller {
if (isset($data['seach']) && $data['seach'] != '') {
$where['j_article.title'] = ['like', '%' . $data['seach'] . '%'];
}
- $where['j_journal_stage.is_publish']=1;
+ $where['j_journal_stage.is_publish'] = 1;
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$article_list = $this->article_obj->field('j_article.*,j_journal_stage.*,j_journal.title journal_title')
- ->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'], ['j_journal', 'j_journal.journal_id=j_article.journal_id', 'LEFT']))
- ->where($where)
- ->order('j_journal_stage.journal_stage_id desc')
- ->orderRaw('j_article.npp+0')
- ->limit($limit_start, $data['pageSize'])
- ->select();
+ ->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'], ['j_journal', 'j_journal.journal_id=j_article.journal_id', 'LEFT']))
+ ->where($where)
+ ->order('j_journal_stage.journal_stage_id desc')
+ ->orderRaw('j_article.npp+0')
+ ->limit($limit_start, $data['pageSize'])
+ ->select();
foreach ($article_list as $k => $v) {
$caches = $this->article_ltai_obj->where('article_id', $v['article_id'])->where('state', 0)->column('content');
$cache_title = $v['title'];
@@ -1027,35 +1091,37 @@ class Article extends Controller {
}
$article_list[$k]['title'] = $cache_title;
//获取药剂信息
- $atm = $this->article_to_medicament_obj->where('article_id',$v['article_id'])->where('atm_state',0)->find();
- if($atm){
- $med_info = $this->medicament_obj->where('med_id',$atm['med_id'])->where('med_state',0)->find();
+ $atm = $this->article_to_medicament_obj->where('article_id', $v['article_id'])->where('atm_state', 0)->find();
+ if ($atm) {
+ $med_info = $this->medicament_obj->where('med_id', $atm['med_id'])->where('med_state', 0)->find();
$article_list[$k]['med_title'] = $med_info['med_title'];
$article_list[$k]['med_ename'] = $med_info['med_ename'];
- }else{
+ } else {
$article_list[$k]['med_title'] = '';
$article_list[$k]['med_ename'] = '';
}
+ $article_list[$k]['mains'] = $this->article_main_obj->where('article_id',$v['article_id'])->where('state',0)->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_journal.journal_id=j_article.journal_id', 'LEFT']))
- ->where($where)->count();
+ ->join(array(['j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT'], ['j_journal', 'j_journal.journal_id=j_article.journal_id', 'LEFT']))
+ ->where($where)->count();
return json(['code' => 0, 'msg' => 'success', 'data' => ['count' => $count, 'articleList' => $article_list]]);
}
/**
* @title 获取文章对应期刊话题
* @description 获取文章对应期刊话题
+ * @param name:article_id type:int require:1 desc:期刊id
+ *
+ * @return topics:array#
+ * @return nowtopic:array#
* @author wangjinlei
* @url /master/Article/getTopicByArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:期刊id
- *
- * @return topics:array#
- * @return nowtopic:array#
+ *
*/
- public function getTopicByArticle() {
+ public function getTopicByArticle()
+ {
$data = $this->request->post();
$article_info = $this->article_obj->where('article_id', $data['article_id'])->find();
$topic_res = $this->journal_topic_obj->where('journal_id', $article_info['journal_id'])->where('state', 0)->select();
@@ -1073,7 +1139,8 @@ class Article extends Controller {
return json(['code' => 0, 'msg' => 'success', 'data' => ['nowtopic' => $now_list, 'topics' => $frag]]);
}
- private function getTname($now, $arr) {
+ private function getTname($now, $arr)
+ {
if ($now['parent_id'] == 0) {
return $now['title'];
} else {
@@ -1090,15 +1157,16 @@ class Article extends Controller {
/**
* @title 增加文章话题
* @description 增加文章话题
+ * @param name:article_id type:int require:1 desc:期刊id
+ * @param name:topic_id type:int require:1 desc:话题id
+ *
* @author wangjinlei
* @url /master/Article/addTopicByArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:期刊id
- * @param name:topic_id type:int require:1 desc:话题id
- *
+ *
*/
- public function addTopicByArticle() {
+ public function addTopicByArticle()
+ {
$data = $this->request->post();
$insert['article_id'] = $data['article_id'];
$insert['topic_id'] = $data['topic_id'];
@@ -1111,28 +1179,29 @@ class Article extends Controller {
return json(['code' => 1, 'msg' => 'system error']);
}
}
-
-
- private function msg_subscribe_base_topic($topic_id,$article_id){
- $article_info = $this->article_obj->where('article_id',$article_id)->find();
- $topic_info = $this->journal_topic_obj->where('journal_topic_id',$topic_id)->find();
- $base_topic_info = $this->base_topic_obj->where('title',$topic_info['title'])->find();
- $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
- if($base_topic_info==null){
- return ;
+
+
+ private function msg_subscribe_base_topic($topic_id, $article_id)
+ {
+ $article_info = $this->article_obj->where('article_id', $article_id)->find();
+ $topic_info = $this->journal_topic_obj->where('journal_topic_id', $topic_id)->find();
+ $base_topic_info = $this->base_topic_obj->where('title', $topic_info['title'])->find();
+ $journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
+ if ($base_topic_info == null) {
+ return;
}
- $list = $this->subscribe_base_topic_obj->where('base_topic_id',$base_topic_info['base_topic_id'])->where('state',0)->select();
-
+ $list = $this->subscribe_base_topic_obj->where('base_topic_id', $base_topic_info['base_topic_id'])->where('state', 0)->select();
+
$title = 'These new articles included in TMRDE database are available online.';
$tt = 'Dear Researcher,
';
$tt .= 'It is our great honor to present you the articles included in TMRDE.The following new articles have just been included.
';
- $tt .= ''.$article_info['title'].'
';
- foreach ($list as $v){
- $tt1='';
+ $tt .= '' . $article_info['title'] . '
';
+ foreach ($list as $v) {
+ $tt1 = '';
$tt1 .= $tt;
$tt1 .= 'Unsubscribe
';
- $tt1 .= 'Email:'.$journal_info['email'].'
';
- $tt1 .= 'Website:'.$journal_info['website'].'
';
+ $tt1 .= 'Email:' . $journal_info['email'] . '
';
+ $tt1 .= 'Website:' . $journal_info['website'] . '
';
$tt1 .= 'TMR Publishing Group Ltd.
';
$tt1 .= '11 Cockle Bay Rd, Cockle Bay, Auckland, New Zealand
';
$tt1 .= 'Tel: +64 02108293806.';
@@ -1143,10 +1212,11 @@ class Article extends Controller {
$maidata['tpassword'] = 'pRWU999999';
Queue::push('app\api\job\mail@fire', $maidata, "mail");
}
-
+
}
- private function msg_subscript_topic($topic_id, $article_id) {
+ private function msg_subscript_topic($topic_id, $article_id)
+ {
$article_info = $this->article_obj->where('article_id', $article_id)->find();
$stage_info = $this->journal_stage_obj->where('journal_stage_id', $article_info['journal_stage_id'])->find();
$topic_info = $this->journal_topic_obj->where('journal_topic_id', $topic_id)->find();
@@ -1198,7 +1268,8 @@ class Article extends Controller {
}
}
- private function getAuthor($article) {
+ private function getAuthor($article)
+ {
$where['article_id'] = $article['article_id'];
$where['state'] = 0;
$list = $this->article_author_obj->where($where)->select();
@@ -1212,14 +1283,15 @@ class Article extends Controller {
/**
* @title 删除文章话题
* @description 删除文章话题
+ * @param name:article_to_topic_id type:int require:1 desc:主键id
+ *
* @author wangjinlei
* @url /master/Article/delTopic
* @method POST
- *
- * @param name:article_to_topic_id type:int require:1 desc:主键id
- *
+ *
*/
- public function delTopic() {
+ public function delTopic()
+ {
$data = $this->request->post();
$res = $this->article_to_topic_obj->where('article_to_topic_id', $data['article_to_topic_id'])->update(['state' => 1]);
if ($res) {
@@ -1249,15 +1321,16 @@ class Article extends Controller {
/**
* @title 图片上传
* @description 图片上传
+ * @param name:name type:string require:1 default:articleicon desc:文件域名称
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/up_article_file
* @method POST
- *
- * @param name:name type:string require:1 default:articleicon desc:文件域名称
- *
- * @return upurl:图片地址
+ *
*/
- public function up_article_file() {
+ public function up_article_file()
+ {
$file = request()->file('articleicon');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleicon');
@@ -1268,19 +1341,20 @@ class Article extends Controller {
}
}
}
-
+
/**
* @title 轮播图上传
* @description 轮播图上传
+ * @param name:name type:string require:1 default:rotation desc:文件域名称
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/up_rotation_file
* @method POST
- *
- * @param name:name type:string require:1 default:rotation desc:文件域名称
- *
- * @return upurl:图片地址
+ *
*/
- public function up_rotation_file(){
+ public function up_rotation_file()
+ {
$file = request()->file('rotation');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'rotation');
@@ -1295,15 +1369,16 @@ class Article extends Controller {
/**
* @title cite图片上传
* @description cite图片上传
+ * @param name:name type:string require:1 default:articleCite desc:文件域名称
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/up_cite_file
* @method POST
- *
- * @param name:name type:string require:1 default:articleCite desc:文件域名称
- *
- * @return upurl:图片地址
+ *
*/
- public function up_cite_file() {
+ public function up_cite_file()
+ {
$file = request()->file('articleCite');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleCite');
@@ -1314,19 +1389,20 @@ class Article extends Controller {
}
}
}
-
+
/**
* @title CDF文件上传
* @description CDF文件上传
+ * @param name:name type:string require:1 default:articleCDF desc:文件域名称
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/up_cdf_file
* @method POST
- *
- * @param name:name type:string require:1 default:articleCDF desc:文件域名称
- *
- * @return upurl:图片地址
+ *
*/
- public function up_cdf_file(){
+ public function up_cdf_file()
+ {
$file = request()->file('articleCDF');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleCDF');
@@ -1337,19 +1413,20 @@ class Article extends Controller {
}
}
}
-
+
/**
* @title imgCome文件上传
* @description imgCome文件上传
+ * @param name:name type:string require:1 default:imgCome desc:文件域名称
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/up_imgCome_file
* @method POST
- *
- * @param name:name type:string require:1 default:imgCome desc:文件域名称
- *
- * @return upurl:图片地址
+ *
*/
- public function up_imgCome_file(){
+ public function up_imgCome_file()
+ {
$file = request()->file('imgCome');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'imgCome');
@@ -1362,13 +1439,14 @@ class Article extends Controller {
}
- public function getArticleReportAuthors(){
+ public function getArticleReportAuthors()
+ {
$num = $this->request->post('num');
$size = 500;
- $f = ($num-1)*$size;
- $list = $this->article_obj->field("j_article.*,j_journal.title journal_title")->join("j_journal",'j_journal.journal_id=j_article.journal_id','left')->where('j_article.state',0)->limit($f,$size)->select();
- foreach($list as $k => $v){
- $author = $this->article_author_obj->where('article_id',$v['article_id'])->where('is_report',1)->where('state',0)->select();
+ $f = ($num - 1) * $size;
+ $list = $this->article_obj->field("j_article.*,j_journal.title journal_title")->join("j_journal", 'j_journal.journal_id=j_article.journal_id', 'left')->where('j_article.state', 0)->limit($f, $size)->select();
+ foreach ($list as $k => $v) {
+ $author = $this->article_author_obj->where('article_id', $v['article_id'])->where('is_report', 1)->where('state', 0)->select();
$list[$k]['author'] = $author;
}
$re['list'] = $list;
@@ -1378,16 +1456,17 @@ class Article extends Controller {
/**
* @title 文章文件上传
* @description 文章文件上传
+ * @param name:name type:string require:1 desc:文件域名称(articlePDF/articleHTML/articleSUB/articleSUB2/bibTex/endNote/articleCDF)
+ * @param name:type type:string require:1 desc:pathinfo(articlePDF/articleHTML/articleSUB/articleSUB2/bibTex/endNote/articleCDF)
+ *
+ * @return upurl:图片地址
* @author wangjinlei
* @url /master/Article/article_file
* @method GET
- *
- * @param name:name type:string require:1 desc:文件域名称(articlePDF/articleHTML/articleSUB/articleSUB2/bibTex/endNote/articleCDF)
- * @param name:type type:string require:1 desc:pathinfo(articlePDF/articleHTML/articleSUB/articleSUB2/bibTex/endNote/articleCDF)
- *
- * @return upurl:图片地址
+ *
*/
- public function article_file($type) {
+ public function article_file($type)
+ {
$file = request()->file($type);
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . $type);
@@ -1402,13 +1481,14 @@ class Article extends Controller {
/**
* @title 获取城市列表
* @description 获取城市列表
+ * @return countrys:array#
* @author wangjinlei
* @url /master/Article/getCountrys
* @method POST
- *
- * @return countrys:array#
+ *
*/
- public function getCountrys() {
+ public function getCountrys()
+ {
$res = $this->country_obj->order('en_name')->select();
return json(['code' => 0, 'msg' => 'success', 'data' => ['countrys' => $res]]);
}
@@ -1416,15 +1496,16 @@ class Article extends Controller {
/**
* @title 获取客座话题
* @description 获取客座话题
+ * @param name:journal_id type:int require:1 desc:期刊id
+ *
+ * @return specials:客座期刊array#
* @author wangjinlei
* @url /master/Article/getJournalSpecials
* @method POST
- *
- * @param name:journal_id type:int require:1 desc:期刊id
- *
- * @return specials:客座期刊array#
+ *
*/
- public function getJournalSpecials() {
+ public function getJournalSpecials()
+ {
$data = $this->request->post();
$list = $this->journal_special_obj->where('journal_id', $data['journal_id'])->where('state', 2)->select();
@@ -1435,10 +1516,6 @@ class Article extends Controller {
/**
* @title 添加文章引用申请
* @description 添加文章引用申请
- * @author wangjinlei
- * @url /master/Article/addArticleCite
- * @method POST
- *
* @param name:article_id type:int require:1 desc:文章id
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:img type:string require:1 desc:地址
@@ -1446,10 +1523,15 @@ class Article extends Controller {
* @param name:article_name type:string require:1 desc:文章名
* @param name:factor type:string require:1 desc:影响因子
* @param name:adate type:string require:1 desc:引用时间
- *
+ *
* @return specials:客座期刊array#
+ * @author wangjinlei
+ * @url /master/Article/addArticleCite
+ * @method POST
+ *
*/
- public function addArticleCite() {
+ public function addArticleCite()
+ {
$data = $this->request->post();
$insert['article_id'] = $data['article_id'];
$insert['journal_id'] = $data['journal_id'];
@@ -1466,23 +1548,24 @@ class Article extends Controller {
/**
* @title 获取文章引用申请列表(编辑)
* @description 获取文章引用申请列表
+ * @param name:admin_id type:int require:1 desc:管理员id
+ *
+ * @return cites:信息array#
* @author wangjinlei
* @url /master/Article/getArticleCites
* @method POST
- *
- * @param name:admin_id type:int require:1 desc:管理员id
- *
- * @return cites:信息array#
+ *
*/
- public function getArticleCites() {
+ public function getArticleCites()
+ {
$data = $this->request->post();
$journals = $this->journal_obj->where('editor_id', $data['admin_id'])->where('state', 0)->column('journal_id');
$list = $this->article_cite_obj
- ->field('j_article_cite.*,j_journal.title journal_title')
- ->join('j_journal', 'j_journal.journal_id = j_article_cite.journal_id', 'left')
- ->where('j_article_cite.journal_id', 'in', $journals)
- ->order('j_article_cite.state asc,j_article_cite.article_cite_id asc')
- ->select();
+ ->field('j_article_cite.*,j_journal.title journal_title')
+ ->join('j_journal', 'j_journal.journal_id = j_article_cite.journal_id', 'left')
+ ->where('j_article_cite.journal_id', 'in', $journals)
+ ->order('j_article_cite.state asc,j_article_cite.article_cite_id asc')
+ ->select();
$re['cites'] = $list;
return jsonSuccess($re);
@@ -1491,16 +1574,17 @@ class Article extends Controller {
/**
* @title 获取文章引用列表(编辑)
* @description 获取文章引用列表
+ * @param name:article_id type:int require:1 desc:文章id
+ *
+ * @return cites:信息array#
+ * @return article:文章信息#
* @author wangjinlei
* @url /master/Article/getCitesByArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:文章id
- *
- * @return cites:信息array#
- * @return article:文章信息#
+ *
*/
- public function getCitesByArticle() {
+ public function getCitesByArticle()
+ {
$data = $this->request->post();
$article_info = $this->article_obj->where('article_id', $data['article_id'])->find();
$list = $this->article_cite_obj->where('article_id', $data['article_id'])->order('state asc,article_cite_id asc')->select();
@@ -1513,18 +1597,19 @@ class Article extends Controller {
/**
* @title 获取文章引用申请列表(管理员)
* @description 获取文章引用申请列表(管理员)
- * @author wangjinlei
- * @url /master/Article/getAllArticleCites
- * @method POST
- *
* @param name:state type:int require:1 desc:状态-1,0,1,2
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
- *
+ *
* @return count:总数
* @return cites:信息array#
+ * @author wangjinlei
+ * @url /master/Article/getAllArticleCites
+ * @method POST
+ *
*/
- public function getAllArticleCites() {
+ public function getAllArticleCites()
+ {
$data = $this->request->post();
$where = [];
if ($data['state'] >= 0) {
@@ -1532,12 +1617,12 @@ class Article extends Controller {
}
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_cite_obj
- ->field('j_article_cite.*,j_journal.title journal_title')
- ->join('j_journal', 'j_journal.journal_id = j_article_cite.journal_id', 'left')
- ->where($where)
- ->order('j_article_cite.state asc,j_article_cite.article_cite_id asc')
- ->limit($limit_start, $data['pageSize'])
- ->select();
+ ->field('j_article_cite.*,j_journal.title journal_title')
+ ->join('j_journal', 'j_journal.journal_id = j_article_cite.journal_id', 'left')
+ ->where($where)
+ ->order('j_article_cite.state asc,j_article_cite.article_cite_id asc')
+ ->limit($limit_start, $data['pageSize'])
+ ->select();
$count = $this->article_cite_obj->where($where)->count();
$re['count'] = $count;
@@ -1548,15 +1633,16 @@ class Article extends Controller {
/**
* @title 获取文章引用详情
* @description 获取文章引用详情
+ * @param name:article_cite_id type:int require:1 desc:主键
+ *
+ * @return cite:信息#
* @author wangjinlei
* @url /master/Article/getCiteDetail
* @method POST
- *
- * @param name:article_cite_id type:int require:1 desc:主键
- *
- * @return cite:信息#
+ *
*/
- public function getCiteDetail() {
+ public function getCiteDetail()
+ {
$data = $this->request->post();
$cite_info = $this->article_cite_obj->where('article_cite_id', $data['article_cite_id'])->find();
@@ -1567,14 +1653,15 @@ class Article extends Controller {
/**
* @title 审核文章引用
* @description 审核文章引用
+ * @param name:article_cite_id type:int require:1 desc:主键
+ * @param name:state type:int require:1 desc:状态1通过2驳回
* @author wangjinlei
* @url /master/Article/changeCiteState
* @method POST
- *
- * @param name:article_cite_id type:int require:1 desc:主键
- * @param name:state type:int require:1 desc:状态1通过2驳回
+ *
*/
- public function changeCiteState() {
+ public function changeCiteState()
+ {
$data = $this->request->post();
$this->article_cite_obj->where('article_cite_id', $data['article_cite_id'])->update(['state' => $data['state'], 'atime' => time()]);
if ($data['state'] == 1) {
@@ -1588,13 +1675,14 @@ class Article extends Controller {
/**
* @title 获取期刊引用
* @description 获取期刊引用
+ * @param name:issn type:string require:1 desc:issn号
* @author wangjinlei
* @url /master/Article/getJournalCites
* @method POST
- *
- * @param name:issn type:string require:1 desc:issn号
+ *
*/
- public function getJournalCites() {
+ public function getJournalCites()
+ {
$data = $this->request->post();
$journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
$c_time = strtotime("-1 month", strtotime(date('Y-m') . '-26 00:00:00'));
@@ -1610,14 +1698,15 @@ class Article extends Controller {
/**
* @title 推送crossref
* @description 推送crossref
+ * @param name:doi_num type:string require:1 desc:doi号
+ * @param name:article_id type:int require:1 desc:文章id
* @author wangjinlei
* @url /master/Article/pushCrossref
* @method POST
- *
- * @param name:doi_num type:string require:1 desc:doi号
- * @param name:article_id type:int require:1 desc:文章id
+ *
*/
- public function pushCrossref() {
+ public function pushCrossref()
+ {
$data = $this->request->post();
$has = $this->article_obj->where('doi', '10.53388/' . $data['doi_num'])->find();
@@ -1652,7 +1741,8 @@ class Article extends Controller {
return jsonSuccess([]);
}
- private function myPost($url, $param = array()) {
+ private function myPost($url, $param = array())
+ {
// if (!is_array($param)) {
// throw new Exception("参数必须为array");
// }
@@ -1684,13 +1774,13 @@ class Article extends Controller {
// if(!$rule->check($data)){
// return jsonError($rule->getError());
// }
-
+
// $limit_start = ($data['num'] - 1) * 20;
// $list = $this->article_obj->where('doi','like',"10.12032%")->where('state',0)->limit($limit_start,20)->select();
// foreach($list as $v){
// $c = explode('/',$v['doi']);
-
+
// $author = $this->article_author_obj->where('article_id', $v['article_id'])->where('state', 0)->find();
// if ($author == null) {
// continue;
@@ -1718,11 +1808,12 @@ class Article extends Controller {
// // echo '10.53388/'.$c[1];
// // echo '
';
// }
-
+
// // dump($list);
// }
- public function crossRef($data) {
+ public function crossRef($data)
+ {
$xml = '';
//create xml 头
$xml .= '' . PHP_EOL;
@@ -1771,7 +1862,7 @@ class Article extends Controller {
$xml .= '' . PHP_EOL;
}
$xml .= '' . $v['first_name'] . '' . PHP_EOL;
- $xml .= '' . ($v['last_name']==''?$v['first_name']:$v['last_name']) . '' . PHP_EOL;
+ $xml .= '' . ($v['last_name'] == '' ? $v['first_name'] : $v['last_name']) . '' . PHP_EOL;
$xml .= '' . PHP_EOL;
}
$xml .= '' . PHP_EOL;
@@ -1788,11 +1879,11 @@ class Article extends Controller {
$xml .= '' . PHP_EOL;
$xml .= '10.53388/' . trim($data['doi_num']) . '' . PHP_EOL;
$xml .= '' . PHP_EOL;
- $xml .= ''.PHP_EOL;
- $xml .= '- '.PHP_EOL;
- $xml .= ''.PHP_EOL;
- $xml .= '
'.PHP_EOL;
- $xml .= ''.PHP_EOL;
+ $xml .= '' . PHP_EOL;
+ $xml .= '- ' . PHP_EOL;
+ $xml .= '' . PHP_EOL;
+ $xml .= '
' . PHP_EOL;
+ $xml .= '' . PHP_EOL;
$xml .= '' . PHP_EOL;
$xml .= '' . PHP_EOL;
$xml .= '' . PHP_EOL;
@@ -1802,7 +1893,8 @@ class Article extends Controller {
file_put_contents($txt, $xml);
}
- private function changDOI() {
+ private function changDOI()
+ {
$list = $this->article_obj->where('journal_id', 14)->where('state', 0)->select();
foreach ($list as $art) {
$ca_doi = explode('/', $art['doi']);
@@ -1810,14 +1902,15 @@ class Article extends Controller {
continue;
}
$doi = '10.53388/' . $ca_doi[1];
- $this->article_obj->where('article_id',$art['article_id'])->update(['doi'=>$doi]);
+ $this->article_obj->where('article_id', $art['article_id'])->update(['doi' => $doi]);
}
}
/**
* 生成xml文件
*/
- private function makeXML() {
+ private function makeXML()
+ {
$xml = '';
//create xml 头
$xml .= '' . PHP_EOL;
@@ -1878,7 +1971,7 @@ class Article extends Controller {
$xml .= '' . PHP_EOL;
}
$xml .= '' . $v['first_name'] . '' . PHP_EOL;
- $xml .= '' . ($v['last_name']==''?$v['first_name']:$v['last_name']) . '' . PHP_EOL;
+ $xml .= '' . ($v['last_name'] == '' ? $v['first_name'] : $v['last_name']) . '' . PHP_EOL;
$xml .= '' . PHP_EOL;
}
$xml .= '' . PHP_EOL;
@@ -1905,103 +1998,107 @@ class Article extends Controller {
$txt = ROOT_PATH . 'public' . DS . 'xml' . DS . 'all_1.xml';
file_put_contents($txt, $xml);
}
-
+
/**
* @title 增加相关文章
* @description 增加相关文章
+ * @param name:article_id type:int require:1 desc:文章id
+ * @param name:add_article_id type:int require:1 desc:增加的文章id
* @author wangjinlei
* @url /master/Article/addRelatedArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:文章id
- * @param name:add_article_id type:int require:1 desc:增加的文章id
+ *
*/
- public function addRelatedArticle(){
+ public function addRelatedArticle()
+ {
$data = $this->request->post();
$rule = new Validate([
- 'article_id'=>'require',
- 'add_article_id'=>'require'
+ 'article_id' => 'require',
+ 'add_article_id' => 'require'
]);
- if(!$rule->check($data)){
+ if (!$rule->check($data)) {
return jsonError($rule->getError());
}
- $article_info = $this->article_obj->where('article_id',$data['article_id'])->find();
+ $article_info = $this->article_obj->where('article_id', $data['article_id'])->find();
$frag = [];
- if($article_info['related']==""){
+ if ($article_info['related'] == "") {
$frag[] = $data['add_article_id'];
- }else{
- if(in_array($data['add_article_id'], object_to_array(json_decode($article_info['related'])))){
+ } else {
+ if (in_array($data['add_article_id'], object_to_array(json_decode($article_info['related'])))) {
return jsonError("重复添加!!");
}
- $frag = array_merge(object_to_array(json_decode($article_info['related'])),[$data['add_article_id']]);
+ $frag = array_merge(object_to_array(json_decode($article_info['related'])), [$data['add_article_id']]);
}
- $this->article_obj->where("article_id",$data['article_id'])->update(['related'=> json_encode($frag)]);
+ $this->article_obj->where("article_id", $data['article_id'])->update(['related' => json_encode($frag)]);
return jsonSuccess([]);
}
-
+
/**
* @title 删除相关文章
* @description 删除相关文章
+ * @param name:article_id type:int require:1 desc:文章id
+ * @param name:del_article_id type:int require:1 desc:增加的文章id
* @author wangjinlei
* @url /master/Article/delRelatedArticle
* @method POST
- *
- * @param name:article_id type:int require:1 desc:文章id
- * @param name:del_article_id type:int require:1 desc:增加的文章id
+ *
*/
- public function delRelatedArticle(){
+ public function delRelatedArticle()
+ {
$data = $this->request->post();
- $article_info = $this->article_obj->where("article_id",$data['article_id'])->find();
+ $article_info = $this->article_obj->where("article_id", $data['article_id'])->find();
$frag = object_to_array(json_decode($article_info['related']));
- foreach ($frag as $k => $v){
- if($v==$data['del_article_id']){
+ foreach ($frag as $k => $v) {
+ if ($v == $data['del_article_id']) {
unset($frag[$k]);
}
}
- $this->article_obj->where("article_id",$data['article_id'])->update(['related'=> json_encode($frag)]);
+ $this->article_obj->where("article_id", $data['article_id'])->update(['related' => json_encode($frag)]);
return jsonSuccess([]);
}
-
+
/**
* @title 获取相关文章
* @description 获取相关文章
+ * @param name:article_id type:int require:1 desc:文章id
+ *
+ * @return articles:文章列表#
* @author wangjinlei
* @url /master/Article/getRelatedArticles
* @method POST
- *
- * @param name:article_id type:int require:1 desc:文章id
- *
- * @return articles:文章列表#
+ *
*/
- public function getRelatedArticles(){
+ public function getRelatedArticles()
+ {
$data = $this->request->post();
- $article_info = $this->article_obj->where("article_id",$data['article_id'])->find();
+ $article_info = $this->article_obj->where("article_id", $data['article_id'])->find();
$list = $this->article_obj
->field("j_article.*,j_journal.title journal_title")
- ->join('j_journal','j_journal.journal_id = j_article.journal_id','left')
- ->where("j_article.article_id","in", object_to_array(json_decode($article_info['related'])))
+ ->join('j_journal', 'j_journal.journal_id = j_article.journal_id', 'left')
+ ->where("j_article.article_id", "in", object_to_array(json_decode($article_info['related'])))
->select();
$re['articles'] = $list;
return jsonSuccess($re);
}
-
+
/**
* @title 获取期刊全部文章按分期划分
* @description 获取期刊全部文章按分期划分
+ * @param name:journal_id type:int require:1 desc:期刊id
+ *
+ * @return stages:文章列表#
* @author wangjinlei
* @url /master/Article/getArticlesByStages
* @method POST
- *
- * @param name:journal_id type:int require:1 desc:期刊id
- *
- * @return stages:文章列表#
+ *
*/
- public function getArticlesByStages(){
+ public function getArticlesByStages()
+ {
$data = $this->request->post();
//获取期刊分期
- $stage = $this->journal_stage_obj->where('journal_id',$data['journal_id'])->where("state",0)->order('stage_vol desc,stage_no')->select();
- foreach ($stage as $k => $v){
- $stage[$k]['articles'] = $this->article_obj->where('journal_stage_id',$v['journal_stage_id'])->where('state',0)->select();
+ $stage = $this->journal_stage_obj->where('journal_id', $data['journal_id'])->where("state", 0)->order('stage_vol desc,stage_no')->select();
+ foreach ($stage as $k => $v) {
+ $stage[$k]['articles'] = $this->article_obj->where('journal_stage_id', $v['journal_stage_id'])->where('state', 0)->select();
}
$re['stages'] = $stage;
return jsonSuccess($re);
@@ -2010,14 +2107,15 @@ class Article extends Controller {
/**
* @title 注册doi
* @description 注册doi
+ * @param name:doi type:string require:1 desc:doi号
+ * @param name:article_id type:int require:1 desc:文章id
* @author wangjinlei
* @url /master/Article/agentDOI
* @method POST
- *
- * @param name:doi type:string require:1 desc:doi号
- * @param name:article_id type:int require:1 desc:文章id
+ *
*/
- public function agentDOI() {
+ public function agentDOI()
+ {
$data = $this->request->post();
// $data['doi'] = '10.12032/TMR20210301222';
// $data['article_id'] = 1333;
diff --git a/application/master/controller/Submision.php b/application/master/controller/Submision.php
index 040ccae..948de04 100644
--- a/application/master/controller/Submision.php
+++ b/application/master/controller/Submision.php
@@ -35,6 +35,7 @@ class Submision extends Controller {
protected $subscribe_base_topic_obj = '';
protected $medicament_obj = '';
protected $article_to_medicament_obj = '';
+ protected $article_main_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
@@ -57,6 +58,7 @@ class Submision extends Controller {
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
$this->medicament_obj = Db::name('medicament');
$this->article_to_medicament_obj = Db::name('ArticleToMedicament');
+ $this->article_main_obj = Db::name("article_main");
}
public function getJournalStages(){
@@ -114,6 +116,45 @@ class Submision extends Controller {
return jsonSuccess($re);
}
+ public function getTopicsByIssn(){
+ $data = $this->request->post();
+ $rule = new Validate([
+ 'issn'=>"require"
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ $journal_info = $this->journal_obj->where('issn', $data['issn'])->find();
+ $res = $this->journal_topic_obj
+ ->where('journal_id', $journal_info['journal_id'])
+ ->where('state', 0)
+ ->select();
+ //处理数组
+ $frag = [];
+ foreach ($res as $v) {
+ if ($v['parent_id'] == 0) {
+ $frag[] = $v;
+ }
+ }
+ foreach ($frag as $kk => $vv) {
+ $frag[$kk] = $this->getChieldarr($vv, $res);
+ }
+ $re['topics'] = $frag;
+ return jsonSuccess($re);
+ }
+ private function getChieldarr($vv, $res)
+ {
+ if ($vv['is_final'] == 1) {
+ return $vv;
+ }
+ foreach ($res as $v) {
+ if ($v['parent_id'] == $vv['journal_topic_id']) {
+ $vv['children'][] = $this->getChieldarr($v, $res);
+ }
+ }
+ return $vv;
+ }
+
private function getAuthor($article)
{
$where['article_id'] = $article['article_id'];
@@ -126,4 +167,32 @@ class Submision extends Controller {
return $frag;
}
+ public function getArticleMains(){
+ $data = $this->request->post();
+ $rule = new Validate([
+ "article_id"=>"require"
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ $mains = $this->article_main_obj->where('article_id',$data['article_id'])->where('state',0)->select();
+ $re['mains'] = $mains;
+ return jsonSuccess($re);
+ }
+
+ public function delArticleMain(){
+ $data = $this->request->post();
+ $rule = new Validate([
+ "article_main_id"=>"require"
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ $this->article_main_obj->where('article_main_id',$data['article_main_id'])->update(['state'=>1]);
+ return jsonSuccess([]);
+ }
+
+
+
+
}