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