This commit is contained in:
wangjinlei
2024-08-21 14:20:27 +08:00
parent 0cc5aa6e5f
commit 1f53c0419b
4 changed files with 140 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ use think\Db;
use ip\IpLocation;
use ipserv\iplimit;
use think\Queue;
use think\Validate;
/**
* @title 前段web接口
@@ -316,7 +317,7 @@ class Main extends Controller {
}
$list[$k]['title'] = $cache_title;
}
//连续出版判断,决定是否显示出版时间
//连续出版判断,决定是否显示出版时间
foreach ($list as $k => $v){
$ca_stage = $this->journal_stage_obj->where('journal_stage_id',$v['journal_stage_id'])->find();
if(($v['journal_id']==2&&$ca_stage['stage_year']>=2022)||($v['journal_id']==18&&$ca_stage['stage_year']>=2022)||($v['journal_id']==17&&$ca_stage['stage_year']>=2019)){
@@ -328,6 +329,87 @@ class Main extends Controller {
$re['articles'] = $list;
return jsonSuccess($re);
}
public function getCitedTopArticles(){
//tmr两条 mdm一条 bmec一条
$s_time = strtotime("-3 year");
$tmr_list = $this->article_obj->field("j_article.*,COUNT(j_article_cite.article_cite_id) as cite_num")
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where("j_article.ctime",">",$s_time)
->where("j_article.journal_id",1)
->where("j_article_cite.state",1)
->where("j_article_cite.is_wos",1)
->group("j_article.article_id")
->order("cite_num desc")
->limit(2)
->select();
$bmec_list = $this->article_obj->field("j_article.*,COUNT(j_article_cite.article_cite_id) as cite_num")
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where("j_article.ctime",">",$s_time)
->where("j_article.journal_id",25)
->where("j_article_cite.state",1)
->where("j_article_cite.is_wos",1)
->group("j_article.article_id")
->order("cite_num desc")
->limit(1)
->select();
$mdm_list = $this->article_obj->field("j_article.*,COUNT(j_article_cite.article_cite_id) as cite_num")
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where("j_article.ctime",">",$s_time)
->where("j_article.journal_id",11)
->where("j_article_cite.state",1)
->where("j_article_cite.is_wos",1)
->group("j_article.article_id")
->order("cite_num desc")
->limit(1)
->select();
$list = array_merge($tmr_list,$bmec_list,$mdm_list);
$re['list'] = $list;
return jsonSuccess($re);
}
public function getAllCiteArticles(){
$data = $this->request->post();
$rule = new Validate([
"limit"=> "require",
"page"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$s_time = strtotime("-3 year");
$list = $this->article_obj->field("j_article.*,COUNT(j_article_cite.article_cite_id) as cite_num")
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where("j_article.ctime",">",$s_time)
->where("j_article_cite.state",1)
->where("j_article_cite.is_wos",1)
->group("j_article.article_id")
->order("cite_num desc")
->page($data['page'],$data['limit'])
->select();
$count = $this->article_obj->field("j_article.*,COUNT(j_article_cite.article_cite_id) as cite_num")
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where("j_article.ctime",">",$s_time)
->where("j_article_cite.state",1)
->where("j_article_cite.is_wos",1)
->group("j_article.article_id")
->order("cite_num desc")
->count();
$re['list'] = strongArticleList($list);
$re['count'] = $count;
return jsonSuccess($re);
}
/**
* @title 获取3top文章列表