1
This commit is contained in:
@@ -1459,7 +1459,14 @@ class Article extends Controller {
|
||||
//通讯作者转为审稿人
|
||||
$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();
|
||||
return json(['code' => 0]);
|
||||
} 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 获取待审文章
|
||||
|
||||
@@ -32,6 +32,7 @@ class Special extends Controller
|
||||
protected $user_to_special_obj = '';
|
||||
protected $chief_to_journal_obj = '';
|
||||
protected $article_reviewer_obj = '';
|
||||
protected $user_reviewer_recommend_obj = '';
|
||||
|
||||
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->chief_to_journal_obj = Db::name('chief_to_journal');
|
||||
$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();
|
||||
$rule = new Validate([
|
||||
'editor_id' => 'require',
|
||||
'email' => 'require|email',
|
||||
'realname' => 'require',
|
||||
'article_id' => 'require',
|
||||
'major' => 'require',
|
||||
'cmajor' => 'require'
|
||||
'cmajor' => 'require',
|
||||
'country' => 'require'
|
||||
]);
|
||||
if (!$rule->check($data)) {
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$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();
|
||||
|
||||
|
||||
|
||||
Db::startTrans();
|
||||
|
||||
//判断此用户是否存在
|
||||
$reviewer_info = $this->user_obj->where('email', $data['email'])->where('state', 0)->find();
|
||||
if ($reviewer_info == null) { //添加用户
|
||||
@@ -558,7 +558,6 @@ class Special extends Controller
|
||||
$i_id = $this->user_obj->insertGetId($insert_user);
|
||||
$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();
|
||||
if ($check_repi != null) {
|
||||
@@ -575,6 +574,7 @@ class Special extends Controller
|
||||
$insert_reviewer_info['reviewer_id'] = $reviewer_info['user_id'];
|
||||
$insert_reviewer_info['major'] = $data['major'];
|
||||
$insert_reviewer_info['cmajor'] = $data['cmajor'];
|
||||
$insert_reviewer_info['country'] = $data['country'];
|
||||
$res2 = $this->user_reviewer_info_obj->insert($insert_reviewer_info);
|
||||
}
|
||||
$insert_rtj['reviewer_id'] = $reviewer_info['user_id'];
|
||||
@@ -592,7 +592,14 @@ class Special extends Controller
|
||||
$insert_article_reviewer['ctime'] = time();
|
||||
$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();
|
||||
$articlecontroller = new articlecontroller();
|
||||
//发送email提醒审稿员
|
||||
|
||||
Reference in New Issue
Block a user