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();
|
$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();
|
$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();
|
$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]]);
|
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;
|
$re['count'] = $count;
|
||||||
return jsonSuccess($re);
|
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()
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取分期通过期刊
|
* 获取分期通过期刊
|
||||||
*/
|
*/
|
||||||
@@ -249,6 +238,27 @@ class Journal extends Controller
|
|||||||
return jsonSuccess([]);
|
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(){
|
public function getCiteListForSubmission(){
|
||||||
$data = $this->request->post();
|
$data = $this->request->post();
|
||||||
$rule = new Validate([
|
$rule = new Validate([
|
||||||
@@ -259,17 +269,66 @@ class Journal extends Controller
|
|||||||
}
|
}
|
||||||
$journal_info = $this->journal_obj->where("issn",$data['issn'])->find();
|
$journal_info = $this->journal_obj->where("issn",$data['issn'])->find();
|
||||||
$s_time = strtotime(date("Y-m")."-1");
|
$s_time = strtotime(date("Y-m")."-1");
|
||||||
|
$aWhere = ['journal_id' => $journal_info['journal_id'],'state' => 1,'ctime' => ['>',$s_time]];
|
||||||
$list1 = $this->article_cite_obj
|
$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")
|
->field("article_cite_id,article_id,factor,article_name,doi article_doi,journal_name,vol,is_wos,is_china,author")
|
||||||
->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
->where($aWhere)
|
||||||
->where("j_article_cite.journal_id",$journal_info['journal_id'])
|
|
||||||
->where("j_article_cite.state",1)
|
|
||||||
->where("j_article_cite.ctime",">",$s_time)
|
|
||||||
->select();
|
->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;
|
$re['list'] = $list1;
|
||||||
return jsonSuccess($re);
|
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(){
|
public function getCiteListPForSubmission(){
|
||||||
$data = $this->request->post();
|
$data = $this->request->post();
|
||||||
$rule = new Validate([
|
$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();
|
// $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 = date("Y");
|
||||||
//获取前两年的分期信息
|
//获取前两年的分期信息
|
||||||
$y_time_stages = $this->journal_stage_obj
|
$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");
|
||||||
->where("journal_id",$journal['journal_id'])
|
|
||||||
->whereIn("stage_year",[$y_time-1,$y_time-2])
|
|
||||||
->column("journal_stage_id");
|
|
||||||
$list3 = $this->article_cite_obj
|
$list3 = $this->article_cite_obj
|
||||||
->field("j_article_cite.*")
|
->field("j_article_cite.*")
|
||||||
->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
->join("j_article","j_article.article_id = j_article_cite.article_id","left")
|
||||||
|
|||||||
Reference in New Issue
Block a user