This commit is contained in:
Administrator
2022-01-19 17:51:39 +08:00
parent a786f6f8e5
commit 30457f9d79
3 changed files with 352 additions and 125 deletions

View File

@@ -17,22 +17,20 @@ class Auto extends Controller {
protected $article_obj = '';
protected $article_reviewer_obj = '';
protected $user_obj = '';
protected $rev_to_jour_obj = '';
protected $reviewer_obj = '';
protected $journal_obj = '';
protected $article_msg_obj = '';
protected $user_log_obj = '';
protected $reviewer_info_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
$this->article_obj = Db::name('article');
$this->article_reviewer_obj = Db::name('article_reviewer');
$this->user_obj = Db::name('user');
$this->rev_to_jour_obj = Db::name('reviewer_to_journal');
$this->journal_obj = Db::name('journal');
$this->reviewer_obj = Db::name('article_reviewer');
@@ -40,39 +38,39 @@ class Auto extends Controller {
$this->user_log_obj = Db::name('user_log');
$this->reviewer_info_obj = Db::name('user_reviewer_info');
}
/**
* 推送邮件给审稿人提醒审稿人
*/
public function pushEmailForReviewer(){
public function pushEmailForReviewer() {
//筛选数据
$list = $this->article_reviewer_obj->where("state","in",[0,5])->select();
foreach ($list as $v){
$cache_article = $this->article_obj->where("article_id",$v['article_id'])->find();
if($cache_article["state"]!=2){
$list = $this->article_reviewer_obj->where("state", "in", [0, 5])->select();
foreach ($list as $v) {
$cache_article = $this->article_obj->where("article_id", $v['article_id'])->find();
if ($cache_article["state"] != 2) {
continue;
}
$cache_t = intval((time()-$v["ctime"])/86400);
if($cache_t==14||$cache_t==21||$cache_t==28){
$cache_journal = $this->journal_obj->where("journal_id",$cache_article['journal_id'])->find();
$cache_t = intval((time() - $v["ctime"]) / 86400);
if ($cache_t == 14 || $cache_t == 21 || $cache_t == 28) {
$cache_journal = $this->journal_obj->where("journal_id", $cache_article['journal_id'])->find();
//查找审稿人信息
$cache_reviewer = $this->user_obj
->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id = t_user.user_id","left")
->where("t_user.user_id",$v['reviewer_id'])->find();
$tt = "Manuscript ID: ".$cache_article['accept_sn']."<br>";
$tt .= "Title:".$cache_article['title']."<br>";
$tt .= "Dear ".($cache_reviewer['technical']==""||$cache_reviewer['technical']=="Others"?"Dr.":$cache_reviewer['technical'])." ".($cache_reviewer["realname"]==""?$cache_reviewer["account"]:$cache_reviewer["realname"])."<br><br>";
$tt .= "On ".date("d D Y",$v["ctime"])." we sent you a request to review a paper title ".$cache_article['title'].".<br><br>";
->join("t_user_reviewer_info", "t_user_reviewer_info.reviewer_id = t_user.user_id", "left")
->where("t_user.user_id", $v['reviewer_id'])->find();
$tt = "Manuscript ID: " . $cache_article['accept_sn'] . "<br>";
$tt .= "Title:" . $cache_article['title'] . "<br>";
$tt .= "Dear " . ($cache_reviewer['technical'] == "" || $cache_reviewer['technical'] == "Others" ? "Dr." : $cache_reviewer['technical']) . " " . ($cache_reviewer["realname"] == "" ? $cache_reviewer["account"] : $cache_reviewer["realname"]) . "<br><br>";
$tt .= "On " . date("d D Y", $v["ctime"]) . " we sent you a request to review a paper title " . $cache_article['title'] . ".<br><br>";
$tt .= "We have not yet received a response from you, possibly because the original invitation went astray. We would be grateful if you could let us know if you can carry out this review.<br><br>";
$tt .= "If you would like to review this paper, please click <a href='https://submission.tmrjournals.com/'>this link</a>.<br><br>";
$tt .= "If you do not wish to review this paper, please click <a href='http://api.tmrjournals.com/public/index.php/api/Reviewer/refusereview/aid/".$v['art_rev_id']."'>this link</a>.<br><br>";
$tt .= 'Sincerely,<br>Editorial Office<br>'.$cache_journal['title'].'<br>';
$tt .= 'Email: '.$cache_journal['email'].'<br>';
$tt .= 'Website:<a href="'.$cache_journal['website'].'">'.$cache_journal['website'].'</a>';
$tt .= "If you do not wish to review this paper, please click <a href='http://api.tmrjournals.com/public/index.php/api/Reviewer/refusereview/aid/" . $v['art_rev_id'] . "'>this link</a>.<br><br>";
$tt .= 'Sincerely,<br>Editorial Office<br>' . $cache_journal['title'] . '<br>';
$tt .= 'Email: ' . $cache_journal['email'] . '<br>';
$tt .= 'Website:<a href="' . $cache_journal['website'] . '">' . $cache_journal['website'] . '</a>';
$maidata['email'] = $cache_reviewer['email'];
$maidata['title'] = "Invitation to review manuscript for ".$cache_journal['title']." - Reminder";
$maidata['title'] = "Invitation to review manuscript for " . $cache_journal['title'] . " - Reminder";
$maidata['content'] = $tt;
$maidata['tmail'] = $cache_journal['email'];
$maidata['tpassword'] = $cache_journal['epassword'];
@@ -80,38 +78,61 @@ class Auto extends Controller {
}
}
}
/**
* 推送邮件提醒作者修回稿件
*/
public function pushEmailForAuthor(){
public function pushEmailForAuthor() {
//筛选数据
$list = $this->article_obj->where("state",4)->select();
foreach ($list as $v){
$cache_t = intval((time()-$v["ttime"])/86400);
if($cache_t==14||$cache_t==21||$cache_t==28){
//查找文章内容
$cache_journal = $this->journal_obj->where("journal_id",$v['journal_id'])->find();
//查找作者信息
$cache_author = $this->user_obj->where("user_id",$v['user_id'])->find();
$tt = "Dear Author,<br>";
$tt .= "We have send you the email about revision of your manuscript. According to our records you are almost reaching the deadline now. We look forward to receiving your revised article.<br><br>";
$tt .= "When preparing your revised manuscript, you are asked to carefully consider the reviewers' comments which are attached, and submit a revised versionand a list of responses to the comments before deadline. The revised parts in the manuscript should be highlighted with blue color.<br><br>";
$tt .= "If you feel that you will require more time to complete your revision, please let me know and I will update our records accordingly. If I can provide any further advice or assistance, please do not hesitate to contact me.<br><br><br>";
$tt .= 'Sincerely,<br>Editorial Office<br>'.$cache_journal['title'].'<br>';
$tt .= 'Email: '.$cache_journal['email'].'<br>';
$tt .= 'Website:<a href="'.$cache_journal['website'].'">'.$cache_journal['website'].'</a>';
$maidata['email'] = $cache_author['email'];
$maidata['title'] = "Deadline for your revision of ".$cache_journal['title']." -Reminder";
$maidata['content'] = $tt;
$maidata['tmail'] = $cache_journal['email'];
$maidata['tpassword'] = $cache_journal['epassword'];
Queue::push('app\api\job\mail@fire', $maidata, "tmail");
$list = $this->article_obj->where("state", 4)->select();
foreach ($list as $v) {
$cache_t = intval((time() - $v["ttime"]) / 86400);
if ($v['type'] == 'A') {
if ($cache_t == 28 || $cache_t == 42 || $cache_t == 56) {
//查找文章内容
$cache_journal = $this->journal_obj->where("journal_id", $v['journal_id'])->find();
//查找作者信息
$cache_author = $this->user_obj->where("user_id", $v['user_id'])->find();
$tt = "Dear Author,<br>";
$tt .= "We have send you the email about revision of your manuscript. According to our records you are almost reaching the deadline now. We look forward to receiving your revised article.<br><br>";
$tt .= "When preparing your revised manuscript, you are asked to carefully consider the reviewers' comments which are attached, and submit a revised versionand a list of responses to the comments before deadline. The revised parts in the manuscript should be highlighted with blue color.<br><br>";
$tt .= "If you feel that you will require more time to complete your revision, please let me know and I will update our records accordingly. If I can provide any further advice or assistance, please do not hesitate to contact me.<br><br><br>";
$tt .= 'Sincerely,<br>Editorial Office<br>' . $cache_journal['title'] . '<br>';
$tt .= 'Email: ' . $cache_journal['email'] . '<br>';
$tt .= 'Website:<a href="' . $cache_journal['website'] . '">' . $cache_journal['website'] . '</a>';
$maidata['email'] = $cache_author['email'];
$maidata['title'] = "Deadline for your revision of " . $cache_journal['title'] . " -Reminder";
$maidata['content'] = $tt;
$maidata['tmail'] = $cache_journal['email'];
$maidata['tpassword'] = $cache_journal['epassword'];
Queue::push('app\api\job\mail@fire', $maidata, "tmail");
}
} else {
if ($cache_t == 14 || $cache_t == 21 || $cache_t == 28) {
//查找文章内容
$cache_journal = $this->journal_obj->where("journal_id", $v['journal_id'])->find();
//查找作者信息
$cache_author = $this->user_obj->where("user_id", $v['user_id'])->find();
$tt = "Dear Author,<br>";
$tt .= "We have send you the email about revision of your manuscript. According to our records you are almost reaching the deadline now. We look forward to receiving your revised article.<br><br>";
$tt .= "When preparing your revised manuscript, you are asked to carefully consider the reviewers' comments which are attached, and submit a revised versionand a list of responses to the comments before deadline. The revised parts in the manuscript should be highlighted with blue color.<br><br>";
$tt .= "If you feel that you will require more time to complete your revision, please let me know and I will update our records accordingly. If I can provide any further advice or assistance, please do not hesitate to contact me.<br><br><br>";
$tt .= 'Sincerely,<br>Editorial Office<br>' . $cache_journal['title'] . '<br>';
$tt .= 'Email: ' . $cache_journal['email'] . '<br>';
$tt .= 'Website:<a href="' . $cache_journal['website'] . '">' . $cache_journal['website'] . '</a>';
$maidata['email'] = $cache_author['email'];
$maidata['title'] = "Deadline for your revision of " . $cache_journal['title'] . " -Reminder";
$maidata['content'] = $tt;
$maidata['tmail'] = $cache_journal['email'];
$maidata['tpassword'] = $cache_journal['epassword'];
Queue::push('app\api\job\mail@fire', $maidata, "tmail");
}
}
}
}
/**
@@ -124,9 +145,9 @@ class Auto extends Controller {
Queue::push('app\api\job\review@fire', $v, "emailtest");
}
}
public function testrev(){
$a = $this->article_obj->where('article_id',261)->find();
public function testrev() {
$a = $this->article_obj->where('article_id', 261)->find();
// $this->checkrev($a);
}
@@ -148,29 +169,27 @@ class Auto extends Controller {
public function testmail() {
$maidata['email'] = '751475802@qq.com';
$maidata['title'] = 'testdsdsasaddsasdaadsasd'.date('Ymd His', time());
$maidata['title'] = 'testdsdsasaddsasdaadsasd' . date('Ymd His', time());
$maidata['content'] = 'dsadsaas';
$maidata['tmail'] = 'tmrcancer@tmrjournals.com';
$maidata['tpassword'] = 'Wu999999tmrcance';
Queue::push('app\api\job\mail@fire', $maidata, "tmail");
}
public function mytest(){
public function mytest() {
echo 'okokokook!!!!';
}
/**
* 审查文章审稿人状态,返回结果
*/
public function checkrev($data) {
die;
//查找审稿案例状态
$rev_list = $this->reviewer_obj->where('article_id', $data['article_id'])->where('state','<>',4)->select();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$user_info = $this->user_obj->where('user_id',$data['user_id'])->find();
$editor_info = $this->user_obj->where('user_id',$data['editor_id'])->find();
$rev_list = $this->reviewer_obj->where('article_id', $data['article_id'])->where('state', '<>', 4)->select();
$journal_info = $this->journal_obj->where('journal_id', $data['journal_id'])->find();
$user_info = $this->user_obj->where('user_id', $data['user_id'])->find();
$editor_info = $this->user_obj->where('user_id', $data['editor_id'])->find();
//分析审稿人状况
$all = count($rev_list);
$s_num = 0; //初始数量
@@ -201,7 +220,7 @@ class Auto extends Controller {
}
if ($p_num == 2) {//通过
//更新文章状态
$this->article_obj->where('article_id', $data['article_id'])->update(['state'=>4,'editor_act'=>1]);
$this->article_obj->where('article_id', $data['article_id'])->update(['state' => 4, 'editor_act' => 1]);
//添加文章msg信息
$insert_data['article_id'] = $data['article_id'];
$insert_data['content'] = 'Review completed';
@@ -212,24 +231,24 @@ class Auto extends Controller {
//添加通知信息
add_usermsg($data['user_id'], 'Your manuscript has new process', '/articleDetail?id=' . $data['article_id']);
//发送邮件通知编辑
$tt = $data['accept_sn'].'<br>';
$tt .= 'Dear '.($user_info['realname']==''?'Authors':$user_info['realname']).',<br>';
$tt .= 'Thank you for submitting the manuscript to '.$journal_info['title'].'. <br>';
$tt .= 'Please find the new comments in the "<a href="http://submission.tmrjournals.com/submission?journal='.$journal_info['alias'].'">AuthorCenter</a>", Please submit your revised manuscript within two weeks.<br><br>';
$tt = $data['accept_sn'] . '<br>';
$tt .= 'Dear ' . ($user_info['realname'] == '' ? 'Authors' : $user_info['realname']) . ',<br>';
$tt .= 'Thank you for submitting the manuscript to ' . $journal_info['title'] . '. <br>';
$tt .= 'Please find the new comments in the "<a href="http://submission.tmrjournals.com/submission?journal=' . $journal_info['alias'] . '">AuthorCenter</a>", Please submit your revised manuscript within two weeks.<br><br>';
$tt .= 'If you need more time to revise, you can send E-mial to tell us.<br>';
$tt .= 'Sincerely,<br>Editorial Office<br>';
$tt .= $journal_info['title'].'<br>';
$tt .= '<a href="https://www.tmrjournals.com/draw_up.html?issn='.$journal_info['issn'].'">Subscribe to this journal</a><br>';
$tt .= 'Email: '.$journal_info['email'].'<br>';
$tt .= 'Website: '.$journal_info['website'];
$tt .= $journal_info['title'] . '<br>';
$tt .= '<a href="https://www.tmrjournals.com/draw_up.html?issn=' . $journal_info['issn'] . '">Subscribe to this journal</a><br>';
$tt .= 'Email: ' . $journal_info['email'] . '<br>';
$tt .= 'Website: ' . $journal_info['website'];
sendEmail($user_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
} elseif ($np_num == 2) {//不通过
//发送邮件通知编辑
$tt = 'Reviewers final opinions on the manuscript ID'.$data['accept_sn'].' are rejection. Please login and deal with the next step of this manuscript manually.';
$tt = 'Reviewers final opinions on the manuscript ID' . $data['accept_sn'] . ' are rejection. Please login and deal with the next step of this manuscript manually.';
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
} else {//一样一个增加一个审稿案例
$this->add_reviewer($data);
return true;
return true;
}
} elseif ($all == 3) {
if ($s_num > 0) {//不做任何处理
@@ -237,7 +256,7 @@ class Auto extends Controller {
}
if ($p_num == 2) {//通过
//更新文章状态
$this->article_obj->where('article_id', $data['article_id'])->update(['state'=>4,'editor_act'=>1]);
$this->article_obj->where('article_id', $data['article_id'])->update(['state' => 4, 'editor_act' => 1]);
//添加文章msg信息
$insert_data['article_id'] = $data['article_id'];
$insert_data['content'] = 'Review completed';
@@ -248,22 +267,21 @@ class Auto extends Controller {
//添加通知信息
add_usermsg($data['user_id'], 'Your manuscript has new process', '/articleDetail?id=' . $data['article_id']);
//发送邮件通知编辑
$tt = $data['accept_sn'].'<br>';
$tt .= 'Dear '.($user_info['realname']==''?'Authors':$user_info['realname']).',<br>';
$tt .= 'Thank you for submitting the manuscript to '.$journal_info['title'].'. <br>';
$tt .= 'Please find the new comments in the "<a href="http://submission.tmrjournals.com/submission?journal='.$journal_info['alias'].'">AuthorCenter</a>", Please submit your revised manuscript within two weeks.<br><br>';
$tt = $data['accept_sn'] . '<br>';
$tt .= 'Dear ' . ($user_info['realname'] == '' ? 'Authors' : $user_info['realname']) . ',<br>';
$tt .= 'Thank you for submitting the manuscript to ' . $journal_info['title'] . '. <br>';
$tt .= 'Please find the new comments in the "<a href="http://submission.tmrjournals.com/submission?journal=' . $journal_info['alias'] . '">AuthorCenter</a>", Please submit your revised manuscript within two weeks.<br><br>';
$tt .= 'If you need more time to revise, you can send E-mial to tell us.<br>';
$tt .= 'Sincerely,<br>Editorial Office<br>';
$tt .= $journal_info['title'].'<br>';
$tt .= '<a href="https://www.tmrjournals.com/draw_up.html?issn='.$journal_info['issn'].'">Subscribe to this journal</a><br>';
$tt .= 'Email: '.$journal_info['email'].'<br>';
$tt .= 'Website: '.$journal_info['website'];
$tt .= $journal_info['title'] . '<br>';
$tt .= '<a href="https://www.tmrjournals.com/draw_up.html?issn=' . $journal_info['issn'] . '">Subscribe to this journal</a><br>';
$tt .= 'Email: ' . $journal_info['email'] . '<br>';
$tt .= 'Website: ' . $journal_info['website'];
sendEmail($user_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
} else {//不通过
//发送邮件通知编辑
$tt = 'Reviewers final opinions on the manuscript ID'.$data['accept_sn'].' are rejection. Please login and deal with the next step of this manuscript manually.';
$tt = 'Reviewers final opinions on the manuscript ID' . $data['accept_sn'] . ' are rejection. Please login and deal with the next step of this manuscript manually.';
sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
}
}
}
@@ -342,17 +360,16 @@ class Auto extends Controller {
public function chose_reviewer($article) {
//筛选符合期刊
$rev_list = $this->rev_to_jour_obj->where('journal_id', $article['journal_id'])->column('reviewer_id');
$fie_list = $this->reviewer_info_obj->where('major',$article['major_id'])->column('reviewer_id');
$fie_list = $this->reviewer_info_obj->where('major', $article['major_id'])->column('reviewer_id');
$u_list = $this->user_obj
->where('user_id',['in',$rev_list],['in',$fie_list])//审核人属于某期刊,并且属于某个领域
->where('rtime','<',time() - 3600 * 24 * 15)//审核人间隔时间
->order('rs_num desc')->select();
->where('user_id', ['in', $rev_list], ['in', $fie_list])//审核人属于某期刊,并且属于某个领域
->where('rtime', '<', time() - 3600 * 24 * 15)//审核人间隔时间
->order('rs_num desc')->select();
if ($u_list) {
return $u_list[0];
} else {
return null;
}
}
}