审稿人机构及草稿状态区分

This commit is contained in:
chengxl
2026-02-06 17:31:08 +08:00
parent 44b88a83ca
commit c55e764a48

View File

@@ -36,7 +36,7 @@ class Workbench extends Base
//获取状态
$iState = isset($aParam['state']) ? $aParam['state'] : -2;
//空的查询条件
$aWhere = [];
$aWhere = ['accept_sn' => ['not like','Draft%']];
//SN
$sAcceptSn = empty($aParam['accept_sn']) ? '': $aParam['accept_sn'];
if(!empty($sAcceptSn)){
@@ -181,6 +181,10 @@ class Workbench extends Base
$aArticle[$key]['report'] = $aAuthorInfo;
$aArticle[$key]['country'] = empty($aAuthorInfo) ? [] : array_unique(array_column($aAuthorInfo, 'country'));
$aArticle[$key]['type_name'] = translateType($value['type']);
$aArticle[$key]['is_draft'] = 2;
if(!empty($value['accept_sn']) && substr($value['accept_sn'], 0, 5) === 'Draft'){
$aArticle[$key]['is_draft'] = 1;
}
// //付款信息
// $iPsId = empty($aOrder[$value['article_id']]) ? 0 : $aOrder[$value['article_id']];
@@ -452,6 +456,12 @@ class Workbench extends Base
$aArticleReviewer['realname'] = empty($aUser['realname']) ? '' : $aUser['realname'];
$aArticleReviewer['email'] = empty($aUser['email']) ? '' : $aUser['email'];
}
//查询审稿人机构
if(!empty($aUser)){
$aWhere = ['reviewer_id' => $iUserId,'state' => 0];
$aReviewerInfo = Db::name('user_reviewer_info')->field('company')->where($aWhere)->find();
$aArticleReviewer['company'] = empty($aReviewerInfo['company']) ? '' : $aReviewerInfo['company'];
}
//组装信息
$aData = ['article' => $aArticle,'article_reviewer' => $aArticleReviewer];
@@ -641,13 +651,31 @@ class Workbench extends Base
//查询审稿记录
$aWhere = ['art_rev_id' => $iArtRevId];
$aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,reviewer_id,article_id,state')->where($aWhere)->find();
$aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,reviewer_id,article_id,state,agree_review_time,ctime')->where($aWhere)->find();
if(empty($aArticleReviewer)){
return json_encode(['status' => 4,'msg' => 'Review record does not exist']);
}
if($aArticleReviewer['state'] != 4){
if($aArticleReviewer['state'] != 4 && $aArticleReviewer['state'] != 0){
return json_encode(['status' => 5,'msg' => 'The review link has not expired and no application is required']);
}
if($aArticleReviewer['state'] == 0){
$iCtime = empty($aArticleReviewer['ctime']) ? 0 : $aArticleReviewer['ctime'];
$iTime = empty($aArticleReviewer['agree_review_time']) ? 0 : $aArticleReviewer['agree_review_time'];
$iTime = empty($iTime) ? intval($iCtime) : intval($iTime);
if (!is_numeric($iTime) || (int)$iTime <= 0) {
return json_encode(['status' => 12,'msg' => 'Invalid record time, the review period has expired']);
}
//判断是否超过14天
// 14天 = 14*24*3600 秒 = 1209600 秒
$iNowTime = strtotime(date('Y-m-d', time()));
$iFourteenDays = 14 * 24 * 3600;
$iTime = date('Y-m-d', $iTime);
$iTime = strtotime($iTime);//同意审稿时间戳
$timeDiff = $iTime+$iFourteenDays;
if($timeDiff >= $iNowTime){
return json_encode(['status' => 13,'msg' => 'The review link has not expired and no application is required']);
}
}
//获取文章信息
$aWhere = ['article_id' => $aArticleReviewer['article_id']];
@@ -773,14 +801,34 @@ class Workbench extends Base
//查询审稿记录
$aWhere = ['art_rev_id' => $iArtRevId];
$aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,reviewer_id,article_id,state')->where($aWhere)->find();
$aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,reviewer_id,article_id,state,ctime,agree_review_time')->where($aWhere)->find();
if(empty($aArticleReviewer)){
return json_encode(['status' => 4,'msg' => 'Review record does not exist']);
}
if($aArticleReviewer['state'] != 4){
// if($aArticleReviewer['state'] != 4){
// return json_encode(['status' => 5,'msg' => 'The review link has not expired and no application is required']);
// }
if($aArticleReviewer['state'] != 4 && $aArticleReviewer['state'] != 0){
return json_encode(['status' => 5,'msg' => 'The review link has not expired and no application is required']);
}
if($aArticleReviewer['state'] == 0){
$iCtime = empty($aArticleReviewer['ctime']) ? 0 : $aArticleReviewer['ctime'];
$iTime = empty($aArticleReviewer['agree_review_time']) ? 0 : $aArticleReviewer['agree_review_time'];
$iTime = empty($iTime) ? intval($iCtime) : intval($iTime);
if (!is_numeric($iTime) || (int)$iTime <= 0) {
return json_encode(['status' => 12,'msg' => 'Invalid record time, the review period has expired']);
}
//判断是否超过14天
$iNowTime = strtotime(date('Y-m-d', time()));
// 14天 = 14*24*3600 秒 = 1209600 秒
$iFourteenDays = 14 * 24 * 3600;
$iTime = date('Y-m-d', $iTime);
$iTime = strtotime($iTime);//同意审稿时间戳
$timeDiff = $iTime+$iFourteenDays;
if($timeDiff >= $iNowTime){
return json_encode(['status' => 13,'msg' => 'The review link has not expired and no application is required']);
}
}
//获取文章信息
$aWhere = ['article_id' => $aArticleReviewer['article_id']];
$aArticle = Db::name('article')->field('article_id,abstrart,title,type,accept_sn,journal_id,state')->where($aWhere)->find();
@@ -808,12 +856,24 @@ class Workbench extends Base
// }
//更新文章状态为邀请
$aWhere = ['art_rev_id' => $iArtRevId,'state' => 4];
$result = Db::name('article_reviewer')->where($aWhere)->limit(1)->update(['state' => 5,'ctime' => time(),'editor_act' => 1,'is_reapply' => 2,'update_time' => time(),'reviewer_act' => 0]);
$aWhere = ['art_rev_id' => $iArtRevId];
$aUpdate = [];
if($aArticleReviewer['state'] == 4){
$aUpdate['state'] = 5;
$aUpdate['ctime'] = time();
}
if($aArticleReviewer['state'] == 0){
$aUpdate['agree_review_time'] = time();
}
if(empty($aUpdate)){
return json_encode(array('status' => 15,'msg' => 'Update data to empty' ));
}
$aUpdate += ['editor_act' => 1,'is_reapply' => 2,'update_time' => time(),'reviewer_act' => 0];
$result = Db::name('article_reviewer')->where($aWhere)->limit(1)->update($aUpdate);
if($result === false){
return json_encode(array('status' => 11,'msg' => 'Status update failed' ));
}
//查询审稿人的邮箱
$aWhere = ['user_id' => $aArticleReviewer['reviewer_id'],'state' => 0,'email' => ['<>','']];
$aUser = Db::name('user')->field('user_id,email,realname,account')->where($aWhere)->find();