This commit is contained in:
wangjinlei
2025-01-16 14:17:24 +08:00
parent 35048be7b1
commit 4c8331ee91
2 changed files with 89 additions and 42 deletions

View File

@@ -864,60 +864,76 @@ class Journal extends Controller {
* @return count:总数
*/
public function getTopArticle() {
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id', $data['journal_id'])->find();
$rule = new Validate([
"journal_id"=>"require",
"pageIndex"=>"require",
"pageSize"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj
->field("j_article.*,count(j_article_cite.article_id) as cited_num")
if($data['journal_id']==1){
$list = $this->article_obj
->field("j_article.*,count(j_article_cite.article_id) as cited_num")
->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where('j_article.journal_id', $data['journal_id'])
->where('j_article.state', 0)
->where("j_journal_stage.stage_year",">",date("Y")-6)
->where("j_article_cite.is_wos",1)
->where('j_journal_stage.is_publish', 1)
->group("j_article.article_id")
->having("count(j_article_cite.article_cite_id) > 3")
->order("cited_num desc")
->limit($limit_start,$data['pageSize'])
->select();
// echo $this->article_obj->getLastSql();
$count = $this->article_obj
->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where('j_article.journal_id', $data['journal_id'])
->where('j_article.state', 0)
->where("j_journal_stage.stage_year",">",date("Y")-6)
->where("j_article_cite.is_wos",1)
->where('j_journal_stage.is_publish', 1)
->group("j_article.article_id")
->order("cited_num desc")
->limit($limit_start,$data['pageSize'])
->select();
$count = $this->article_obj
->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
->where('j_article.journal_id', $data['journal_id'])
->where('j_article.state', 0)
->where('j_journal_stage.is_publish', 1)
->group("j_article.article_id")
->having("count(j_article_cite.article_cite_id) > 3")
->count();
}else{
$list = [];
$count = 0;
}
// $list = $this->article_obj->field('j_article.*,j_journal_stage.*')
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->where('j_article.journal_id', $data['journal_id'])
// ->where('j_article.state', 0)
// ->where('j_journal_stage.is_publish', 1)
// ->where("j_journal_stage.stage_year",">",intval(date("Y"))-3)
// ->orderRaw('j_article.cited+j_article.abs_num+j_article.pdf_num desc')
// ->limit($limit_start, $data['pageSize'])
// ->select();
// $list = $this->article_obj
// ->field("j_article.*,count(j_article_cite.article_id) as cited_num")
// ->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
// ->where('j_article.journal_id', $data['journal_id'])
// ->where('j_article.state', 0)
// ->where('j_journal_stage.is_publish', 1)
// ->group("j_article.article_id")
// ->order("cited_num desc")
// ->limit($limit_start,$data['pageSize'])
// ->select();
//
// $count = $this->article_obj
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->where('j_article.journal_id', $data['journal_id'])
// ->where('j_article.state', 0)
// ->where('j_journal_stage.is_publish', 1)
// ->where("j_journal_stage.stage_year",">",intval(date("Y"))-3)
// ->count();
if($count>100){//只显示前50片
$count = 100;
}
return jsonSuccess(['articles' => strongArticleList($list), 'count' => $count]);
// ->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
//// ->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
// ->where('j_article.journal_id', $data['journal_id'])
// ->where('j_article.state', 0)
// ->where('j_journal_stage.is_publish', 1)
// ->group("j_article.article_id")
// ->count();
//
// if($count>100){//只显示前50片
// $count = 100;
// }
$re['articles'] = strongArticleList($list);
$re['count'] = $count;
return jsonSuccess($re);
}
/**

View File

@@ -650,6 +650,37 @@ class Article extends Controller
}
public function getArticleDetail(){
$data = $this->request->post();
$rule = new Validate([
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$detail = $this->article_obj->where("article_id",$data['article_id'])->find();
$detail['has_html'] = hasHtml($data['article_id']);
$re['detail'] = $detail;
return jsonSuccess($re);
}
public function changeArticleType2(){
$data = $this->request->post();
$rule = new Validate([
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$this->article_obj->where("article_id",$data['article_id'])->update(['html_type'=>2]);
return jsonSuccess([]);
}
/**
* 获取online文章列表
*/