升级
This commit is contained in:
@@ -317,6 +317,75 @@ class Main extends Controller {
|
||||
}
|
||||
|
||||
|
||||
public function citeMate(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
"journal_issn"=>"require",
|
||||
"year"=>"require"
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$journal_info = $this->journal_obj->where("issn",$data['journal_issn'])->find();
|
||||
$r = $this->journal_stage_obj->where("journal_id",$journal_info['journal_id'])->where("stage_year",date("Y",strtotime("- ".$data['year']." year")))->where("is_publish",1)->limit(1)->select();
|
||||
if(!$r){
|
||||
return jsonError("没有该年数据");
|
||||
}
|
||||
|
||||
$cites = $this->article_obj
|
||||
->field("j_article.*")
|
||||
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","right")
|
||||
->where("j_article.journal_id",$journal_info['journal_id'])
|
||||
->where("j_article.journal_stage_id",">=",$r[0]['journal_stage_id'])
|
||||
->select();
|
||||
$topics = [];
|
||||
$country = [];
|
||||
foreach ($cites as $k=>$v){
|
||||
$cache_topics = $this->article_to_topic_obj->where("article_id",$v['article_id'])->select();
|
||||
foreach ($cache_topics as $k1=>$v1){
|
||||
isset($topics[$v1['topic_id']])?$topics[$v1['topic_id']]++:$topics[$v1['topic_id']] = 1;
|
||||
}
|
||||
|
||||
$cache_country = $this->article_author_obj->where("article_id",$v['article_id'])->where("is_report",1)->select();
|
||||
foreach ($cache_country as $k1=>$v1){
|
||||
isset($country[$v1['author_country']])?$country[$v1['author_country']]++:$country[$v1['author_country']] = 1;
|
||||
}
|
||||
}
|
||||
foreach ($topics as $k=>$v){
|
||||
$topics[$k] = [
|
||||
"topic_id"=>$k,
|
||||
"topic_name"=>Db::name("journal_topic")->where("journal_topic_id",$k)->value("title"),
|
||||
"num"=>$v
|
||||
];
|
||||
}
|
||||
$new_country = [];
|
||||
foreach ($country as $k=>$v){
|
||||
$new_country[] = [
|
||||
"country"=>$k,
|
||||
"num"=>$v
|
||||
];
|
||||
}
|
||||
|
||||
usort($topics, function($a, $b) {
|
||||
return $b['num'] - $a['num'];
|
||||
});
|
||||
|
||||
usort($new_country, function($a, $b) {
|
||||
return $b['num'] - $a['num'];
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$re['cites_num'] = count($cites);
|
||||
$re['topics'] = $topics;
|
||||
$re['country'] = $new_country;
|
||||
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function getAllCiteArticles(){
|
||||
|
||||
Reference in New Issue
Block a user