59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\api\controller\Base;
|
|
use think\Db;
|
|
use think\Queue;
|
|
use think\Validate;
|
|
|
|
class Monitor extends Base
|
|
{
|
|
public function __construct(\think\Request $request = null)
|
|
{
|
|
parent::__construct($request);
|
|
}
|
|
|
|
/**获取期刊编委列表
|
|
* @return void
|
|
*/
|
|
public function getJournalBoards(){
|
|
$journals = $this->journal_obj->where('state',0)->select();
|
|
foreach ($journals as $k => $v){
|
|
$boards = $this->board_to_journal_obj->field("t_board_to_journal.*,t_user.google_index,t_user.google_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']);
|
|
$journals[$k]["boards"] = $ca_board;
|
|
$journals[$k]['boards_count'] = count($boards);
|
|
$board_index = [];
|
|
foreach ($boards as $key => $val){
|
|
if($val['google_index']>0){
|
|
$board_index[] = $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:array_sum($board_index)/count($board_index);
|
|
}
|
|
$re['journals'] = $journals;
|
|
|
|
return jsonSuccess($re);
|
|
}
|
|
|
|
/**获取编委
|
|
* @return void
|
|
*/
|
|
public function getboards(){
|
|
$data = $this->request->post();
|
|
$rule = new Validate([
|
|
"journal_id" => "require"
|
|
]);
|
|
if(!$rule->check($data)){
|
|
return jsonError($rule->getError());
|
|
}
|
|
$ca_board = $this->getBoardsForJournal($data['journal_id']);
|
|
$re['boards'] = $ca_board;
|
|
|
|
return jsonSuccess($re);
|
|
}
|
|
|
|
} |