1
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace app\api\controller;
|
||||
|
||||
use think\Controller;
|
||||
use think\Db;
|
||||
use think\Validate;
|
||||
use TCPDF;
|
||||
use think\Queue;
|
||||
|
||||
@@ -30,6 +31,8 @@ class Reviewer extends Controller
|
||||
protected $board_to_journal_obj = '';
|
||||
protected $login_auto_obj = '';
|
||||
protected $country_obj = '';
|
||||
protected $user_reviewer_recommend_obj = '';
|
||||
protected $article_msg_obj = '';
|
||||
|
||||
//put your code here
|
||||
public function __construct(\think\Request $request = null)
|
||||
@@ -51,6 +54,8 @@ class Reviewer extends Controller
|
||||
$this->board_to_journal_obj = Db::name('board_to_journal');
|
||||
$this->login_auto_obj = Db::name('login_auto');
|
||||
$this->country_obj = Db::name('country');
|
||||
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
|
||||
$this->article_msg_obj = Db::name('article_msg');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -387,9 +392,9 @@ class Reviewer extends Controller
|
||||
|
||||
//发送email提醒
|
||||
if ($type != 'editor') {
|
||||
$tt = 'Dear editor,<br>';
|
||||
$tt .= 'Please check the new comments from the reviewer.';
|
||||
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
|
||||
$tt = 'Dear editor,<br>';
|
||||
$tt .= 'Please check the new comments from the reviewer.';
|
||||
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 comments from the reviewer.', //邮件内容
|
||||
@@ -712,6 +717,14 @@ class Reviewer extends Controller
|
||||
$this->user_obj->where('user_id', $art_rev_info['reviewer_id'])->setInc('rs_num');
|
||||
}
|
||||
|
||||
//添加文章状态信息
|
||||
$insert_data['article_id'] = $article_info['article_id'];
|
||||
$insert_data['content'] = 'Comments from the reviewer has been received';
|
||||
$insert_data['state_from'] = $article_info['state'];
|
||||
$insert_data['state_to'] = $article_info['state'];
|
||||
$insert_data['ctime'] = time();
|
||||
$this->article_msg_obj->insert($insert_data);
|
||||
|
||||
//记录log
|
||||
//生成pdf文件
|
||||
// $reviewer_pdf = self::pdftest($journal_info['title']);
|
||||
@@ -928,7 +941,7 @@ class Reviewer extends Controller
|
||||
->text($reviewer_info['realname'] == '' ? $reviewer_info['account'] : $reviewer_info['realname'], $ziti, 60, '#000000', [1900, 1700])
|
||||
->text('awarded ' . date('d, F, Y', $article_info['rtime'] == 0 ? $article_info['ctime'] : $article_info['rtime']) . ' to', $ziti, 60, '#000000', [1600, 1500])
|
||||
->text('In recognition of the review made for the journal', $ziti, 80, '#000000', [900, 1900])
|
||||
->text($article_info['title'],$ziti,30,'#000000',[230,2100])
|
||||
->text($article_info['title'], $ziti, 30, '#000000', [230, 2100])
|
||||
->text('The Editors of', $ziti, 65, '#000000', [230, 2345])
|
||||
->text($journal_info['title'], $ziti, 60, '#000000', [830, 2345])
|
||||
->text('Auckland, New Zealand, 2012', $ziti, 60, '#000000', [230, 2500])
|
||||
@@ -990,20 +1003,17 @@ class Reviewer extends Controller
|
||||
$tt .= 'Email:' . $journal_info['email'] . '<br>';
|
||||
$tt .= 'Website:' . $journal_info['website'];
|
||||
|
||||
$sendReviewer = [
|
||||
'title' => $journal_info['title'], // 邮件标题
|
||||
'content' => $tt, //邮件内容
|
||||
'user_id' => $user_info['user_id'], //收件人ID
|
||||
'email' => $user_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', $sendReviewer, 'domail');
|
||||
|
||||
sendEmail($user_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
|
||||
|
||||
//添加文章状态信息
|
||||
$insert_data['article_id'] = $article_info['article_id'];
|
||||
$insert_data['content'] = 'The reviewer has been appointed';
|
||||
$insert_data['state_from'] = $article_info['state'];
|
||||
$insert_data['state_to'] = $article_info['state'];
|
||||
$insert_data['ctime'] = time();
|
||||
$this->article_msg_obj->insert($insert_data);
|
||||
|
||||
|
||||
$re['art_rev_id'] = $res;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
@@ -1033,6 +1043,17 @@ class Reviewer extends Controller
|
||||
$data = $this->request->post();
|
||||
$art_rev_info = $this->article_reviewer_obj->where('art_rev_id', $data['art_rev_id'])->find();
|
||||
if ($art_rev_info['state'] == 5) {
|
||||
//添加找到审稿人信息的article msg
|
||||
$article_info = $this->article_obj->where('article_id',$art_rev_info['article_id'])->find();
|
||||
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
|
||||
//添加文章状态信息
|
||||
$insert_data['article_id'] = $article_info['article_id'];
|
||||
$insert_data['content'] = 'The reviewer has been appointed';
|
||||
$insert_data['state_from'] = $article_info['state'];
|
||||
$insert_data['state_to'] = $article_info['state'];
|
||||
$insert_data['ctime'] = time();
|
||||
$this->article_msg_obj->insert($insert_data);
|
||||
|
||||
$this->article_reviewer_obj->where('art_rev_id', $data['art_rev_id'])->update(['state' => 0]);
|
||||
return jsonSuccess([]);
|
||||
} else {
|
||||
@@ -1657,6 +1678,31 @@ class Reviewer extends Controller
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取作者推荐审稿人
|
||||
*/
|
||||
public function getRecommendReviewer()
|
||||
{
|
||||
$data = $this->request->post();
|
||||
// 验证规则
|
||||
$rule = new Validate([
|
||||
'article_id' => 'require|number'
|
||||
]);
|
||||
if (!$rule->check($data)) {
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
|
||||
$list = $this->user_reviewer_recommend_obj
|
||||
->field("t_user.user_id,t_user.realname,t_reviewer_major.title cmajor,t_user.account,t_user_reviewer_info.company,t_user_reviewer_info.field,t_user.rs_num,t_user.rd_num")
|
||||
->join("t_user", "t_user.user_id = t_user_reviewer_recommend.reviewer_id", "left")
|
||||
->join("t_user_reviewer_info", "t_user_reviewer_info.reviewer_id = t_user_reviewer_recommend.reviewer_id", "left")
|
||||
->join("t_reviewer_major", "t_reviewer_major.major_id = t_user_reviewer_info.cmajor", "left")
|
||||
->where('t_user_reviewer_recommend.article_id', $data['article_id'])
|
||||
->select();
|
||||
$re['reviewers'] = $list;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 获取所有审稿意见
|
||||
* @description 获取所有审稿意见
|
||||
|
||||
@@ -705,18 +705,7 @@ class User extends Controller
|
||||
$url = config('base_web_url') . 'retrieveact?actkey=' . $act_insert['act_key'];
|
||||
$title = 'Your request to reset your password [TMR Publishing Group]';
|
||||
$content = "$realname, we've received your request to reset your password.Please click the link below to change your password. <a href='$url' target='_blank'>$url</a>";
|
||||
//$res = sendEmail($email, $title, 'TMR', $content);
|
||||
$sendUser = [
|
||||
'title' => $title, // 邮件标题
|
||||
'content' => $content, //邮件内容
|
||||
'user_id' => $user['user_id'], //收件人ID
|
||||
'email' => $email, // 收件人邮箱
|
||||
'journal_id' => 0, // 期刊ID
|
||||
'sendEmail' => Env::get('email.send_email'), // 期刊邮箱
|
||||
'sendPassword' => Env::get('email.send_email_password'), // 期刊密码
|
||||
'from_name' => 'TMR'
|
||||
];
|
||||
// $isUserPushed = Queue::push('app\api\job\domail@fire',$sendUser,'domail');
|
||||
$res = sendEmail($email, $title, 'TMR', $content,Env::get('email.send_email'),Env::get("email.send_email_password"));
|
||||
// if ($isUserPushed) {//成功
|
||||
return json(['code' => 0, 'msg' => 'success']);
|
||||
// } else {//失败
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<?php
|
||||
header("Access-Control-Allow-Origin:*");
|
||||
header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
|
||||
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
@@ -16,8 +19,3 @@ define('APP_PATH', __DIR__ . '/../application/');
|
||||
// 加载框架引导文件
|
||||
require __DIR__ . '/../thinkphp/start.php';
|
||||
|
||||
//跨越解决
|
||||
// header("Access-Control-Allow-Origin:*");
|
||||
// header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
|
||||
// header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user