diff --git a/application/api/controller/Finalreview.php b/application/api/controller/Finalreview.php index 2e2112e..0baa80e 100644 --- a/application/api/controller/Finalreview.php +++ b/application/api/controller/Finalreview.php @@ -1151,19 +1151,45 @@ class Finalreview extends Base if(empty($iArticleId)){ return json_encode(['status' => 2,'msg' => 'Please select a article']); } + + //查询文章 + $aWhere = ['article_id' => $iArticleId]; + $aArticle = Db::name('article')->field('ctime')->where($aWhere)->find(); + if(empty($aArticle)){ + return json_encode(['status' => 3,'msg' => 'The query article does not exist']); + } //查询终审-审稿记录 $aWhere = ['article_id' => $iArticleId,'state' => ['in',[1,2,3]]]; - $aReviewerFinal = Db::name('article_reviewer_final')->field('id,state,reviewer_id')->where($aWhere)->select(); - if(empty($aReviewerFinal)){ - return json_encode(['status' => 2,'msg' => 'Record as empty']); + $aReviewerFinal = Db::name('article_reviewer_final')->field('reviewer_id')->order('review_time desc')->where($aWhere)->find(); + //查询审稿人姓名 + $iUserId = empty($aReviewerFinal['reviewer_id']) ? 0 : $aReviewerFinal['reviewer_id']; + if(!empty($iUserId)){ + $aWhere = ['user_id' => $iUserId,'state' => 0]; + $aUser = Db::name('user')->field('realname')->where($aWhere)->find(); + $aReviewerFinal['realname'] = empty($aUser['realname']) ? '' : $aUser['realname']; } - //查询作者信息 - $aUserId = array_unique(array_column($aReviewerFinal, 'reviewer_id')); - $aWhere = ['user_id' => ['in',$aUserId],'state' => 0]; - $aUser = Db::name('user')->where($aWhere)->column('user_id,realname'); - foreach ($aReviewerFinal as $key => $value) { - $aReviewerFinal[$key]['realname'] = empty($aUser[$value['reviewer_id']]) ? '' : $aUser[$value['reviewer_id']]; + + //获取文章记录 + $aWhere = ['article_id' => $iArticleId,'state' => 0,'state_to' => ['in',[0,4,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; + foreach ($aArticleMsg as $key => $value) { + if(empty($iReceivedTime) && $value['state_to'] == 0){ + $iReceivedTime = $value['ctime']; + } + if(empty($iRevisionTime) && $value['state_to'] == 4){ + $iRevisionTime = $value['ctime']; + } + if(empty($iAcceptedTime) && $value['state_to'] == 5){ + $iAcceptedTime = $value['ctime']; + } + } } + $iReceivedTime = empty($iReceivedTime) ? $aArticle['ctime'] : $iReceivedTime; + $aReviewerFinal['received_time'] = empty($iReceivedTime) ? '' :date('Y-m-d H:i:s',$iReceivedTime); + $aReviewerFinal['revision_time'] = empty($iRevisionTime) ? '' :date('Y-m-d H:i:s',$iRevisionTime); + $aReviewerFinal['accepted_time'] = empty($iAcceptedTime) ? '' :date('Y-m-d H:i:s',$iAcceptedTime); return json_encode(['status' => 1,'msg' => 'success','data' => $aReviewerFinal]); } }