This commit is contained in:
chengxl
2025-11-05 13:09:17 +08:00
parent 0e7f0e45e0
commit a6ef4f65af

View File

@@ -5702,14 +5702,14 @@ class Article extends Base
} }
//参数判空 //参数判空
$sMajorData = empty($aParam['major']) ? '' : $aParam['major'];//文章领域 $sMajorData = isset($aParam['major']) ? $aParam['major'] : '-1' ;//文章领域
// if(empty($sMajorData) && empty($aUpdate)){ // if(empty($sMajorData) && empty($aUpdate)){
// return json_encode(['status' => 6,'msg' => 'Update data to empty']); // return json_encode(['status' => 6,'msg' => 'Update data to empty']);
// } // }
//文章领域处理 //文章领域处理
$aMajorInsert = $aMajorDelete = []; $aMajorInsert = $aMajorDelete = [];
if(!empty($sMajorData)){ if(!empty($sMajorData) && $sMajorData != -1){
$aField = explode(',', $sMajorData); $aField = explode(',', $sMajorData);
$aWhere = ['state' => 0, 'article_id' => $iArticleId]; $aWhere = ['state' => 0, 'article_id' => $iArticleId];
$aArticleMajor = Db::name('major_to_article')->where($aWhere)->order('major_id asc')->column('major_id'); $aArticleMajor = Db::name('major_to_article')->where($aWhere)->order('major_id asc')->column('major_id');
@@ -5725,29 +5725,33 @@ class Article extends Base
} }
} }
//转投信息 if($sMajorData == ''){//为空删除
$aTransferJournalId = empty($aParam['checkedjours']) ? [] : $aParam['checkedjours'];
if(!empty($aTransferJournalId) && is_string($aTransferJournalId)){
$aTransferJournalId = explode(',', $aTransferJournalId);
}
$aJournalInsert = $aJournalDelete = [];
if(!empty($aTransferJournalId)){
//查询转投期刊ID
$aWhere = ['state' => 0, 'article_id' => $iArticleId]; $aWhere = ['state' => 0, 'article_id' => $iArticleId];
$aTransferJournal = Db::name('article_transfer')->where($aWhere)->order('journal_id asc')->column('journal_id'); $aMajorDelete = Db::name('major_to_article')->where($aWhere)->column('major_id');
//新增
$aInsert = array_diff($aTransferJournalId, $aTransferJournal);
//删除
$aJournalDelete = array_diff($aTransferJournal, $aTransferJournalId);
if (!empty($aInsert)) {//新增
foreach ($aInsert as $key => $value) {
$aJournalInsert[] = ['journal_id' => $value, 'article_id' => $iArticleId, 'ctime' => time(), 'state' => 0];
}
}
} }
//转投信息
// $aTransferJournalId = empty($aParam['checkedjours']) ? [] : $aParam['checkedjours'];
// if(!empty($aTransferJournalId) && is_string($aTransferJournalId)){
// $aTransferJournalId = explode(',', $aTransferJournalId);
// }
// $aJournalInsert = $aJournalDelete = [];
// if(!empty($aTransferJournalId)){
// //查询转投期刊ID
// $aWhere = ['state' => 0, 'article_id' => $iArticleId];
// $aTransferJournal = Db::name('article_transfer')->where($aWhere)->order('journal_id asc')->column('journal_id');
// //新增
// $aInsert = array_diff($aTransferJournalId, $aTransferJournal);
// //删除
// $aJournalDelete = array_diff($aTransferJournal, $aTransferJournalId);
// if (!empty($aInsert)) {//新增
// foreach ($aInsert as $key => $value) {
// $aJournalInsert[] = ['journal_id' => $value, 'article_id' => $iArticleId, 'ctime' => time(), 'state' => 0];
// }
// }
// }
//推荐审稿人 //推荐审稿人
$aReviewer = isset($aParam['reviewers']) ? $aParam['reviewers'] : []; $aReviewer = isset($aParam['reviewers']) ? $aParam['reviewers'] : '-1';
// $json = '{ // $json = '{
// "article_id": "5997", // "article_id": "5997",
// "user_id": "54", // "user_id": "54",
@@ -5786,7 +5790,7 @@ class Article extends Base
// }'; // }';
// $aReviewer = json_decode($json,true); // $aReviewer = json_decode($json,true);
// $aReviewer = $aReviewer['reviewers']; // $aReviewer = $aReviewer['reviewers'];
if(!empty($aReviewer)){ if(!empty($aReviewer) && is_array($aReviewer)){
//根据用户邮箱查询是否注册 //根据用户邮箱查询是否注册
$aEmail = array_unique(array_column($aReviewer, 'email')); $aEmail = array_unique(array_column($aReviewer, 'email'));
@@ -5877,6 +5881,10 @@ class Article extends Base
$aUserRecommendDelete = array_diff($aUserRecommend,$aUserRecommendId); $aUserRecommendDelete = array_diff($aUserRecommend,$aUserRecommendId);
} }
} }
if($aReviewer == ''){
$aWhere = ['article_id' => $iArticleId];
$aUserRecommendDelete = Db::name('user_reviewer_recommend')->where($aWhere)->column('reviewer_id');
}
Db::startTrans(); Db::startTrans();
if(!empty($aMajorInsert)){//新增领域 if(!empty($aMajorInsert)){//新增领域
$add_result = Db::name('major_to_article')->insertAll($aMajorInsert); $add_result = Db::name('major_to_article')->insertAll($aMajorInsert);
@@ -5885,13 +5893,13 @@ class Article extends Base
$aWhere = ['article_id' => $iArticleId, 'state' => 0, 'major_id' => ['in', $aMajorDelete]]; $aWhere = ['article_id' => $iArticleId, 'state' => 0, 'major_id' => ['in', $aMajorDelete]];
$delete_result = Db::name('major_to_article')->where($aWhere)->limit(count($aMajorDelete))->update(['state' => 1, 'ctime' => time()]); $delete_result = Db::name('major_to_article')->where($aWhere)->limit(count($aMajorDelete))->update(['state' => 1, 'ctime' => time()]);
} }
if(!empty($aJournalInsert)){//新增转投期刊 // if(!empty($aJournalInsert)){//新增转投期刊
$add_journal_result = Db::name('article_transfer')->insertAll($aJournalInsert); // $add_journal_result = Db::name('article_transfer')->insertAll($aJournalInsert);
} // }
if(!empty($aJournalDelete)){//删除转投期刊 // if(!empty($aJournalDelete)){//删除转投期刊
$aWhere = ['article_id' => $iArticleId, 'state' => 0, 'journal_id' => ['in', $aJournalDelete]]; // $aWhere = ['article_id' => $iArticleId, 'state' => 0, 'journal_id' => ['in', $aJournalDelete]];
$delete_journal_result = Db::name('article_transfer')->where($aWhere)->limit(count($aJournalDelete))->delete(); // $delete_journal_result = Db::name('article_transfer')->where($aWhere)->limit(count($aJournalDelete))->delete();
} // }
//更新数据 //更新数据
if(!empty($aUpdate)){//更新文章主表数据 if(!empty($aUpdate)){//更新文章主表数据
//数据更新 //数据更新
@@ -5915,7 +5923,7 @@ class Article extends Base
} }
if(!empty($aUserRecommendDelete)){ if(!empty($aUserRecommendDelete)){
$aWhere = ['urr_state' => 0,'article_id' => $iArticleId,'reviewer_id' => ['in',$aUserRecommendDelete]]; $aWhere = ['urr_state' => 0,'article_id' => $iArticleId,'reviewer_id' => ['in',$aUserRecommendDelete]];
$sDelete = Db::name('user_reviewer_recommend')->where($aWhere)->limit(count($aUserRecommendDelete))->delete(); $sDelete = Db::name('user_reviewer_recommend')->where($aWhere)->limit(count($aUserRecommendDelete))->update(['urr_state' => 1]);
} }
Db::commit(); Db::commit();