diff --git a/application/api/controller/Base.php b/application/api/controller/Base.php index 67b10fd..cd89138 100644 --- a/application/api/controller/Base.php +++ b/application/api/controller/Base.php @@ -383,8 +383,8 @@ class Base extends Controller $ids = $this->article_author_obj->where('email',$val['email'])->column("article_id"); $article2 = $this->article_obj->where('state',5)->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); $article22 = $this->article_obj->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); - $articles = array_merge($article1,$article2); - $articles_all = array_merge($article11,$article22); + $articles = my_array_merge($article1,$article2); + $articles_all = my_array_merge($article11,$article22); $reviewes = $this->article_reviewer_obj->join("t_article","t_article.article_id = t_article_reviewer.article_id","left")->where('t_article_reviewer.reviewer_id',$val['user_id'])->where('t_article.journal_id',$journal_id)->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select(); $val['articles'] = $articles; $val['articles_all'] = $articles_all; diff --git a/application/api/controller/User.php b/application/api/controller/User.php index 252fbc7..05f3a6d 100644 --- a/application/api/controller/User.php +++ b/application/api/controller/User.php @@ -260,12 +260,14 @@ class User extends Base $list = $this->user_to_yboard_obj ->field("t_user.account,t_user.realname,t_user.email,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.google_index,t_user.google_time,t_user_reviewer_info.field,t_user_reviewer_info.company,t_user_to_yboard.*") ->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left') - ->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user.user_id','left') + ->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left') ->where($where) ->group("t_user_to_yboard.user_id") ->order($order) ->limit($limit_start,$data['pageSize']) ->select(); + + //总结时间段 foreach($list as $k=>$v){ $ca_list = $this->user_to_yboard_obj->where("journal_id",$data['journal_id'])->where('user_id',$v['user_id'])->where('state',0)->select(); @@ -280,6 +282,20 @@ class User extends Base // $this->article_obj->where('user_id',$v['user_id'])->where('state') } + //查询贡献信息 + foreach ($list as $k => $val){ + $article1 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('state',5)->where('ctime',">",strtotime("-1 year"))->select(); + $article11 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('ctime',">",strtotime("-1 year"))->select(); + $ids = $this->article_author_obj->where('email',$val['email'])->column("article_id"); + $article2 = $this->article_obj->where('state',5)->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); + $article22 = $this->article_obj->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); + $articles = my_array_merge($article1,$article2); + $articles_all = my_array_merge($article11,$article22); + $reviewes = $this->article_reviewer_obj->join("t_article","t_article.article_id = t_article_reviewer.article_id","left")->where('t_article_reviewer.reviewer_id',$val['user_id'])->where('t_article.journal_id',$val['journal_id'])->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select(); + $list[$k]['articles'] = $articles; + $list[$k]['articles_all'] = $articles_all; + $list[$k]['reviewes'] = $reviewes; + } $count = $this->user_to_yboard_obj->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user.user_id','left')->where($where)->count(); $re['yboards'] = $list; $re['count'] = $count; diff --git a/application/common.php b/application/common.php index 687109f..2e4acac 100644 --- a/application/common.php +++ b/application/common.php @@ -331,6 +331,20 @@ function freshContent($production_obj){ } +function my_array_merge($articles1,$articles2){ + + $ids = []; + foreach ($articles1 as $v){ + $ids[] = $v["article_id"]; + } + foreach ($articles2 as $v){ + if(!in_array($v["article_id"],$ids)){ + $articles1[] = $v; + } + } + return $articles1; +} + function zw_array(array $arr){ sort($arr);