终审接口调整

This commit is contained in:
chengxl
2025-09-01 11:40:17 +08:00
parent e2a931b40d
commit 5c46443056

View File

@@ -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;
}
}