diff --git a/application/api/controller/Board.php b/application/api/controller/Board.php index 1f699cad..46bd55db 100644 --- a/application/api/controller/Board.php +++ b/application/api/controller/Board.php @@ -567,6 +567,8 @@ class Board extends Base { return jsonError($rule->getError()); } $check = $this->board_to_journal_obj->where('user_id',$data['user_id'])->where('state',0)->find(); + $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find(); + $user_info = $this->user_obj->where('user_id',$data['user_id'])->find(); if($check){ return jsonError("According to TMR Publishing Group Policy, scientists are not allowed to serve on the editorial board of more than one journal at the same time."); } @@ -578,6 +580,18 @@ class Board extends Base { $insert['board_group_id'] = $data['board_group_id']; $insert['research_areas'] = trim($data['research_areas']); $this->board_to_journal_obj->insert($insert); + + $reviewer_journal = $this->reviewer_to_journal_obj->where("reviewer_id",$user_info['user_id'])->where("journal_id",$journal_info['journal_id'])->find(); + if(!$reviewer_journal){ + $insert_reviewer['reviewer_id'] = $user_info['user_id']; + $insert_reviewer['journal_id'] = $journal_info['journal_id']; + $insert_reviewer['account'] = $user_info['account']; + $insert_reviewer['journal_title'] = $journal_info['title']; + $insert_reviewer['ctime'] = time(); + $this->reviewer_to_journal_obj->insert($insert_reviewer); + } + + return jsonSuccess([]); } diff --git a/application/api/controller/Reviewer.php b/application/api/controller/Reviewer.php index fc2cbcc3..a031a419 100644 --- a/application/api/controller/Reviewer.php +++ b/application/api/controller/Reviewer.php @@ -2299,14 +2299,14 @@ class Reviewer extends Base ->count(); if(empty($count)){ - return jsonSuccess(['reviewers' => [],'count' => 0]); + return jsonSuccess(['reviewers' => [],'count' => 0,"sql"=>$this->reviewer_to_journal_obj->getLastSql()]); } //获取数据 $list = $this->reviewer_to_journal_obj ->join("t_user", "t_user.user_id = t_reviewer_to_journal.reviewer_id", "left") ->join("t_user_reviewer_info", "t_user_reviewer_info.reviewer_id = t_reviewer_to_journal.reviewer_id", "left") - ->field('t_user.account,t_user.email,t_user.realname,t_user_reviewer_info.company,t_user_reviewer_info.field,t_user.user_id,t_user.rs_num') + ->field('t_user.account,t_user.email,t_user.realname,t_user_reviewer_info.company,t_user_reviewer_info.field,t_user_reviewer_info.last_invite_time,t_user.user_id,t_user.rs_num') ->where($where)->where(function($query) use ($iTeenDaysLater) { $query->where('t_user_reviewer_info.last_invite_time', '<', $iTeenDaysLater) ->whereOr('t_user_reviewer_info.last_invite_time', '=', 0); diff --git a/application/api/controller/User.php b/application/api/controller/User.php index 25fc120f..27a9a750 100644 --- a/application/api/controller/User.php +++ b/application/api/controller/User.php @@ -214,6 +214,21 @@ class User extends Base $insert['ctime'] = time(); $this->user_to_yboard_obj->insert($insert); + //将此人添加到审稿人中 + $reviewer_journal = $this->reviewer_to_journal_obj->where("reviewer_id",$user_info['user_id'])->where("journal_id",$journal_info['journal_id'])->find(); + if($reviewer_journal){ + $this->reviewer_to_journal_obj->where("rtj_id",$reviewer_journal['rtj_id'])->update(['is_yboard'=>1]); + }else{ + $insert_reviewer['reviewer_id'] = $user_info['user_id']; + $insert_reviewer['journal_id'] = $journal_info['journal_id']; + $insert_reviewer['account'] = $user_info['account']; + $insert_reviewer['journal_title'] = $journal_info['title']; + $insert_reviewer['is_yboard'] = 1; + $insert_reviewer['ctime'] = time(); + $this->reviewer_to_journal_obj->insert($insert_reviewer); + } + + //发送通知邮件给用户 $tt = 'Dear Dr. ' . ($user_info['realname'] == '' ? $user_info['account'] : $user_info['realname']) . ',

'; $tt .= "Thanks for your support to the journal ".$journal_info['title'].", Please note that your account of ".$journal_info['title']." has been created. The login credentials in the system is as below:

";