升级
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(){
|
public function getAllCiteArticles(){
|
||||||
|
|||||||
Reference in New Issue
Block a user