This commit is contained in:
wangjinlei
2022-04-20 14:50:55 +08:00
parent 6937919d48
commit 318222805d
2 changed files with 74 additions and 8 deletions

View File

@@ -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 获取待审文章

View File

@@ -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提醒审稿员