This commit is contained in:
wangjinlei
2023-09-22 10:50:18 +08:00
parent 9a6f419c9a
commit 54d7c0d69f
5 changed files with 167 additions and 1 deletions

View File

@@ -389,6 +389,22 @@ class Board extends Base {
return jsonSuccess([]); return jsonSuccess([]);
} }
/**编辑编委备注
* @return void
*/
public function editBoardRemark(){
$data = $this->request->post();
$rule = new Validate([
"btj_id"=>"require",
"remark"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$this->board_to_journal_obj->where('btj_id',$data['btj_id'])->update(['remark'=>trim($data['remark'])]);
return jsonSuccess([]);
}
/** /**
* 删除编委 * 删除编委
*/ */

View File

@@ -20,7 +20,12 @@ class Monitor extends Base
public function getJournalBoards(){ public function getJournalBoards(){
$journals = $this->journal_obj->where('state',0)->select(); $journals = $this->journal_obj->where('state',0)->select();
foreach ($journals as $k => $v){ foreach ($journals as $k => $v){
$boards = $this->board_to_journal_obj->field("t_board_to_journal.*,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time")->join("t_user","t_user.user_id = t_board_to_journal.user_id","left")->where("t_board_to_journal.journal_id",$v['journal_id'])->where('t_board_to_journal.state',0)->select(); $boards = $this->board_to_journal_obj
->field("t_board_to_journal.*,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time")
->join("t_user","t_user.user_id = t_board_to_journal.user_id","left")
->where("t_board_to_journal.journal_id",$v['journal_id'])
->where('t_board_to_journal.state',0)
->select();
$ca_board = $this->getBoardsForJournal($v['journal_id']); $ca_board = $this->getBoardsForJournal($v['journal_id']);
$journals[$k]["boards"] = $ca_board; $journals[$k]["boards"] = $ca_board;
$journals[$k]['boards_count'] = count($boards); $journals[$k]['boards_count'] = count($boards);
@@ -61,4 +66,91 @@ class Monitor extends Base
return jsonSuccess($re); return jsonSuccess($re);
} }
/**获取期刊青年编委
* @return void
*/
public function getYboards(){
$data = $this->request->post();
$rule = new Validate([
"journal_id"=>"require",
'pageIndex'=>'require',
'pageSize'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$yboards = $this->user_to_yboard_obj
->field("t_user.account,t_user.realname,t_user.email,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.google_index,t_user.google_time,t_user_reviewer_info.field,t_user_reviewer_info.company,t_user_to_yboard.*")
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
->where("t_user_to_yboard.journal_id",$data['journal_id'])
->where("t_user_to_yboard.start_date","<=",time())
->where("t_user_to_yboard.end_date",">=",time())
->where("t_user_to_yboard.state",0)
->page($data['pageIndex'],$data['pageSize'])
->select();
$count = $this->user_to_yboard_obj
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
->where("t_user_to_yboard.journal_id",$data['journal_id'])
->where("t_user_to_yboard.start_date","<=",time())
->where("t_user_to_yboard.end_date",">=",time())
->where("t_user_to_yboard.state",0)->count();
foreach($yboards as $k=>$val){
$article1 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('state',5)->where('ctime',">",strtotime("-1 year"))->select();
$article11 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('ctime',">",strtotime("-1 year"))->select();
$ids = $this->article_author_obj->where('email',$val['email'])->column("article_id");
$article2 = $this->article_obj->where('state',5)->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select();
$article22 = $this->article_obj->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select();
$articles = my_array_merge($article1,$article2);
$articles_all = my_array_merge($article11,$article22);
$reviewes = $this->article_reviewer_obj->join("t_article","t_article.article_id = t_article_reviewer.article_id","left")->where('t_article_reviewer.reviewer_id',$val['user_id'])->where('t_article.journal_id',$data['journal_id'])->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select();
$yboards[$k]['articles'] = $articles;
$yboards[$k]['articles_all'] = $articles_all;
$yboards[$k]['reviewes'] = $reviewes;
}
$re['yboards'] = $yboards;
$re['count'] = $count;
return jsonSuccess($re);
}
/**获取期刊青年科学家列表
* @return void
*/
public function getJournalYBoards(){
$journals = $this->journal_obj->where('state',0)->select();
foreach ($journals as $k => $v){
$yboards = $this->user_to_yboard_obj
->field("t_user.account,t_user.realname,t_user.email,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.google_index,t_user.google_time,t_user_reviewer_info.field,t_user_reviewer_info.company,t_user_to_yboard.*")
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
->where("t_user_to_yboard.journal_id",$v['journal_id'])
->where("t_user_to_yboard.start_date","<=",time())
->where("t_user_to_yboard.end_date",">=",time())
->where("t_user_to_yboard.state",0)
->select();
$journals[$k]['yboard_count'] = count($yboards);
$board_index = [];
$sum = 0;
foreach ($yboards as $key => $val){
if($val['wos_index']>0){
$board_index[] = $val['wos_index']*1.5;
$sum += $val['wos_index']*1.5;
}elseif($val['google_index']>0){
$board_index[] = $val['google_index'];
$sum += $val['google_index'];
}
}
$journals[$k]['index_num'] = count($board_index);
$journals[$k]['median'] = count($board_index)==0?0:zw_array($board_index);
$journals[$k]['avg'] = count($board_index)==0?0:round($sum/count($board_index),2);
}
$re['journals'] = $journals;
return jsonSuccess($re);
}
} }

View File

@@ -1529,6 +1529,7 @@ class Reviewer extends Base
$info_insert['major'] = $data['major']; $info_insert['major'] = $data['major'];
$info_insert['qualifications'] = isset($data['cv'])?trim($data['cv']):''; $info_insert['qualifications'] = isset($data['cv'])?trim($data['cv']):'';
$info_insert['field'] = trim($data['field']); $info_insert['field'] = trim($data['field']);
$info_insert['test_from'] = "addReviewer";
$res1 = $this->user_reviewer_info_obj->insertGetId($info_insert); $res1 = $this->user_reviewer_info_obj->insertGetId($info_insert);
$to_insert['reviewer_id'] = $uid; $to_insert['reviewer_id'] = $uid;
$to_insert['journal_id'] = $data['journal_id']; $to_insert['journal_id'] = $data['journal_id'];
@@ -1597,6 +1598,7 @@ class Reviewer extends Base
$info_insert['field'] = trim($data['field']); $info_insert['field'] = trim($data['field']);
$info_insert['qualifications'] = trim($data['cv']); $info_insert['qualifications'] = trim($data['cv']);
if ($reviewer_info == null) { if ($reviewer_info == null) {
$info_insert['test_from'] = "addReviewerBee";
$this->user_reviewer_info_obj->insertGetId($info_insert); $this->user_reviewer_info_obj->insertGetId($info_insert);
} else { } else {
$this->user_reviewer_info_obj->where('reviewer_info_id', $reviewer_info['reviewer_info_id'])->update($info_insert); $this->user_reviewer_info_obj->where('reviewer_info_id', $reviewer_info['reviewer_info_id'])->update($info_insert);

View File

@@ -1103,6 +1103,7 @@ class User extends Base
$uid = $this->user_obj->insertGetId($ui); $uid = $this->user_obj->insertGetId($ui);
$uir['reviewer_id'] = $uid; $uir['reviewer_id'] = $uid;
$uir['country'] = trim($val['author_country']); $uir['country'] = trim($val['author_country']);
$uir['test_from'] = "addUserForAuthor";
$this->user_reviewer_info_obj->insert($uir); $this->user_reviewer_info_obj->insert($uir);
$check_user = $this->user_obj->where('user_id',$uid)->find(); $check_user = $this->user_obj->where('user_id',$uid)->find();
} }
@@ -1184,6 +1185,7 @@ class User extends Base
$inser_data['ctime'] = time(); $inser_data['ctime'] = time();
$id = $this->user_obj->insertGetId($inser_data); $id = $this->user_obj->insertGetId($inser_data);
$insert_reviewer['reviewer_id'] = $id; $insert_reviewer['reviewer_id'] = $id;
$insert_reviewer['test_from'] = "adduser";
$this->user_reviewer_info_obj->insert($insert_reviewer); $this->user_reviewer_info_obj->insert($insert_reviewer);
return jsonSuccess([]); return jsonSuccess([]);
} }
@@ -1911,6 +1913,7 @@ class User extends Base
//存入个人额外信息 //存入个人额外信息
$insert_reviewer['reviewer_id'] = $id; $insert_reviewer['reviewer_id'] = $id;
$insert_reviewer['test_from'] = "register";
$r_res = $this->user_reviewer_info_obj->insert($insert_reviewer); $r_res = $this->user_reviewer_info_obj->insert($insert_reviewer);
//存储注册验证信息 //存储注册验证信息
@@ -2413,6 +2416,7 @@ class User extends Base
$insert_info['major'] = $data['major']; $insert_info['major'] = $data['major'];
$insert_info['field'] = $data['field']; $insert_info['field'] = $data['field'];
$insert_info['qualifications'] = $data['qualifications']; $insert_info['qualifications'] = $data['qualifications'];
$insert_info['test_from'] = "ReviewerFromAuthorAdopt";
$res = $this->user_reviewer_info_obj->insertGetId($insert_info); $res = $this->user_reviewer_info_obj->insertGetId($insert_info);
} }
$insert_to['reviewer_id'] = $user_info['user_id']; $insert_to['reviewer_id'] = $user_info['user_id'];
@@ -2488,6 +2492,7 @@ class User extends Base
$insert_info['company'] = $apply_info['company']; $insert_info['company'] = $apply_info['company'];
$insert_info['major'] = $apply_info['major']; $insert_info['major'] = $apply_info['major'];
$insert_info['field'] = $apply_info['field']; $insert_info['field'] = $apply_info['field'];
$insert_info['test_from'] = "reviewerAdopt";
// $insert_info['qualifications'] = $apply_info['qualifications']; // $insert_info['qualifications'] = $apply_info['qualifications'];
$addinfo_res = $this->user_reviewer_info_obj->insertGetId($insert_info); $addinfo_res = $this->user_reviewer_info_obj->insertGetId($insert_info);
$has_res = $this->user_obj->where('account', $apply_info['name'])->find(); $has_res = $this->user_obj->where('account', $apply_info['name'])->find();
@@ -2503,6 +2508,7 @@ class User extends Base
$insert_info['company'] = $apply_info['company']; $insert_info['company'] = $apply_info['company'];
$insert_info['major'] = $apply_info['major']; $insert_info['major'] = $apply_info['major'];
$insert_info['field'] = $apply_info['field']; $insert_info['field'] = $apply_info['field'];
$insert_info['test_from'] = "reviewerAdopt2";
// $insert_info['qualifications'] = $apply_info['qualifications']; // $insert_info['qualifications'] = $apply_info['qualifications'];
$this->user_reviewer_info_obj->insert($insert_info); $this->user_reviewer_info_obj->insert($insert_info);
}else{ }else{

View File

@@ -54,6 +54,39 @@ class Web extends Base
return jsonSuccess($re); return jsonSuccess($re);
} }
/**获取编委国际化
* @return void
*/
public function getBWGJHByIssn(){
$data = $this->request->post();
$rule = new Validate([
"issn"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
$list = $this->board_to_journal_obj
->field("t_board_to_journal.*,t_board_group.group_name,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*")
->join("t_board_group","t_board_group.board_group_id = t_board_to_journal.board_group_id","left")
->join("t_user","t_user.user_id = t_board_to_journal.user_id","left")
->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id=t_board_to_journal.user_id","left")
->where('t_board_to_journal.journal_id',$journal_info['journal_id'])
->where('t_board_to_journal.state',0)
->select();
$frag = [];
foreach ($list as $v) {
if (isset($frag[$v['country']])) {
$frag[$v['country']]++;
} else {
$frag[$v['country']] = 1;
}
}
$re['count'] = count($list);
$re['country'] = $frag;
return jsonSuccess($re);
}
/** /**
* @return void * @return void
*/ */
@@ -67,6 +100,23 @@ class Web extends Base
} }
$journal_info = $this->journal_obj->where('issn',$data['issn'])->find(); $journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
$boards = $this->getBoardsForJournal($journal_info['journal_id']); $boards = $this->getBoardsForJournal($journal_info['journal_id']);
//获取委员会和编辑信息
$committees = $this->committee_to_journal_obj
->field("t_committee_to_journal.*,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*")
->join("t_user","t_user.user_id = t_committee_to_journal.user_id","left")
->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id = t_committee_to_journal.user_id","left")
->where('t_committee_to_journal.journal_id',$journal_info['journal_id'])
->where('t_committee_to_journal.state',0)
->select();
$editors = $this->editor_to_journal_obj
->field("t_editor_to_journal.*,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*")
->join("t_user","t_user.user_id = t_editor_to_journal.user_id","left")
->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id = t_editor_to_journal.user_id","left")
->where('t_editor_to_journal.journal_id',$journal_info['journal_id'])
->where('t_editor_to_journal.state',0)
->select();
$re['editors'] = $editors;
$re['committees'] = $committees;
$re['boards'] = $boards; $re['boards'] = $boards;
return jsonSuccess($re); return jsonSuccess($re);
} }