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:总数 * @return count:总数
*/ */
public function getTopArticle() { public function getTopArticle() {
$data = $this->request->post(); $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']; $limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
if($data['journal_id']==1){
$list = $this->article_obj
->field("j_article.*,count(j_article_cite.article_id) as cited_num")
$list = $this->article_obj ->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
->field("j_article.*,count(j_article_cite.article_id) as cited_num") ->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_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") ->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.journal_id', $data['journal_id'])
->where('j_article.state', 0) ->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) ->where('j_journal_stage.is_publish', 1)
->group("j_article.article_id") ->group("j_article.article_id")
->order("cited_num desc") ->having("count(j_article_cite.article_cite_id) > 3")
->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")
->count(); ->count();
}else{
$list = [];
$count = 0;
}
// $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'])
// $list = $this->article_obj->field('j_article.*,j_journal_stage.*') // ->where('j_article.state', 0)
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT') // ->where('j_journal_stage.is_publish', 1)
// ->where('j_article.journal_id', $data['journal_id']) // ->group("j_article.article_id")
// ->where('j_article.state', 0) // ->order("cited_num desc")
// ->where('j_journal_stage.is_publish', 1) // ->limit($limit_start,$data['pageSize'])
// ->where("j_journal_stage.stage_year",">",intval(date("Y"))-3) // ->select();
// ->orderRaw('j_article.cited+j_article.abs_num+j_article.pdf_num desc')
// ->limit($limit_start, $data['pageSize'])
// ->select();
// //
// $count = $this->article_obj // $count = $this->article_obj
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT') // ->join("j_journal_stage",'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->where('j_article.journal_id', $data['journal_id']) //// ->join("j_article_cite","j_article_cite.article_id = j_article.article_id","left")
// ->where('j_article.state', 0) // ->where('j_article.journal_id', $data['journal_id'])
// ->where('j_journal_stage.is_publish', 1) // ->where('j_article.state', 0)
// ->where("j_journal_stage.stage_year",">",intval(date("Y"))-3) // ->where('j_journal_stage.is_publish', 1)
// ->count(); // ->group("j_article.article_id")
// ->count();
if($count>100){//只显示前50片 //
$count = 100; // if($count>100){//只显示前50片
} // $count = 100;
return jsonSuccess(['articles' => strongArticleList($list), 'count' => $count]); // }
$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文章列表 * 获取online文章列表
*/ */