Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangjinlei
2025-05-16 15:34:16 +08:00
2 changed files with 86 additions and 36 deletions

View File

@@ -96,13 +96,24 @@ class Journal extends Controller
/** /**
* 获取全部期刊 * 获取全部期刊
*/ */
// public function getJournals()
// {
// $jouranls = $this->journal_obj->where('state', 0)->select();
// $re['journals'] = $jouranls;
// return jsonSuccess($re);
// }
public function getJournals() public function getJournals()
{ {
$jouranls = $this->journal_obj->where('state', 0)->select(); //根据条件搜索
$aParam = $this->request->post();
$aWhere['state'] = 0;
if(!empty($aParam['issn'])){
$aWhere['issn'] = ['in',$aParam['issn']];
}
$jouranls = $this->journal_obj->where($aWhere)->select();
$re['journals'] = $jouranls; $re['journals'] = $jouranls;
return jsonSuccess($re); return jsonSuccess($re);
} }
/** /**
* 获取分期通过期刊 * 获取分期通过期刊
*/ */

View File

@@ -74,7 +74,7 @@ class Article extends Controller
*/ */
private function _journal($iJournalId = 0){ private function _journal($iJournalId = 0){
$aWhere = ['journal_id' => $iJournalId,'state' => 0]; $aWhere = ['journal_id' => $iJournalId,'state' => 0];
$aJournal = Db::name('journal')->field('journal_id,title as journal_title,icon as journal_icon,usx as journal_usx,abstract as journal_content,jabbr,email as journal_email,issn')->where($aWhere)->find(); $aJournal = Db::name('journal')->field('journal_id,title as journal_title,icon as journal_icon,usx as journal_usx,abstract as journal_content_english, abstract_chinese as journal_content,jabbr,email as journal_email,issn,publish_author,editor_qrcode')->where($aWhere)->find();
return $aJournal; return $aJournal;
} }
@@ -96,44 +96,83 @@ class Article extends Controller
$aWhere = ['article_id' => $iArticleId,'state' => 0,'is_report' => 1]; $aWhere = ['article_id' => $iArticleId,'state' => 0,'is_report' => 1];
$aAuthor = Db::name('article_author')->field('article_author_id,first_name,last_name,author_country,email,article_id')->where($aWhere)->select(); $aAuthor = Db::name('article_author')->field('article_author_id,first_name,last_name,author_country,email,article_id')->where($aWhere)->select();
if(empty($aAuthor)){ return $aAuthor;
return []; // if(empty($aAuthor)){
} // return [];
// }
//查询文章作者机构 // //查询文章作者机构
$aAuthorId = array_column($aAuthor, 'article_author_id'); // $aAuthorId = array_column($aAuthor, 'article_author_id');
$aWhere = ['article_id' => $iArticleId,'state' => 0,'article_author_id' => ['in',$aAuthorId]]; // $aWhere = ['article_id' => $iArticleId,'state' => 0,'article_author_id' => ['in',$aAuthorId]];
$aAuthorOrgan = Db::name('article_author_to_organ')->where($aWhere)->column('article_author_id,article_organ_id'); // $aAuthorOrgan = Db::name('article_author_to_organ')->where($aWhere)->column('article_author_id,article_organ_id');
//查询组织机构名称 // //查询组织机构名称
if(!empty($aAuthorOrgan)){ // if(!empty($aAuthorOrgan)){
$aAuthorOrganId = array_values($aAuthorOrgan); // $aAuthorOrganId = array_values($aAuthorOrgan);
$aWhere = ['article_id' => $iArticleId,'state' => 0,'article_organ_id' => ['in',$aAuthorOrganId]]; // $aWhere = ['article_id' => $iArticleId,'state' => 0,'article_organ_id' => ['in',$aAuthorOrganId]];
$aOrgan = Db::name('article_organ')->where($aWhere)->column('article_organ_id,organ_name'); // $aOrgan = Db::name('article_organ')->where($aWhere)->column('article_organ_id,organ_name');
} // }
//数据整合 // //数据整合
$aAuthorInfo = []; // $aAuthorInfo = [];
foreach($aAuthor as $key => $value){ // foreach($aAuthor as $key => $value){
//作者姓名 // //作者姓名
$sAuthorName = $value['last_name'].$value['first_name']; // $sAuthorName = $value['last_name'].$value['first_name'];
//所属机构ID // //所属机构ID
$iOrganId = empty($aAuthorOrgan[$value['article_author_id']]) ? 0 : $aAuthorOrgan[$value['article_author_id']]; // $iOrganId = empty($aAuthorOrgan[$value['article_author_id']]) ? 0 : $aAuthorOrgan[$value['article_author_id']];
if(empty($iOrganId)){ // if(empty($iOrganId)){
$aAuthorInfo[] = ['author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']]; // $aAuthorInfo[] = ['author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']];
continue; // continue;
} // }
//获取所属机构名称 // //获取所属机构名称
$sOrganName = empty($aOrgan[$iOrganId]) ? '' : $aOrgan[$iOrganId]; // $sOrganName = empty($aOrgan[$iOrganId]) ? '' : $aOrgan[$iOrganId];
if(empty($sOrganName)){ // if(empty($sOrganName)){
$aAuthorInfo[] = ['author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']]; // $aAuthorInfo[] = ['author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']];
continue; // continue;
} // }
$sOrganName = empty($sOrganName) ? '' : $sOrganName; // $sOrganName = empty($sOrganName) ? '' : $sOrganName;
$aAuthorInfo[] = ['company' => $sOrganName,'author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']]; // $aAuthorInfo[] = ['company' => $sOrganName,'author_name' => $sAuthorName,'email' => $value['email'],'article_id' => $value['article_id']];
// }
// return $aAuthorInfo;
}
/**
* 更新期刊内容
* @param article_id 文章ID
*/
public function updateJournal(){
//获取参数
$aParam = $this->request->post();
$sIssn = empty($aParam['issn']) ? '' :$aParam['issn'] ;
if(empty($sIssn)){
return json_encode(array('status' => 2,'msg' => 'Please select an journal'));
} }
return $aAuthorInfo;
//查询期刊是否存在
$aJournal = Db::name('journal')->where('issn',$sIssn)->find();
if(empty($aJournal)){
return json_encode(array('status' => 4,'msg' => 'The journal does not exist'));
}
$iJournalId = $aJournal['journal_id'];
//更新字段
$aFileds = ['journal_topic','abstract_chinese','publish_author','editor_qrcode'];
foreach ($aFileds as $key => $value) {
if(isset($aParam[$value])){
$aUpdate[$value] = empty($aParam[$value]) ? '' : addslashes(trim(htmlspecialchars($aParam[$value])));
}
}
if(empty($aUpdate)){
return json_encode(array('status' => 5,'msg' => 'update success'));
}
$result = Db::name('journal')->where('journal_id',$iJournalId)->limit(1)->update($aUpdate);
if($result === false){
return json_encode(array('status' => 6,'msg' => 'Update failed'));
}
return json_encode(array('status' => 1,'msg' => 'update success'));
} }
} }