request->post(); //参数验证 $sIssn = empty($aParam['issn']) ? '' : $aParam['issn']; if(empty($sIssn)){ return json_encode(['status' => 2,'msg' => 'Please select an journal']); } //期刊标题 $sTitle = empty($aParam['journal_title']) ? ['About Journal','About us','Journal Information','Aims and Scope'] : $aParam['journal_title']; //根据期刊issn查询期刊ID $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' => ['in',array_keys($aJournal)],'title' => ['in',$sTitle]]; $aJournalPaperArt = Db::name('journal_paper_art')->field('journal_id,content')->where($aWhere)->select(); if(empty($aJournalPaperArt)){ return json_encode(['status' => 1,'msg' => 'data is null']); } //数据处理 $keyword = 'Scope'; foreach ($aJournalPaperArt as $key => $value) { $sContent = empty($value['content']) ? '' : $value['content']; $sIssn = empty($aJournal[$value['journal_id']]) ? '' : $aJournal[$value['journal_id']]; if(empty($sContent) || empty($sIssn)){ continue; } if(stripos($sContent, $keyword) !== false){ $aContent[$sIssn] = $sContent; continue; } } return json_encode(['status' => 1,'msg' => 'success','data' => empty($aContent) ? [] : $aContent]); } /** * @title 获取期刊信息 * @description 获取期刊编辑接口 */ public function getJournal(){ //获取参数 $aParam = $this->request->post(); //参数验证 $sIssn = empty($aParam['issn']) ? '' : $aParam['issn']; if(empty($sIssn)){ return json_encode(['status' => 2,'msg' => 'Please select an journal']); } //根据期刊issn查询期刊ID $aWhere = ['state' => 0,'issn' => ['in',$sIssn]]; $sField = 'issn,icon'; $aJournal = Db::name('journal')->field($sField)->where($aWhere)->select(); return json_encode(['status' => 1,'msg' => 'success','data' => $aJournal]); } /** * @title 获取子期刊信息 * @description 获取期刊编辑接口 */ public function getJournalStage(){ //获取参数 $aParam = $this->request->post(); //参数验证 $iJournalStageId = empty($aParam['journal_stage_id']) ? '' : $aParam['journal_stage_id']; if(empty($iJournalStageId)){ return json_encode(['status' => 2,'msg' => 'Please choose journal installment']); } //根据期刊issn查询期刊ID $aWhere = ['state' => 0,'journal_stage_id' => $iJournalStageId]; $aJournal = Db::name('journal_stage')->where($aWhere)->find(); return json_encode(['status' => 1,'msg' => 'success','data' => $aJournal]); } /** * @title 客座期刊(获取列表) * @description 客座期刊(获取列表) */ public function getSpecialIssue(){ //获取参数 $aParam = $this->request->post(); //期刊ID $iJournalId = empty($aParam['journal_id']) ? 0 : $aParam['journal_id']; if(empty($iJournalId)){ return json(['status' => 2,'msg' => 'Please select an journal']); } //获取期刊信息 $aWhere = ['journal_id' => $iJournalId,'state' => 0]; $aJournal = DB::name('journal')->field('journal_id')->where($aWhere)->find(); if(empty($aJournal)){ return json(['status' => 3,'msg' => 'No journal information found']); } //查询专刊信息-进行中的 $sNowDate = date('Y-m-d'); $aWhere = ['journal_id' => $iJournalId,'state' => 2,'deadline' => ['>=',$sNowDate]]; $aJournalSpecial = Db::name('journal_special')->where($aWhere)->select(); if(empty($aJournalSpecial)){ return json(['status' => 1,'msg' =>'The special issue data is empty']); } //获取编辑信息 $aJournalSpecialId = array_column($aJournalSpecial, 'journal_special_id'); $aWhere = ['journal_id' => $iJournalId,'journal_special_id' => ['in',$aJournalSpecialId],'state' => 0]; $aJournalSpecialToEditor = Db::name('journal_special_to_editor')->field('journal_special_editor_id,journal_special_id')->where($aWhere)->select(); $aEditorList = []; if(!empty($aJournalSpecialToEditor)){ $aEditorId = array_unique(array_column($aJournalSpecialToEditor, 'journal_special_editor_id')); $aWhere = ['journal_id' => $iJournalId,'journal_special_editor_id' => ['in',$aEditorId],'state' => 0]; $aJournalSpecialEditor = Db::name('journal_special_editor')->field('journal_special_editor_id,first_name,last_name')->where($aWhere)->select(); $aJournalSpecialEditor = empty($aJournalSpecialEditor) ? [] : array_column($aJournalSpecialEditor, null,'journal_special_editor_id'); foreach ($aJournalSpecialToEditor as $key => $value) { $aEditorInfo = empty($aJournalSpecialEditor[$value['journal_special_editor_id']]) ? [] : $aJournalSpecialEditor[$value['journal_special_editor_id']]; $sFirstName = empty($aEditorInfo['first_name']) ? '' : $aEditorInfo['first_name']; $sLastName = empty($aEditorInfo['last_name']) ? '' : $aEditorInfo['last_name']; $sName = $sFirstName.' '.$sLastName; $sName = trim($sName);//str_replace([' ', ' '], '', trim($sName)); if(!empty($sName)){ $aEditorList[$value['journal_special_id']][] = $sName; } } } //数据处理 foreach ($aJournalSpecial as $key => $value) { $aEditorInfo = empty($aEditorList[$value['journal_special_id']]) ? [] : $aEditorList[$value['journal_special_id']]; $aJournalSpecial[$key]['editor'] = empty($aEditorInfo) ? '' : implode(',', array_unique($aEditorInfo)); } return json(['status' => 1,'msg' => 'success','data' => $aJournalSpecial]); } /** * @title 获取期刊信息 * @description 获取期刊编辑接口 */ public function getJournalDetail(){ //获取参数 $aParam = $this->request->post(); //期刊issn号 $sIssn = empty($aParam['issn']) ? '' : $aParam['issn']; //期刊Id $iJournalId = empty($aParam['journal_id']) ? '' : $aParam['journal_id']; //期刊缩写 $sUsx = empty($aParam['usx']) ? '' : $aParam['usx']; //期刊缩写 $sSx = empty($aParam['sx']) ? '' : $aParam['sx']; if(empty($sIssn) && empty($iJournalId) && empty($sUsx) && empty($sSx)){ return json(['status' => 2,'msg' => 'Please select an journal']); } $aWhere = ['state' => 0]; if(!empty($sIssn)){ $aWhere['issn'] = $sIssn; } if(!empty($iJournalId)){ $aWhere['journal_id'] = $iJournalId; } if(!empty($sUsx)){ $aWhere['usx'] = $sUsx; } if(!empty($sSx)){ $aWhere['sx'] = $sSx; } //根据期刊信息 $aJournal = Db::name('journal')->where($aWhere)->find(); return json(['status' => 1,'msg' => 'success','data' => $aJournal]); } } ?>