diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index e59b8ff..90a7078 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -558,12 +558,11 @@ class Article extends Base $iArticleId = empty($data['articleId']) ? 0 : $data['articleId']; if(!empty($iArticleId)){ $aWhere = ['article_id' => $iArticleId,'state' => ['between',[1,3]]]; - $aFinal = Db::name('article_reviewer_final')->field('id,reviewer_id,state,suggest_for_editor,suggest_for_author,review_time')->where($aWhere)->select(); + $aFinal = Db::name('article_reviewer_final')->where($aWhere)->select(); if(!empty($aFinal)){ //数据处理 foreach ($aFinal as $key => $value) { $aFinal[$key]['review_time'] = empty($value['review_time']) ? '' : date('Y-m-d H:i:s',$value['review_time']); - $aFinal[$key]['realname'] = empty($aUser[$value['reviewer_id']]) ? '' : $aUser[$value['reviewer_id']]; } } } diff --git a/application/api/controller/Finalreview.php b/application/api/controller/Finalreview.php index 2ae3eca..6f150d3 100644 --- a/application/api/controller/Finalreview.php +++ b/application/api/controller/Finalreview.php @@ -284,8 +284,8 @@ class Finalreview extends Base //用户账号 $aSearch['{account}'] = empty($aUser['account']) ? '' : $aUser['account']; //审稿链接 - $aSearch['{accept_url}'] = $this->createReviewUrl($iReviewerId,$iId,1); - $aSearch['{reject_url}'] = $this->createReviewUrl($iReviewerId,$iId,2); + $aSearch['{accept_url}'] = $this->createReviewUrl($iReviewerId,$iId,1,$iArticleId); + $aSearch['{reject_url}'] = $this->createReviewUrl($iReviewerId,$iId,2,$iArticleId); //邮件标题 $title = str_replace(array_keys($aSearch), array_values($aSearch),$aEmailConfig['email_subject']); @@ -384,6 +384,7 @@ class Finalreview extends Base } //数据库更新 + $aUpdate['is_anonymous'] = empty($aParam['is_anonymous']) ? 2 : $aParam['is_anonymous']; $aWhere = ['id' => $iId]; $result = Db::name('article_reviewer_final')->where($aWhere)->limit(1)->update($aUpdate); if(!$result){ @@ -443,7 +444,7 @@ class Finalreview extends Base } //查询审稿记录 $aWhere = ['id' => $iId]; - $aReviewerFinal = Db::name('article_reviewer_final')->field('article_id,state,suggest_for_editor,suggest_for_author,update_time,reviewer_id')->where($aWhere)->find(); + $aReviewerFinal = Db::name('article_reviewer_final')->field('article_id,state,suggest_for_editor,suggest_for_author,update_time,reviewer_id,is_anonymous')->where($aWhere)->find(); if(empty($aReviewerFinal)){ return json_encode(['status' => 3,'msg' => 'No review records found']); } @@ -524,11 +525,22 @@ class Finalreview extends Base $aQuestion = empty($aQuestion) ? [] : array_column($aQuestion, null,'art_rev_id'); //查询复审 - if(in_array('repeat', $sQuery)){ + $aReviewerRepeatLists = []; + // if(in_array('repeat', $sQuery)){ $aWhere = ['art_rev_id' => ['in',$aArtRevId],'recommend' => ['between',[1,3]]]; - $aReviewerRepeat = Db::name('article_reviewer_repeat')->field('art_rev_id,recommend,content,ctime,stime')->where($aWhere)->select(); - $aReviewerRepeat = empty($aReviewerRepeat) ? [] : array_column($aReviewerRepeat, null,'art_rev_id'); - } + $aReviewerRepeat = Db::name('article_reviewer_repeat')->field('art_rev_rep_id,art_rev_id,recommend,content,ctime,stime')->where($aWhere)->select(); + if(!empty($aReviewerRepeat)){ + foreach ($aReviewerRepeat as $key => $value) { + if(!empty($value['ctime'])){ + $value['ctime'] = date('Y-m-d H:i:s',$value['ctime']); + } + if(!empty($value['stime'])){ + $value['stime'] = date('Y-m-d H:i:s',$value['stime']); + } + $aReviewerRepeatLists[$value['art_rev_id']][] = $value; + } + } + // } //查询用户信息 $aUserId = array_column($aArticleReviewer, 'reviewer_id'); @@ -545,21 +557,12 @@ class Finalreview extends Base $value['ctime'] = empty($aQuestionInfo['ctime']) ? date('Y-m-d H:i:s',$value['ctime']) : date('Y-m-d H:i:s',$aQuestionInfo['ctime']); $value['is_anonymous'] = empty($aQuestionInfo['is_anonymous']) ? 0 : $aQuestionInfo['is_anonymous']; $value['question'] = $aQuestionInfo; - $aReviewerData[] = $value; //复审 - $aReviewerRepeatInfo = empty($aReviewerRepeat[$value['art_rev_id']]) ? [] : $aReviewerRepeat[$value['art_rev_id']]; - if(empty($aReviewerRepeatInfo)){ - continue; - } - if(!empty($aReviewerRepeatInfo['ctime'])){ - $aReviewerRepeatInfo['ctime'] = date('Y-m-d H:i:s',$aReviewerRepeatInfo['ctime']); - } - if(!empty($aReviewerRepeatInfo['stime'])){ - $aReviewerRepeatInfo['stime'] = date('Y-m-d H:i:s',$aReviewerRepeatInfo['stime']); - } - unset($value['ctime']); - $aReviewerRepeatData[] = array_merge($aReviewerRepeatInfo,$value); + $aReviewerRepeatInfo = empty($aReviewerRepeatLists[$value['art_rev_id']]) ? [] : $aReviewerRepeatLists[$value['art_rev_id']]; + $value['repeat'] = $aReviewerRepeatInfo; + $aReviewerData[] = $value; + // $aReviewerRepeatData[] = array_merge($aReviewerRepeatInfo,$value); } //查询作者回复 @@ -582,7 +585,7 @@ class Finalreview extends Base //查询终审记录 if(in_array('final', $sQuery)){ $aWhere = ['article_id' => $iArticleId,'state' => ['between',[1,3]]]; - $aFinal = Db::name('article_reviewer_final')->field('id,reviewer_id,state,suggest_for_editor,suggest_for_author,review_time')->where($aWhere)->select(); + $aFinal = Db::name('article_reviewer_final')->field('id,reviewer_id,state,suggest_for_editor,suggest_for_author,review_time,is_anonymous')->where($aWhere)->select(); if(!empty($aFinal)){ //查询用户信息 $aUserId = array_column($aFinal, 'reviewer_id'); @@ -664,7 +667,7 @@ class Finalreview extends Base //获取列表数据 $aArticle = Db::name('article') - ->field('article_id,user_id,journal_id,accept_sn,title,type,keywords,abstrart,manuscirpt_url,special_num,remarks,state,scoring') + ->field('article_id,user_id,journal_id,accept_sn,title,type,keywords,abstrart,manuscirpt_url,special_num,remarks,state,scoring,repetition') ->where($aWhere) ->order('article_id desc') ->page($iPage, $iSize) @@ -690,7 +693,7 @@ class Finalreview extends Base $aAiReview = Db::name('article_ai_review')->field('article_id,content')->where($aWhere)->column('article_id,content'); //查询终审信息 - $aFinal = Db::name('article_reviewer_final')->field('id,article_id,reviewer_id,state,reviewer_type')->where($aWhere)->select(); + $aFinal = Db::name('article_reviewer_final')->field('id,article_id,reviewer_id,state,reviewer_type,is_anonymous')->where($aWhere)->select(); $aUserId = empty($aFinal) ? [] : array_unique(array_column($aFinal, 'reviewer_id')); //查询作者信息 @@ -872,7 +875,7 @@ class Finalreview extends Base $sOrder = empty($aParam['order']) ? 'type desc,user_id desc' : $aParam['order'];//排序 $aLists = Db::table("({$sQuery}) sQuery") ->join('t_user', 'sQuery.reviewer_id = t_user.user_id') - ->field('sQuery.id,sQuery.reviewer_id,sQuery.reviewer_type,sQuery.state,sQuery.suggest_for_author,sQuery.suggest_for_editor,sQuery.update_time,t_user.account,t_user.email,t_user.realname,t_user.localname') + ->field('sQuery.id,sQuery.reviewer_id,sQuery.reviewer_type,sQuery.state,sQuery.suggest_for_author,sQuery.suggest_for_editor,sQuery.update_time,sQuery.is_anonymous,t_user.account,t_user.email,t_user.realname,t_user.localname') ->where($aWhere) ->order($sOrder) ->page($iPage, $iSize) @@ -951,7 +954,7 @@ class Finalreview extends Base * @param record_id 审稿记录主键ID * @param is_agree 是否同意1是2否 */ - private function createReviewUrl($reviewer_id = 0, $record_id = 0, $is_agree = 2) + private function createReviewUrl($reviewer_id = 0, $record_id = 0, $is_agree = 2,$iArticleId = 0) { if(empty($reviewer_id) || empty($record_id)){ return ''; @@ -963,8 +966,8 @@ class Finalreview extends Base $result = Db::name('login_auto')->insertGetId($aInsert); //返回链接 - $sJumpUrl = 'edit_per_text_yq';//拒绝 - return trim($this->sTouGaoUrl,'/').'/'.$sJumpUrl.'?r_id=' . $record_id . '&act=' . $code; + $sJumpUrl = 'edit_per_text_yq?a_id='.$iArticleId;//拒绝 + return trim($this->sTouGaoUrl,'/').'/'.$sJumpUrl.'&r_id=' . $record_id . '&act=' . $code; } }