This commit is contained in:
wangjinlei
2022-04-24 09:33:54 +08:00
parent 318222805d
commit de6ccd46ab
4 changed files with 108 additions and 66 deletions

View File

@@ -34,6 +34,7 @@ class Article extends Controller {
protected $article_dialog_obj = '';
protected $article_proposal_obj = '';
protected $user_black_obj = '';
protected $user_reviewer_recommend_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
@@ -59,6 +60,7 @@ class Article extends Controller {
$this->article_dialog_obj = Db::name('article_dialog');
$this->article_proposal_obj = Db::name('article_proposal');
$this->user_black_obj = Db::name('user_black');
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
}
/**
@@ -1312,6 +1314,35 @@ class Article extends Controller {
public function addArticle() {
//接受参数,查询信息
$data = $this->request->post();
// $data['journal'] = 1;
// $data['username'] = 'wangjinlei';
// $data['title'] = 'sadfsq11adf';
// $data['major'] = 2;
// $data['authorList'][0] = [
// 'firstname'=>'name1',
// 'lastname'=>'name22',
// 'orcid'=>'',
// 'company'=>'dsadsa',
// 'department'=>'name1',
// 'title'=>'Assistant Prof.',
// 'country'=>'Angola',
// 'email'=>'sadf@65.com',
// 'address'=>'address',
// 'isSuper'=>'true',
// 'isReport'=>'true'
// ];
// $data['abstrart']='dadsasd';
// $data['type']='A';
// $data['approval']='false';
// $data['istransfer']='false';
// $data['becomeRev']='false';
// $data['keyWords']='sdfsfdf';
// $data['fund']='';
// $data['coverLetter']='';
// $data['totalpage']='';
// $data['manuscirpt']='manuscirpt/20220420/7c9ffb7ff502ec6b6b7642fcba77fa63.rar';
$user_res = $this->user_obj->where('account', $data['username'])->find();
//确定用户是否属于黑名单
@@ -1332,6 +1363,9 @@ class Article extends Controller {
return json(['code'=>1,'msg'=>'Warning: you are re-submitting the article!']);
}
}
Db::startTrans();
//添加文章基础信息
@@ -1384,7 +1418,7 @@ class Article extends Controller {
}
}
//增加articlefile表的信息
$res_file1 = self::save_article_file($res, $user_res['user_id'], $user_res['account'], $data['coverLetter'], 'coverLetter');
$res_file2 = true;
@@ -1401,18 +1435,6 @@ class Article extends Controller {
$tt = 'Dear editor,<br>';
$tt .= 'Please check the new manuscript in the submission system.';
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt,$journal_info['email'],$journal_info['epassword']);
$sendEditor=[
'title'=> $journal_info['title'], // 邮件标题
'content'=>'Dear editor,<br> Please check the new manuscript in the submission system.',//邮件内容
'user_id'=>$editor_info['user_id'], //收件人ID
'email'=>$editor_info['email'],// 收件人邮箱
'journal_id'=>$journal_info['journal_id'], // 期刊ID
'sendEmail'=>$journal_info['email'], // 期刊邮箱
'sendPassword'=>$journal_info['epassword'], // 期刊密码
'from_name'=>$journal_info['title']
];
// Queue::push('app\api\job\domail@fire',$sendEditor,'domail');
$user_rev_info = $this->user_reviewer_info_obj->where("reviewer_id",$user_res['user_id'])->find();
//发送邮件给作者,表示感谢
$tt1 = 'Dear Dr. '.($user_res['realname']==''?$user_res['account']:$user_res['realname']).',<br><br>';
@@ -1432,20 +1454,8 @@ class Article extends Controller {
$tt1 .= 'Email: '.$journal_info['email'].'<br>';
$tt1 .= 'Website: '.$journal_info['website'];
}
$sendUser=[
'title'=> $journal_info['title'], // 邮件标题
'content'=>$tt1,//邮件内容
'user_id'=>$user_res['user_id'], //收件人ID
'email'=>$user_res['email'],// 收件人邮箱
'journal_id'=>$journal_info['journal_id'], // 期刊ID
'sendEmail'=>$journal_info['email'], // 期刊邮箱
'sendPassword'=>$journal_info['epassword'], // 期刊密码
'from_name'=>$journal_info['title']
];
// Queue::push('app\api\job\domail@fire',$sendUser,'domail');
sendEmail($user_res['email'],$journal_info['title'], $journal_info['title'], $tt1,$journal_info['email'],$journal_info['epassword']);
//增加用户操作log
$log_data['user_id'] = $user_res['user_id'];
$log_data['type'] = 0;
@@ -1459,14 +1469,13 @@ class Article extends Controller {
//通讯作者转为审稿人
$this->addReviewerFromArticle($res, $journal_info['journal_id']);
//如果存在推荐审稿人,则执行添加审稿人操作
$res_recommend = true;
//推荐审稿人
$recommend_res = true;
foreach($data['reviewers'] as $v){
$res_recommend = $this->addRecommentReviewer($v,$journal_info['journal_id'],$user_res['user_id'],$res);
$recommend_res = $this->addRecommentReviewer($v,$journal_info['journal_id'],$user_res['user_id'],$res);
}
if ($res && $res_author && $transr && $res_file1 && $res_file2 && $res_file3 && $res_file4 && $res_log && $res_msg && $res_recommend) {
if ($res && $res_author && $transr && $res_file1 && $res_file2 && $res_file3 && $res_file4 && $res_log && $res_msg && $recommend_res) {
Db::commit();
return json(['code' => 0]);
} else {
@@ -1474,7 +1483,7 @@ class Article extends Controller {
return json(['code' => 1]);
}
}
/**
* 添加推荐审稿人
@@ -1494,8 +1503,8 @@ class Article extends Controller {
}
//判断是否是此期刊审稿人
$rtj = $this->reviewer_to_journal_obj->where('journal_id', $journal_id)->where('reviewer_id', $reviewer_info['user_id'])->where('state', 0)->find();
// $res2 = true;
// $res3 = true;
$res2 = true;
$res3 = true;
if ($rtj == null) {
//判断是否具有审稿人身份,并具有审稿人资料
$uri = $this->user_reviewer_info_obj->where('reviewer_id', $reviewer_info['user_id'])->where('state', 0)->find();