1
This commit is contained in:
@@ -1459,7 +1459,14 @@ class Article extends Controller {
|
|||||||
//通讯作者转为审稿人
|
//通讯作者转为审稿人
|
||||||
$this->addReviewerFromArticle($res, $journal_info['journal_id']);
|
$this->addReviewerFromArticle($res, $journal_info['journal_id']);
|
||||||
|
|
||||||
if ($res && $res_author && $transr && $res_file1 && $res_file2 && $res_file3 && $res_file4 && $res_log && $res_msg) {
|
|
||||||
|
//如果存在推荐审稿人,则执行添加审稿人操作
|
||||||
|
$res_recommend = true;
|
||||||
|
foreach($data['reviewers'] as $v){
|
||||||
|
$res_recommend = $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) {
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return json(['code' => 0]);
|
return json(['code' => 0]);
|
||||||
} else {
|
} else {
|
||||||
@@ -1468,6 +1475,58 @@ class Article extends Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加推荐审稿人
|
||||||
|
*/
|
||||||
|
public function addRecommentReviewer($reivewe,$journal_id,$user_id,$article_id){
|
||||||
|
$journal_info = $this->journal_obj->where('journal_id',$journal_id)->find();
|
||||||
|
//判断此用户是否存在
|
||||||
|
$reviewer_info = $this->user_obj->where('email', $reivewe['email'])->where('state', 0)->find();
|
||||||
|
if ($reviewer_info == null) { //添加用户
|
||||||
|
$insert_user['account'] = $reivewe['email'];
|
||||||
|
$insert_user['password'] = md5('123456qwe');
|
||||||
|
$insert_user['email'] = $reivewe['email'];
|
||||||
|
$insert_user['realname'] = $reivewe['realname'];
|
||||||
|
$insert_user['ctime'] = time();
|
||||||
|
$i_id = $this->user_obj->insertGetId($insert_user);
|
||||||
|
$reviewer_info = $this->user_obj->where('user_id', $i_id)->find();
|
||||||
|
}
|
||||||
|
//判断是否是此期刊审稿人
|
||||||
|
$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;
|
||||||
|
if ($rtj == null) {
|
||||||
|
//判断是否具有审稿人身份,并具有审稿人资料
|
||||||
|
$uri = $this->user_reviewer_info_obj->where('reviewer_id', $reviewer_info['user_id'])->where('state', 0)->find();
|
||||||
|
if ($uri == null) { //添加审稿人信息
|
||||||
|
$insert_reviewer_info['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
|
$insert_reviewer_info['major'] = $reivewe['major'];
|
||||||
|
$insert_reviewer_info['cmajor'] = $reivewe['cmajor'];
|
||||||
|
$insert_reviewer_info['country'] = $reivewe['country'];
|
||||||
|
$res2 = $this->user_reviewer_info_obj->insert($insert_reviewer_info);
|
||||||
|
}
|
||||||
|
$insert_rtj['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
|
$insert_rtj['journal_id'] = $journal_info['journal_id'];
|
||||||
|
$insert_rtj['account'] = $reviewer_info['account'];
|
||||||
|
$insert_rtj['journal_title'] = $journal_info['title'];
|
||||||
|
$insert_rtj['ctime'] = time();
|
||||||
|
$res3 = $this->reviewer_to_journal_obj->insert($insert_rtj);
|
||||||
|
}
|
||||||
|
|
||||||
|
//添加推荐审稿人信息
|
||||||
|
$insert_recommend['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
|
$insert_recommend['article_id'] = $article_id;
|
||||||
|
$insert_recommend['recommend_user_id'] = $user_id;
|
||||||
|
$insert_recommend['urr_ctime'] = time();
|
||||||
|
$res_recommend = $this->user_reviewer_recommend_obj->insert($insert_recommend);
|
||||||
|
|
||||||
|
if ($res2 && $res3 && $res_recommend) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @title 获取待审文章
|
* @title 获取待审文章
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ class Special extends Controller
|
|||||||
protected $user_to_special_obj = '';
|
protected $user_to_special_obj = '';
|
||||||
protected $chief_to_journal_obj = '';
|
protected $chief_to_journal_obj = '';
|
||||||
protected $article_reviewer_obj = '';
|
protected $article_reviewer_obj = '';
|
||||||
|
protected $user_reviewer_recommend_obj = '';
|
||||||
|
|
||||||
public function __construct(\think\Request $request = null)
|
public function __construct(\think\Request $request = null)
|
||||||
{
|
{
|
||||||
@@ -56,6 +57,7 @@ class Special extends Controller
|
|||||||
$this->user_to_special_obj = Db::name('user_to_special');
|
$this->user_to_special_obj = Db::name('user_to_special');
|
||||||
$this->chief_to_journal_obj = Db::name('chief_to_journal');
|
$this->chief_to_journal_obj = Db::name('chief_to_journal');
|
||||||
$this->article_reviewer_obj = Db::name('article_reviewer');
|
$this->article_reviewer_obj = Db::name('article_reviewer');
|
||||||
|
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -531,22 +533,20 @@ class Special extends Controller
|
|||||||
{
|
{
|
||||||
$data = $this->request->post();
|
$data = $this->request->post();
|
||||||
$rule = new Validate([
|
$rule = new Validate([
|
||||||
|
'editor_id' => 'require',
|
||||||
'email' => 'require|email',
|
'email' => 'require|email',
|
||||||
'realname' => 'require',
|
'realname' => 'require',
|
||||||
'article_id' => 'require',
|
'article_id' => 'require',
|
||||||
'major' => 'require',
|
'major' => 'require',
|
||||||
'cmajor' => 'require'
|
'cmajor' => 'require',
|
||||||
|
'country' => 'require'
|
||||||
]);
|
]);
|
||||||
if (!$rule->check($data)) {
|
if (!$rule->check($data)) {
|
||||||
return jsonError($rule->getError());
|
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();
|
||||||
$journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
|
$journal_info = $this->journal_obj->where('journal_id', $article_info['journal_id'])->find();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
|
|
||||||
//判断此用户是否存在
|
//判断此用户是否存在
|
||||||
$reviewer_info = $this->user_obj->where('email', $data['email'])->where('state', 0)->find();
|
$reviewer_info = $this->user_obj->where('email', $data['email'])->where('state', 0)->find();
|
||||||
if ($reviewer_info == null) { //添加用户
|
if ($reviewer_info == null) { //添加用户
|
||||||
@@ -558,7 +558,6 @@ class Special extends Controller
|
|||||||
$i_id = $this->user_obj->insertGetId($insert_user);
|
$i_id = $this->user_obj->insertGetId($insert_user);
|
||||||
$reviewer_info = $this->user_obj->where('user_id', $i_id)->find();
|
$reviewer_info = $this->user_obj->where('user_id', $i_id)->find();
|
||||||
}
|
}
|
||||||
|
|
||||||
//检验审稿实例是否存在
|
//检验审稿实例是否存在
|
||||||
$check_repi = $this->article_reviewer_obj->where('article_id', $data['article_id'])->where('reviewer_id', $reviewer_info['user_id'])->find();
|
$check_repi = $this->article_reviewer_obj->where('article_id', $data['article_id'])->where('reviewer_id', $reviewer_info['user_id'])->find();
|
||||||
if ($check_repi != null) {
|
if ($check_repi != null) {
|
||||||
@@ -575,6 +574,7 @@ class Special extends Controller
|
|||||||
$insert_reviewer_info['reviewer_id'] = $reviewer_info['user_id'];
|
$insert_reviewer_info['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
$insert_reviewer_info['major'] = $data['major'];
|
$insert_reviewer_info['major'] = $data['major'];
|
||||||
$insert_reviewer_info['cmajor'] = $data['cmajor'];
|
$insert_reviewer_info['cmajor'] = $data['cmajor'];
|
||||||
|
$insert_reviewer_info['country'] = $data['country'];
|
||||||
$res2 = $this->user_reviewer_info_obj->insert($insert_reviewer_info);
|
$res2 = $this->user_reviewer_info_obj->insert($insert_reviewer_info);
|
||||||
}
|
}
|
||||||
$insert_rtj['reviewer_id'] = $reviewer_info['user_id'];
|
$insert_rtj['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
@@ -592,7 +592,14 @@ class Special extends Controller
|
|||||||
$insert_article_reviewer['ctime'] = time();
|
$insert_article_reviewer['ctime'] = time();
|
||||||
$arid = $this->article_reviewer_obj->insertGetId($insert_article_reviewer);
|
$arid = $this->article_reviewer_obj->insertGetId($insert_article_reviewer);
|
||||||
|
|
||||||
if ($res2 && $res3 && $arid) {
|
//添加推荐审稿人信息
|
||||||
|
$insert_recommend['reviewer_id'] = $reviewer_info['user_id'];
|
||||||
|
$insert_recommend['recommend_user_id'] = $data['editor_id'];
|
||||||
|
$insert_recommend['urr_type'] = 1;
|
||||||
|
$insert_recommend['urr_ctime'] = time();
|
||||||
|
$res_recommend = $this->user_reviewer_recommend_obj->insert($insert_recommend);
|
||||||
|
|
||||||
|
if ($res2 && $res3 && $arid && $res_recommend) {
|
||||||
Db::commit();
|
Db::commit();
|
||||||
$articlecontroller = new articlecontroller();
|
$articlecontroller = new articlecontroller();
|
||||||
//发送email提醒审稿员
|
//发送email提醒审稿员
|
||||||
|
|||||||
Reference in New Issue
Block a user