接口调整

This commit is contained in:
chengxl
2025-11-17 12:21:10 +08:00
parent c8d62a3df5
commit bbcb8ec87a

View File

@@ -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){