兼容多个issn查询

This commit is contained in:
chengxl
2025-09-28 13:41:20 +08:00
parent ad8f68cb4e
commit 2daad7d78b

View File

@@ -31,28 +31,40 @@ class Supplementary extends Base
if(empty($sIssn)){ if(empty($sIssn)){
return json_encode(['status' => 2,'msg' => 'Please select an journal']); return json_encode(['status' => 2,'msg' => 'Please select an journal']);
} }
if(is_string($sIssn)){
$sIssn = explode(',', $sIssn);
}
//根据期刊issn查询期刊ID //根据期刊issn查询期刊ID
$aWhere = ['state' => 0,'issn' => $sIssn]; $aWhere = ['state' => 0,'issn' => ['in',$sIssn]];
$aJournal = Db::name('journal')->field('journal_id')->where($aWhere)->find(); $aJournal = Db::name('journal')->where($aWhere)->column('journal_id,issn');
if(empty($aJournal)){ if(empty($aJournal)){
return json_encode(['status' => 3,'msg' => 'No journal information found']); 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'])){//编辑类型 if(isset($aParam['type'])){//编辑类型
$aWhere['type'] = $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)){ if(empty($aJournalBoard)){
return json_encode(['status' => 4,'msg' => 'No editorial information was found for the journal']); return json_encode(['status' => 4,'msg' => 'No editorial information was found for the journal']);
} }
//查询编辑详情 //查询编辑详情
$aWhere = ['state' => 0,'user_id' => ['in',$aJournalBoard]]; $aUserId = array_column($aJournalBoard, 'user_id');
$aUser = Db::name('user')->field('user_id,realname')->where($aWhere)->select(); $aWhere = ['state' => 0,'user_id' => ['in',$aUserId]];
return json_encode(['status' => 1,'msg' => 'success','data' => $aUser]); $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]);
} }
} }