diff --git a/application/api/controller/Finalreview.php b/application/api/controller/Finalreview.php index 0baa80e..eae1d12 100644 --- a/application/api/controller/Finalreview.php +++ b/application/api/controller/Finalreview.php @@ -73,7 +73,13 @@ class Finalreview extends Base //参数组装 $aWhere = ['reviewer_id' => $iReviewerId]; if(isset($aParam['state'])){ - $aWhere['state'] = $aParam['state']; + $iState = $aParam['state']; + if($iState != ''){ + $aState = is_string($iState) ? explode(',', $iState) : $iState; + $aWhere['state'] = ['in',$aState]; + }else{ + $aWhere['state'] = $iState; + } } //组装sql @@ -105,7 +111,7 @@ class Finalreview extends Base $sOrder = empty($aParam['order']) ? 'id desc' : $aParam['order'];//排序 $aLists = Db::table("({$sFinalQuery}) finalquery") ->join('t_article', 'finalquery.article_id = t_article.article_id') - ->field('finalquery.*,t_article.accept_sn,t_article.title,t_article.type as article_type,t_article.keywords,t_article.scoring,t_article.manuscirpt_url,t_article.state as article_state,t_article.journal_id') + ->field('finalquery.*,t_article.accept_sn,t_article.title,t_article.type as article_type,t_article.keywords,t_article.scoring,t_article.manuscirpt_url,t_article.state as article_state,t_article.journal_id,finalquery.invited_time,t_article.abstrart') ->where($aWhere) ->order($sOrder) ->page($iPage, $iSize) @@ -405,12 +411,24 @@ class Finalreview extends Base } //数据库更新 + Db::startTrans(); $aWhere = ['id' => $iId]; $result = Db::name('article_reviewer_final')->where($aWhere)->limit(1)->update($aUpdate); if(!$result){ return json_encode(['status' => 8,'msg' => "Review failed"]); } - + //更新文章用户最新操作状态 chengxiaoling start 20251113 + $aUpdate = ['is_user_act' => 1,'user_update_time' => time()]; + $aArticleWhere = ['article_id' => $iArticleId]; + $article_result = Db::name('article')->where($aArticleWhere)->limit(1)->update($aUpdate); + if($article_result === false){ + return json_encode(['status' => 8,'msg' => "User operation status update failed"]); + } + $oUserActLog = new \app\common\UserActLog; + $aUserLog = ['article_id' => $iArticleId,'type' => 3,'act_id' => $iId,'user_id' => $iReviewerId,'content' => 'Final review completed']; + $aAddResult = $oUserActLog->addLog($aUserLog); + Db::commit(); + //更新文章用户最新操作状态 chengxiaoling end 20251113 //发送邮件 if(in_array($iState, [1,2,3])){//有审核结果发送邮件提醒编辑 //查询文章所属期刊 @@ -1053,7 +1071,7 @@ class Finalreview extends Base return json_encode(['status' => 2,'msg' => 'Please select a article']); } //查询文章审稿记录 - $aWhere = ['article_id' => $iArticleId,'state' => ['between',[1,3]]]; + $aWhere = ['article_id' => $iArticleId,'state' => ['in',[0,1,2,3,5]]]; $aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,state,ctime,reviewer_id')->where($aWhere)->select(); if(!empty($aArticleReviewer)){ $aArtRevId = array_column($aArticleReviewer, 'art_rev_id'); @@ -1089,7 +1107,7 @@ class Finalreview extends Base } } //查询终审-审稿记录 - $aWhere = ['article_id' => $iArticleId,'state' => ['in',[1,2,3]]]; + $aWhere = ['article_id' => $iArticleId,'state' => ['in',[0,1,2,3,4,5]]]; $aReviewerFinal = Db::name('article_reviewer_final')->field('id,state,suggest_for_editor,suggest_for_author,update_time,reviewer_id,is_anonymous')->where($aWhere)->select(); if(!empty($aReviewerFinal)){ //查询作者信息 @@ -1131,10 +1149,13 @@ class Finalreview extends Base } //查询审稿记录 $aWhere = ['reviewer_id' => $iReviewerId,'id' => $iId]; - $aReviewerFinal = Db::name('article_reviewer_final')->field('id,article_id,state,reviewer_id')->where($aWhere)->find(); + $aReviewerFinal = Db::name('article_reviewer_final')->where($aWhere)->find(); if(empty($aReviewerFinal)){ return json_encode(['status' => 3,'msg' => 'Review record does not exist or review has been completed']); } + $aWhere = ['user_id' => $iReviewerId]; + $aUser = Db::name('user')->field('realname')->where($aWhere)->find(); + $aReviewerFinal['realname'] = empty($aUser['realname']) ? '' : $aUser['realname']; return json_encode(['status' => 1,'msg' => 'success','data' => $aReviewerFinal]); } @@ -1170,7 +1191,7 @@ class Finalreview extends Base } //获取文章记录 - $aWhere = ['article_id' => $iArticleId,'state' => 0,'state_to' => ['in',[0,4,5]]]; + $aWhere = ['article_id' => $iArticleId,'state' => 0,'state_to' => ['in',[0,1,5]]]; $aArticleMsg = Db::name('article_msg')->field('state_from,state_to,ctime')->where($aWhere)->order('ctime deac')->select(); if(!empty($aArticleMsg)){ $iReceivedTime = $iRevisionTime = $iAcceptedTime = 0; @@ -1178,7 +1199,7 @@ class Finalreview extends Base if(empty($iReceivedTime) && $value['state_to'] == 0){ $iReceivedTime = $value['ctime']; } - if(empty($iRevisionTime) && $value['state_to'] == 4){ + if(empty($iRevisionTime) && $value['state_to'] == 1){ $iRevisionTime = $value['ctime']; } if(empty($iAcceptedTime) && $value['state_to'] == 5){