diff --git a/application/api/controller/Supplementary.php b/application/api/controller/Supplementary.php index 0b55701..068fe0e 100644 --- a/application/api/controller/Supplementary.php +++ b/application/api/controller/Supplementary.php @@ -31,28 +31,40 @@ class Supplementary extends Base if(empty($sIssn)){ return json_encode(['status' => 2,'msg' => 'Please select an journal']); } - + if(is_string($sIssn)){ + $sIssn = explode(',', $sIssn); + } //根据期刊issn查询期刊ID - $aWhere = ['state' => 0,'issn' => $sIssn]; - $aJournal = Db::name('journal')->field('journal_id')->where($aWhere)->find(); + $aWhere = ['state' => 0,'issn' => ['in',$sIssn]]; + $aJournal = Db::name('journal')->where($aWhere)->column('journal_id,issn'); if(empty($aJournal)){ return json_encode(['status' => 3,'msg' => 'No journal information found']); } //查询期刊编辑信息 - $aWhere = ['state' => 0,'journal_id' => $aJournal['journal_id']]; + $aWhere = ['state' => 0,'journal_id' => ['in',array_keys($aJournal)]]; if(isset($aParam['type'])){//编辑类型 $aWhere['type'] = $aParam['type']; } - $aJournalBoard = Db::name('board_to_journal')->where($aWhere)->column('user_id'); + $aJournalBoard = Db::name('board_to_journal')->field('journal_id,user_id')->where($aWhere)->select(); if(empty($aJournalBoard)){ return json_encode(['status' => 4,'msg' => 'No editorial information was found for the journal']); } //查询编辑详情 - $aWhere = ['state' => 0,'user_id' => ['in',$aJournalBoard]]; - $aUser = Db::name('user')->field('user_id,realname')->where($aWhere)->select(); - return json_encode(['status' => 1,'msg' => 'success','data' => $aUser]); + $aUserId = array_column($aJournalBoard, 'user_id'); + $aWhere = ['state' => 0,'user_id' => ['in',$aUserId]]; + $aUser = Db::name('user')->where($aWhere)->column('user_id,realname'); + $aUserData = []; + foreach ($aJournalBoard as $key => $value) { + $sIssn = empty($aJournal[$value['journal_id']]) ? '' : $aJournal[$value['journal_id']]; + if(empty($sIssn)){ + continue; + } + $sRealName = empty($aUser[$value['user_id']]) ? '' : $aUser[$value['user_id']]; + $aUserData[$sIssn][] = $sRealName; + } + return json_encode(['status' => 1,'msg' => 'success','data' => $aUserData]); } }