From a6ef4f65af3a1ff40ab3f78c94f2d93467ade0b3 Mon Sep 17 00:00:00 2001 From: chengxl Date: Wed, 5 Nov 2025 13:09:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Article.php | 68 ++++++++++++++------------ 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index 1a2b808..533ac76 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -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();