This commit is contained in:
wangjinlei
2025-07-21 10:41:58 +08:00
parent 93a9614a0f
commit bab491bef8
4 changed files with 132 additions and 67 deletions

View File

@@ -704,40 +704,60 @@ class Journal extends Controller {
$journal_info = $this->journal_obj->where('journal_id', $data['journal_id'])->find();
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
if($journal_info['cycle']==0){
if($journal_info['cycle']==0){//连续出刊的标志是0
$stage = $this->journal_stage_obj->where("journal_id",$data['journal_id'])->where("stage_year",date("Y"))->where("state",0)->find();
$list = $this->article_obj
->field('j_article.*,j_journal_stage.*')
$query = $this->article_obj
->field("j_article.article_id,j_article.journal_id,j_article.npp,j_article.doi,j_article.journal_stage_id,j_article.title,j_article.icon,j_article.abbr,j_journal_stage.stage_year")
->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
->where("j_article.journal_id",$journal_info["journal_id"])
->where("j_article.lx_online",0)
->where("j_journal_stage.journal_stage_id",$stage['journal_stage_id'])
->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",$journal_info["journal_id"])
->where("j_article.lx_online",0)
->where("j_journal_stage.journal_stage_id",$stage['journal_stage_id'])
->count();
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => strongArticleList($list), 'count' => $count]]);
->where("j_journal_stage.journal_stage_id",$stage['journal_stage_id']);
$list = $query->limit($limit_start,$data['pageSize'])->select();
$count = $query->count();
// $list = $this->article_obj
//// ->field('j_article.*,j_journal_stage.*')
// ->field("j_article.article_id,j_article.title,j_article.icon,j_article.abbr,j_journal_stage.stage_year")
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->where("j_article.journal_id",$journal_info["journal_id"])
// ->where("j_article.lx_online",0)
// ->where("j_journal_stage.journal_stage_id",$stage['journal_stage_id'])
// ->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",$journal_info["journal_id"])
// ->where("j_article.lx_online",0)
// ->where("j_journal_stage.journal_stage_id",$stage['journal_stage_id'])
// ->count();
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => $list, 'count' => $count]]);
}else{
$stages = $this->journal_stage_obj->where('journal_id', $data['journal_id'])->where('is_publish', 0)->where('state', 0)->column('journal_stage_id');
$list = $this->article_obj
->field('j_article.*,j_journal_stage.*')
$query = $this->article_obj
->field("j_article.article_id,j_article.journal_id,j_article.npp,j_article.doi,j_article.journal_stage_id,j_article.title,j_article.icon,j_article.abbr,j_journal_stage.stage_year")
->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
->where('j_article.journal_stage_id', 'in', $stages)
->where('j_article.state', 0)
->where('j_article.is_public',1)
->order('j_journal_stage.stage_year desc,j_article.sort 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_stage_id', 'in', $stages)
->where('j_article.state', 0)
->count();
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => strongArticleList($list), 'count' => $count]]);
->order('j_journal_stage.stage_year desc,j_article.sort desc');
$list = $query->limit($limit_start, $data['pageSize'])->select();
$count = $query->count();
// $list = $this->article_obj
//// ->field('j_article.*,j_journal_stage.*')
// ->field("j_article.article_id,j_article.title,j_article.icon,j_article.abbr,j_journal_stage.stage_year")
// ->join('j_journal_stage', 'j_article.journal_stage_id = j_journal_stage.journal_stage_id', 'LEFT')
// ->where('j_article.journal_stage_id', 'in', $stages)
// ->where('j_article.state', 0)
// ->where('j_article.is_public',1)
// ->order('j_journal_stage.stage_year desc,j_article.sort 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_stage_id', 'in', $stages)
// ->where('j_article.state', 0)
// ->count();
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => $list, 'count' => $count]]);
}
}
@@ -770,7 +790,7 @@ class Journal extends Controller {
->order('j_journal_stage.stage_year desc,j_journal_stage.stage_vol desc,j_journal_stage.stage_no desc,j_article.article_id desc')
->limit(4)
->select();
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => strongArticleList($list)]]);
return json(['code' => 0, 'msg' => 'success', 'data' => ['articlelist' => strongArticleList($list,false)]]);
}
@@ -886,8 +906,9 @@ class Journal extends Controller {
}
$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")
$query = $this->article_obj
->field("j_article.article_id,j_article.journal_id,j_article.npp,j_article.doi,j_article.journal_stage_id,j_article.title,j_article.icon,j_article.abbr,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'])
@@ -897,42 +918,72 @@ class Journal extends Controller {
->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();
$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")
->having("count(j_article_cite.article_cite_id) > 3")
->count();
->order("cited_num desc");
$list = $query->limit($limit_start,$data['pageSize'])->select();
$count = $query->count();
// $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();
// $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")
// ->having("count(j_article_cite.article_cite_id) > 3")
// ->count();
}else{
$list = $this->article_obj
$query = $this->article_obj
->field("j_article.article_id,j_article.journal_id,j_article.npp,j_article.doi,j_article.journal_stage_id,j_article.title,j_article.icon,j_article.abbr")
->join("j_journal_stage","j_journal_stage.journal_stage_id = j_article.journal_stage_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_journal_stage.is_publish', 1)
->orderRaw("(j_article.abs_num + j_article.pdf_num + j_article.html_num) desc")
->limit($limit_start,$data['pageSize'])
->select();
$count = $this->article_obj
->join("j_journal_stage","j_journal_stage.journal_stage_id = j_article.journal_stage_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_journal_stage.is_publish', 1)
->count();
->orderRaw("(j_article.abs_num + j_article.pdf_num + j_article.html_num) desc");
$list = $query->limit($limit_start,$data['pageSize'])->select();
$count = $query->count();
// $list = $this->article_obj
// ->join("j_journal_stage","j_journal_stage.journal_stage_id = j_article.journal_stage_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_journal_stage.is_publish', 1)
// ->orderRaw("(j_article.abs_num + j_article.pdf_num + j_article.html_num) desc")
// ->limit($limit_start,$data['pageSize'])
// ->select();
// $count = $this->article_obj
// ->join("j_journal_stage","j_journal_stage.journal_stage_id = j_article.journal_stage_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_journal_stage.is_publish', 1)
// ->count();
if($count>30){
$count = 30;
}
}
$re['articles'] = strongArticleList($list);
$re['articles'] = strongArticleList($list,false);
$re['count'] = $count;
return jsonSuccess($re);
}