Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -142,6 +142,16 @@ class Journal extends Controller {
|
||||
$relatelist = $this->journal_obj->where('journal_id', 'in', $rearr)->where('state', 0)->select();
|
||||
$absList = $this->journal_abs_obj->where('journal_id', $data['journal_id'])->where('state', 0)->order('sort')->select();
|
||||
$stageList = $this->journal_stage_obj->where('journal_id', $data['journal_id'])->where('is_publish', 1)->where('state', 0)->order('stage_year desc,stage_no desc')->select();
|
||||
|
||||
//获取期刊主编辑 chengxiaoling start 20250626
|
||||
if(!empty($journal_info)){
|
||||
$aBoard = $this->getJournalBoard(['issn' => $journal_info['issn'],'type' => 0]);
|
||||
$aBoard = empty($aBoard['data']) ? [] : $aBoard['data'];
|
||||
$sBoard = empty($aBoard) ? '' : implode("<br>", array_unique(array_column($aBoard, 'realname')));
|
||||
$sBoard = trim($sBoard);
|
||||
$journal_info['editorinchief'] = empty($sBoard) ? $journal_info['editorinchief'] : $sBoard;
|
||||
}
|
||||
//获取期刊主编辑 chengxiaoling end 20250626
|
||||
return json(['code' => 0, 'msg' => 'success', 'data' => ['journal' => $journal_info, 'relats' => $relatelist, 'journalAbs' => $absList, 'journalStage' => $stageList]]);
|
||||
}
|
||||
|
||||
@@ -1907,4 +1917,19 @@ class Journal extends Controller {
|
||||
$re['count'] = $count;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 获取期刊编辑
|
||||
* @description 获取期刊编辑接口
|
||||
*/
|
||||
private function getJournalBoard($aParam = []){
|
||||
$sIssn = empty($aParam['issn']) ? '' : $aParam['issn'];
|
||||
if(empty($sIssn)){
|
||||
return json_encode(['status' => 2,'msg' => 'Parameter is empty']);
|
||||
}
|
||||
|
||||
$sUrl = "http://api.tmrjournals.com/public/index.php/api/Supplementary/getJournalBoard";
|
||||
$aResult = json_decode(myPost($sUrl,$aParam),true);
|
||||
return $aResult;
|
||||
}
|
||||
}
|
||||
|
||||
49
application/api/controller/Supplementary.php
Normal file
49
application/api/controller/Supplementary.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
namespace app\api\controller;
|
||||
use think\Controller;
|
||||
use think\Db;
|
||||
/**
|
||||
* @title 补充接口
|
||||
* @description 文章接口
|
||||
*/
|
||||
class Supplementary extends Controller
|
||||
{
|
||||
|
||||
public function __construct(\think\Request $request = null) {
|
||||
|
||||
parent::__construct($request);
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 获取期刊介绍
|
||||
* @description 获取期刊编辑接口
|
||||
*/
|
||||
|
||||
public function getJournalPaperArt(){
|
||||
|
||||
|
||||
//获取参数
|
||||
$aParam = $this->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'] : $aParam['journal_title'];
|
||||
|
||||
//根据期刊issn查询期刊ID
|
||||
$aWhere = ['state' => 0,'issn' => $sIssn];
|
||||
$aJournal = Db::name('journal')->field('journal_id')->where($aWhere)->find();
|
||||
if(empty($aJournal)){
|
||||
return json_encode(['status' => 3,'msg' => 'No journal information found']);
|
||||
}
|
||||
//查询期刊编辑信息
|
||||
$aWhere = ['state' => 0,'journal_id' => $aJournal['journal_id'],'title' => ['in',$sTitle]];
|
||||
$aJournalPaperArt = Db::name('journal_paper_art')->where($aWhere)->column('content');
|
||||
return json_encode(['status' => 1,'msg' => 'success','data' => $aJournalPaperArt]);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -96,24 +96,13 @@ class Journal extends Controller
|
||||
/**
|
||||
* 获取全部期刊
|
||||
*/
|
||||
// public function getJournals()
|
||||
// {
|
||||
// $jouranls = $this->journal_obj->where('state', 0)->select();
|
||||
// $re['journals'] = $jouranls;
|
||||
// return jsonSuccess($re);
|
||||
// }
|
||||
public function getJournals()
|
||||
{
|
||||
//根据条件搜索
|
||||
$aParam = $this->request->post();
|
||||
$aWhere['state'] = 0;
|
||||
if(!empty($aParam['issn'])){
|
||||
$aWhere['issn'] = ['in',$aParam['issn']];
|
||||
}
|
||||
$jouranls = $this->journal_obj->where($aWhere)->select();
|
||||
$jouranls = $this->journal_obj->where('state', 0)->select();
|
||||
$re['journals'] = $jouranls;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分期通过期刊
|
||||
*/
|
||||
@@ -249,6 +238,27 @@ class Journal extends Controller
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
// public function getCiteListForSubmission(){
|
||||
// $data = $this->request->post();
|
||||
// $rule = new Validate([
|
||||
// "issn"=>"require"
|
||||
// ]);
|
||||
// if(!$rule->check($data)){
|
||||
// return jsonError($rule->getError());
|
||||
// }
|
||||
// $journal_info = $this->journal_obj->where("issn",$data['issn'])->find();
|
||||
// $s_time = strtotime(date("Y-m")."-1");
|
||||
// $list1 = $this->article_cite_obj
|
||||
// ->field("j_article.title,j_article.doi,j_article.article_id,j_article_cite.article_cite_id,j_article_cite.factor,j_article_cite.article_name,j_article_cite.doi article_doi,j_article_cite.journal_name,j_article_cite.vol,j_article_cite.is_wos,j_article_cite.is_china")
|
||||
// ->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
||||
// ->where("j_article_cite.journal_id",$journal_info['journal_id'])
|
||||
// ->where("j_article_cite.state",1)
|
||||
// ->where("j_article_cite.ctime",">",$s_time)
|
||||
// ->select();
|
||||
// $re['list'] = $list1;
|
||||
// return jsonSuccess($re);
|
||||
// }
|
||||
|
||||
public function getCiteListForSubmission(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
@@ -259,17 +269,66 @@ class Journal extends Controller
|
||||
}
|
||||
$journal_info = $this->journal_obj->where("issn",$data['issn'])->find();
|
||||
$s_time = strtotime(date("Y-m")."-1");
|
||||
$aWhere = ['journal_id' => $journal_info['journal_id'],'state' => 1,'ctime' => ['>',$s_time]];
|
||||
$list1 = $this->article_cite_obj
|
||||
->field("j_article.title,j_article.doi,j_article.article_id,j_article_cite.article_cite_id,j_article_cite.factor,j_article_cite.article_name,j_article_cite.doi article_doi,j_article_cite.journal_name,j_article_cite.vol,j_article_cite.is_wos,j_article_cite.is_china")
|
||||
->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
||||
->where("j_article_cite.journal_id",$journal_info['journal_id'])
|
||||
->where("j_article_cite.state",1)
|
||||
->where("j_article_cite.ctime",">",$s_time)
|
||||
->field("article_cite_id,article_id,factor,article_name,doi article_doi,journal_name,vol,is_wos,is_china,author")
|
||||
->where($aWhere)
|
||||
->select();
|
||||
if(!empty($list1)){
|
||||
//查询文章信息
|
||||
$aArticleId = array_unique(array_column($list1, 'article_id'));
|
||||
$aWhere = ['article_id' => ['in',$aArticleId]];
|
||||
$aArticle = Db::name('article')->field('journal_stage_id,title,doi,article_id,npp')->where($aWhere)->select();
|
||||
$aArticle = empty($aArticle) ? [] : array_column($aArticle, null,'article_id');
|
||||
$aStageId = empty($aArticle) ? [] : array_unique(array_column($aArticle, 'journal_stage_id'));
|
||||
if(!empty($aStageId)){
|
||||
$aWhere = ['journal_stage_id' => ['in',$aStageId]];
|
||||
$aStage = Db::name('journal_stage')->field('journal_stage_id,stage_year,stage_vol,stage_no,journal_id')->where($aWhere)->select();
|
||||
$aStage = empty($aStage) ? [] : array_column($aStage, null,'journal_stage_id');
|
||||
}
|
||||
|
||||
//数据处理
|
||||
foreach ($list1 as $key => $value) {
|
||||
//文章信息
|
||||
$aArticleInfo = empty($aArticle[$value['article_id']]) ? [] : $aArticle[$value['article_id']];
|
||||
$list1[$key] += $aArticleInfo;
|
||||
|
||||
//子刊信息
|
||||
|
||||
$list1[$key]['stage_info'] = '';
|
||||
if(!empty($aArticleInfo)){
|
||||
$iStageId = $aArticleInfo['journal_stage_id'];
|
||||
$aStageInfo = empty($aStage[$iStageId]) ? [] : $aStage[$iStageId];
|
||||
$list1[$key]['stage_info'] = $this->_cite($aStageInfo,$aArticleInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
$re['list'] = $list1;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理文章引用
|
||||
* @param string $html
|
||||
* @return string
|
||||
*/
|
||||
private function _cite($aJournalStage = [],$aArticle=[]){
|
||||
if(empty($aJournalStage)){
|
||||
return '';
|
||||
}
|
||||
$no = empty($aJournalStage['stage_no']) ? ':' : '(' . $aJournalStage['stage_no'] . '):';
|
||||
$stage_year = empty($aJournalStage['stage_year']) ? '' : $aJournalStage['stage_year'];
|
||||
$stage_vol = empty($aJournalStage['stage_vol']) ? '' : $aJournalStage['stage_vol'];
|
||||
|
||||
$sCite = '';
|
||||
if ($aJournalStage['journal_id'] == 22) {
|
||||
$sCite = $stage_year . ',' . $stage_vol . $no. $aArticle['npp'] . '. ';
|
||||
} else {
|
||||
$sCite = $stage_year . ';' . $stage_vol . $no. $aArticle['npp'] . '.' ;
|
||||
}
|
||||
return $sCite;
|
||||
}
|
||||
|
||||
public function getCiteListPForSubmission(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
@@ -352,10 +411,7 @@ class Journal extends Controller
|
||||
// $list3 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->where("ctime",">",$y_time)->select();
|
||||
$y_time = date("Y");
|
||||
//获取前两年的分期信息
|
||||
$y_time_stages = $this->journal_stage_obj
|
||||
->where("journal_id",$journal['journal_id'])
|
||||
->whereIn("stage_year",[$y_time-1,$y_time-2])
|
||||
->column("journal_stage_id");
|
||||
$y_time_stages = $this->journal_stage_obj->where("journal_id",$journal['journal_id'])->whereIn("stage_year",[$y_time-1,$y_time-2])->column("journal_stage_id");
|
||||
$list3 = $this->article_cite_obj
|
||||
->field("j_article_cite.*")
|
||||
->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
||||
|
||||
Reference in New Issue
Block a user