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

@@ -459,8 +459,8 @@ class Article extends Controller {
$tt .= 'Dear '.($user_rev_info==null||$user_rev_info['technical']=="Others"||$user_rev_info['technical']==""?"Dr.":$user_rev_info['technical']).($user_info['realname']==''?$user_info['account']:$user_info['realname']).',<br>'; $tt .= 'Dear '.($user_rev_info==null||$user_rev_info['technical']=="Others"||$user_rev_info['technical']==""?"Dr.":$user_rev_info['technical']).($user_info['realname']==''?$user_info['account']:$user_info['realname']).',<br>';
$tt .= 'Thank you for submitting your paper to '.$journal_info['title'].'. Your manuscript has undergone review.<br>'; $tt .= 'Thank you for submitting your paper to '.$journal_info['title'].'. Your manuscript has undergone review.<br>';
$tt .= 'Unfortunately the editors feel that '.$journal_info['title'].' is not the appropriate venue for your manuscript. You munuscript will transfer to journal - '.$tran_journal['title'].' as you co-submitting chose order.If you have questions about the Co-submission process, please contact publisher@tmrjournals.com within 48 hours.<br><br>Yours sincerely,<br><br>'; $tt .= 'Unfortunately the editors feel that '.$journal_info['title'].' is not the appropriate venue for your manuscript. You munuscript will transfer to journal - '.$tran_journal['title'].' as you co-submitting chose order.If you have questions about the Co-submission process, please contact publisher@tmrjournals.com within 48 hours.<br><br>Yours sincerely,<br>';
$tt .= 'Sincerely,<br>Editorial Office<br>'; $tt .= 'Editorial Office<br>';
$tt .= $journal_info['title'].'<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 .= '<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 .= 'Email: '.$journal_info['email'].'<br>';
@@ -1118,6 +1118,12 @@ class Article extends Controller {
return jsonSuccess($re); return jsonSuccess($re);
} }
public function getMajors(){
}
/** /**
* 存储article文件历史信息 * 存储article文件历史信息
*/ */

View File

@@ -17,7 +17,6 @@ class Auto extends Controller {
protected $article_obj = ''; protected $article_obj = '';
protected $article_reviewer_obj = ''; protected $article_reviewer_obj = '';
protected $user_obj = ''; protected $user_obj = '';
protected $rev_to_jour_obj = ''; protected $rev_to_jour_obj = '';
protected $reviewer_obj = ''; protected $reviewer_obj = '';
protected $journal_obj = ''; protected $journal_obj = '';
@@ -25,7 +24,6 @@ class Auto extends Controller {
protected $user_log_obj = ''; protected $user_log_obj = '';
protected $reviewer_info_obj = ''; protected $reviewer_info_obj = '';
public function __construct(\think\Request $request = null) { public function __construct(\think\Request $request = null) {
parent::__construct($request); parent::__construct($request);
$this->article_obj = Db::name('article'); $this->article_obj = Db::name('article');
@@ -89,6 +87,29 @@ class Auto extends Controller {
$list = $this->article_obj->where("state", 4)->select(); $list = $this->article_obj->where("state", 4)->select();
foreach ($list as $v) { foreach ($list as $v) {
$cache_t = intval((time() - $v["ttime"]) / 86400); $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) { if ($cache_t == 14 || $cache_t == 21 || $cache_t == 28) {
//查找文章内容 //查找文章内容
$cache_journal = $this->journal_obj->where("journal_id", $v['journal_id'])->find(); $cache_journal = $this->journal_obj->where("journal_id", $v['journal_id'])->find();
@@ -111,7 +132,7 @@ class Auto extends Controller {
Queue::push('app\api\job\mail@fire', $maidata, "tmail"); Queue::push('app\api\job\mail@fire', $maidata, "tmail");
} }
} }
}
} }
/** /**
@@ -159,8 +180,6 @@ class Auto extends Controller {
echo 'okokokook!!!!'; echo 'okokokook!!!!';
} }
/** /**
* 审查文章审稿人状态,返回结果 * 审查文章审稿人状态,返回结果
*/ */
@@ -263,7 +282,6 @@ class Auto extends Controller {
//发送邮件通知编辑 //发送邮件通知编辑
$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']); sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt, $journal_info['email'], $journal_info['epassword']);
} }
} }
} }
@@ -354,5 +372,4 @@ class Auto extends Controller {
} }
} }
} }

View File

@@ -17,6 +17,7 @@ use think\Queue;
* @description 领域接口 * @description 领域接口
*/ */
class Major extends Controller { class Major extends Controller {
protected $article_obj = ''; protected $article_obj = '';
protected $user_obj = ''; protected $user_obj = '';
protected $user_act_obj = ''; protected $user_act_obj = '';
@@ -34,7 +35,8 @@ class Major extends Controller{
protected $chief_to_journal_obj = ''; protected $chief_to_journal_obj = '';
protected $login_auto_obj = ''; protected $login_auto_obj = '';
protected $major_obj = ""; protected $major_obj = "";
protected $major_to_journal_obj = '';
protected $sync_obj = '';
public function __construct(\think\Request $request = null) { public function __construct(\think\Request $request = null) {
parent::__construct($request); parent::__construct($request);
@@ -55,6 +57,8 @@ class Major extends Controller{
$this->chief_to_journal_obj = Db::name('chief_to_journal'); $this->chief_to_journal_obj = Db::name('chief_to_journal');
$this->login_auto_obj = Db::name('login_auto'); $this->login_auto_obj = Db::name('login_auto');
$this->major_obj = Db::name("major"); $this->major_obj = Db::name("major");
$this->major_to_journal_obj = Db::name('major_to_journal');
$this->sync_obj = Db::name("sync");
} }
/** /**
@@ -117,6 +121,32 @@ class Major extends Controller{
return jsonSuccess([]); return jsonSuccess([]);
} }
/**
* @title 删除大池子领域
* @description 删除大池子领域
* @author wangjinlei
* @url /api/Major/delMajor
* @method POST
*
* @param name:major_id type:int require:1 desc:领域id
*
*/
public function delMajor() {
$data = $this->request->post();
//判断是否有子集
$check_child = $this->major_obj->where('pid', $data['major_id'])->where('major_state', 0)->select();
if ($check_child) {
return jsonError("存在子集不能删除");
}
//判断是否存在引用
$check_journal = $this->major_to_journal_obj->where('major_id', $data['major_id'])->where("mtj_state", 0)->select();
if ($check_journal) {
return jsonError("期刊存在引用,不能删除");
}
$this->major_obj->where("major_id", $data['major_id'])->update(['major_state' => 1]);
return jsonSuccess([]);
}
/** /**
* @title 获取领域树 * @title 获取领域树
* @description 获取领域树 * @description 获取领域树
@@ -148,14 +178,166 @@ class Major extends Controller{
* @method POST * @method POST
* *
* @param name:major_id type:int require:1 desc:领域id * @param name:major_id type:int require:1 desc:领域id
* @param name:jou $name Description * @param name:journal_issn type:string require:1 desc:期刊issn
* *
* @return majors:领域树
*/ */
public function addJournalMajor() { public function addJournalMajor() {
$data = $this->request->post();
//判断major父级是否存在
$major_info = $this->major_obj->where('major_id', $data['major_id'])->where("major_state", 0)->find();
$check_major = $this->major_to_journal_obj->where('major_id', $major_info['pid'])->where('journal_issn',trim($data['journal_issn']))->where('mtj_state', 0)->find();
if ($major_info['pid'] != 0 && $check_major == null) {
return jsonError("父级必须存在");
}
//判断是否重复添加
$check = $this->major_to_journal_obj->where('major_id', $data['major_id'])->where('journal_issn', trim($data['journal_issn']))->where('mtj_state', 0)->find();
if ($check) {
return jsonError("重复添加");
} }
$has = $this->major_to_journal_obj->where('major_id', $data['major_id'])->where('journal_issn', trim($data['journal_issn']))->where('mtj_state', 1)->find();
if ($has) {
$this->major_to_journal_obj->where('major_id', $data['major_id'])->where('journal_issn', trim($data['journal_issn']))->where('mtj_state', 1)->update(['mtj_state' => 0]);
} else {
$insert['major_id'] = $data['major_id'];
$insert['journal_issn'] = trim($data['journal_issn']);
$insert['mtj_ctime'] = time();
$this->major_to_journal_obj->insert($insert);
}
return jsonSuccess([]);
}
/**
* @title 删除期刊领域
* @description 删除期刊领域
* @author wangjinlei
* @url /api/Major/delJournalMajor
* @method POST
*
* @param name:major_id type:int require:1 desc:领域id
* @param name:journal_issn type:string require:1 desc:期刊issn
*
*/
public function delJournalMajor() {
$data = $this->request->post();
//判断是否有子集
$check = $this->major_to_journal_obj
->join("t_major","t_major.major_id = t_major_to_journal.major_id","left")
->where("t_major_to_journal.journal_issn", trim($data['journal_issn']))
->where("t_major_to_journal.mtj_state",0)
->where("t_major.pid",$data['major_id'])
->select();
if($check){
return jsonError("存在子集不能删除");
}
$this->major_to_journal_obj->where('major_id', $data['major_id'])->where('journal_issn', $data['journal_issn'])->update(['mtj_state'=> 1]);
return jsonSuccess([]);
}
/**
* @title 获取期刊领域树
* @description 获取期刊领域树
* @author wangjinlei
* @url /api/Major/getJournalMajorList
* @method POST
*
* @param name:journal_issn type:string require:1 desc:期刊issn号
*
* @return majors:领域信息#
*/
public function getJournalMajorList() {
$data = $this->request->post();
if (!isset($data['journal_issn'])) {
return jsonError("参数异常");
}
// $data['journal_issn'] = '2815-7125';
//获取主节点
$list = $this->major_to_journal_obj
->field('t_major.*')
->join("t_major", 't_major.major_id = t_major_to_journal.major_id', 'left')
->where("t_major_to_journal.journal_issn", trim($data['journal_issn']))
->where("t_major.pid", 0)
->where("t_major_to_journal.mtj_state", 0)
->select();
foreach ($list as $k => $v) {
$cache_child = $this->getJournalMajorChild($v, trim($data['journal_issn']));
if ($cache_child != null) {
$list[$k]['children'] = $cache_child;
}
}
$re['majors'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取全部期刊
* @description 获取全部期刊
* @author wangjinlei
* @url /api/Major/getAllJournals
* @method POST
*
* @return journals:期刊信息#
*/
public function getAllJournals() {
$list = $this->journal_obj->where('state', 0)->select();
$re['journals'] = $list;
return jsonSuccess($re);
}
/**
* @title 同步大池子数据
* @description 同步大池子数据
* @author wangjinlei
* @url /api/Major/synchronization
* @method POST
*
*/
public function synchronization(){
$url = "http://journalapi.tmrjournals.com/public/index.php/master/Major/sync_all";
$url1 = "http://api.tmrjournals.cn/public/index.php/master/Major/sync_all";
$list = $this->major_obj->select();
myPost($url, ['majors'=> json_encode($list)]);
myPost($url1, ['majors'=> json_encode($list)]);
$this->sync_obj->where('akey',1)->update(['all_major'=> time()]);
return jsonSuccess([]);
}
/**
* @title 同步小池子数据
* @description 同步小池子数据
* @author wangjinlei
* @url /api/Major/synchronizationJournal
* @method POST
*
*/
public function synchronizationJournal(){
$url = "http://journalapi.tmrjournals.com/public/index.php/master/Major/sync_journal";
$url1 = "http://api.tmrjournals.cn/public/index.php/master/Major/sync_journal";
$list = $this->major_to_journal_obj->select();
myPost($url, ['majors'=> json_encode($list)]);
myPost($url1, ['majors'=> json_encode($list)]);
$this->sync_obj->where('akey',1)->update(['journal_major'=> time()]);
return jsonSuccess([]);
}
/**
* @title 获取大池子最后同步时间
* @description 获取大池子最后同步时间
* @author wangjinlei
* @url /api/Major/getLastSyncTime
* @method POST
*
* @return sync:同步时间记录#
*/
public function getLastSyncTime(){
$d = $this->sync_obj->where('akey',1)->find();
$re['sync'] = $d;
return jsonSuccess($re);
}
/** /**
* 获取领域子树 * 获取领域子树
@@ -174,4 +356,26 @@ class Major extends Controller{
return $list; return $list;
} }
/**
* 获取期刊领域树子集
* @param type $major
* @param type $issn
*/
private function getJournalMajorChild($major, $issn) {
$list = $this->major_to_journal_obj
->field("t_major.*")
->join("t_major", "t_major_to_journal.major_id=t_major.major_id", 'left')
->where("pid", $major['major_id'])
->where("t_major_to_journal.journal_issn", $issn)
->where("t_major_to_journal.mtj_state", 0)
->select();
foreach ($list as $k => $v) {
$cache_child = $this->getJournalMajorChild($v, $issn);
if ($cache_child != null) {
$list[$k]['children'] = $cache_child;
}
}
return $list;
}
} }