This commit is contained in:
wangjinlei
2022-11-01 09:13:15 +08:00
parent cf6b6004ba
commit 6814f788ed
3 changed files with 327 additions and 19 deletions

View File

@@ -220,6 +220,272 @@ class Board extends Controller {
$re['boards'] = $list;
return jsonSuccess($re);
}
/**
* 获取编委列表
*/
public function getBoards(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require',
'board_group_id'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/getBoardListForSubmit';
$pra = [];
$pra['issn'] = $journal_info['issn'];
// if($data['board_group_id']!=-1){
$pra['board_group_id'] = $data['board_group_id'];
// }else{
// $pra['board_group_id']
// }
$res = object_to_array(json_decode(myPost($url, $pra)));
$boards = $res['data']['boards'];
$frag = [];
foreach($boards as $k => $v){
$cache_user = $this->user_obj->where('user_id',$v['tuser_id'])->find();
$h_index = $this->user_index_obj->where('user_id',$cache_user['user_id'])->where('year',date('Y'))->find();
$h_index_num = 0;
if($h_index){
$h_index_num = $h_index['h_index'];
}
$boards[$k]['phone'] = $cache_user['phone'];
$boards[$k]['hindex'] = $h_index_num;
}
$re['boards'] = $boards;
return jsonSuccess($re);
}
/**
* 获取编委信息详情
*/
public function getBoardMsgDetail(){
$data = $this->request->post();
$rule = new Validate([
'board_id'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/getBoardDetail';
$pra = [];
$pra['board_id'] = $data['board_id'];
$res = object_to_array(json_decode(myPost($url, $pra)));
$board = $res['data']['board'];
$user_info = $this->user_obj->where('user_id',$board['tuser_id'])->find();
// $index_info = $this->user_index_obj->where('user_id',$user_info['user_id'])->where('year',date('Y'))->find();
// if($index_info){
// $board['h_index'] = $index_info['h_index'];
// }else{
// $board['h_index'] = 0;
// }
$re['board'] = $board;
return jsonSuccess($re);
}
/**
* 删除编委
*/
public function delBoard(){
$data = $this->request->post();
$rule = new Validate([
'board_id' => 'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/delBoard';
$pra = [];
$pra['board_id'] = $data['board_id'];
$res = object_to_array(json_decode(myPost($url, $pra)));
$board = $res['data']['board'];
$journal_info = $this->journal_obj->where('issn',$board['issn'])->find();
$this->board_to_journal_obj->where('user_id',$board['tuser_id'])->where('journal_id',$journal_info['journal_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* 获取编委分组列表
*/
public function getBoardGroupList(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/getBoardGroups';
$pra = [];
$pra['issn'] = $journal_info['issn'];
$res = object_to_array(json_decode(myPost($url, $pra)));
$groups = $res['data']['groups'];
$re['groups'] = $groups;
return jsonSuccess($re);
}
/**
* 添加编委分组
*/
public function addBoardGroup(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require|number',
'group_name'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/addBoardGroup';
$pra = [];
$pra['issn'] = $journal_info['issn'];
$pra['group_name'] = trim($data['group_name']);
$res = object_to_array(json_decode(myPost($url, $pra)));
return jsonSuccess([]);
}
/**
* 删除编委分组
*/
public function delBoardGroup(){
$data = $this->request->post();
$rule = new Validate([
'board_group_id'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/delBoardGroup';
$pra = [];
$pra['board_group_id'] = $data['board_group_id'];
$res = object_to_array(json_decode(myPost($url, $pra)));
if($res['code']==0){
return jsonSuccess([]);
}else{
return jsonError($res['msg']);
}
}
/**
* 添加编委
*/
public function addBoard(){
$data = $this->request->post();
$rule = new Validate([
'user_id'=>'require',
'journal_id'=>'require',
'name'=>'require',
'board_group_id'=>'require',
'website'=>'require',
'type'=>'require',
'dr'=>'require',
'title'=>'require',
'field'=>'require',
'address'=>'require',
'country'=>'require',
'board_icon'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$user_info = $this->user_obj->where('user_id',$data['user_id'])->find();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$check = $this->board_to_journal_obj->where('user_id',$data['user_id'])->where('journal_id',$data['journal_id'])->find();
if($check){
return jsonError("Add repeatedly");
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/addBoard';
$pra = [];
$pra['user_id'] = $data['user_id'];
$pra['journal_issn'] = $journal_info['issn'];
$pra['type'] = $data['type'];
$pra['name'] = $data['name'];
$pra['website'] = $data['website'];
$pra['dr'] = $data['dr'];
$pra['email'] = $user_info['email'];
$pra['title'] = $data['title'];
$pra['field'] = $data['field'];
$pra['address'] = $data['address'];
$pra['country'] = $data['country'];
$pra['board_icon'] = $data['board_icon'];
$pra['board_group_id'] = $data['board_group_id'];
$res = object_to_array(json_decode(myPost($url, $pra)));
if($res['code']==1){
return jsonError($res['msg']);
}
//添加对应关系
$insert['user_id'] = $data['user_id'];
$insert['journal_id'] = $data['journal_id'];
$this->board_to_journal_obj->insert($insert);
return jsonSuccess([]);
}
/**
* 编辑编委信息
*/
public function editBoard(){
$data = $this->request->post();
$rule = new Validate([
'board_id'=>'require',
'name'=>'require',
'board_group_id'=>'require',
'website'=>'require',
'type'=>'require',
'dr'=>'require',
'title'=>'require',
'field'=>'require',
'address'=>'require',
'country'=>'require',
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/editBoard';
$pra = [];
$pra['board_id'] = $data['board_id'];
$pra['type'] = $data['type'];
$pra['name'] = $data['name'];
$pra['website'] = $data['website'];
$pra['dr'] = $data['dr'];
$pra['title'] = $data['title'];
$pra['field'] = $data['field'];
$pra['address'] = $data['address'];
$pra['country'] = $data['country'];
$pra['board_group_id'] = $data['board_group_id'];
$res = object_to_array(json_decode(myPost($url, $pra)));
return jsonSuccess([]);
}
/**
* 编辑编委头像信息
*/
public function editIcon(){
$data = $this->request->post();
$rule = new Validate([
'board_id'=>'require',
'board_icon'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$url = 'http://journalapi.tmrjournals.com/public/index.php/master/Board/editBoardIcon';
$pra = [];
$pra['board_id'] = $data['board_id'];
$pra['board_icon'] = $data['board_icon'];
$res = object_to_array(json_decode(myPost($url, $pra)));
return jsonSuccess([]);
}
/**
* @title 编委导入--关联用户
@@ -329,5 +595,19 @@ class Board extends Controller {
$re['user'] = $user;
return jsonSuccess($re);
}
public function up_boardIcon_file(){
$file = request()->file('boardIcon');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'boardIcon');
if ($info) {
return json(['code' => 0, 'msg' => 'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
}