This commit is contained in:
wangjinlei
2021-03-11 15:46:23 +08:00
parent a3ab5839a9
commit f1a9638f31
2 changed files with 214 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ class Article extends Controller {
protected $article_author_obj = '';
protected $article_organ_obj = '';
protected $article_ltai_obj = '';
protected $article_cite_obj = '';
protected $author_to_organ_obj = '';
protected $article_to_topic_obj = '';
protected $journal_topic_obj = '';
@@ -35,6 +36,7 @@ class Article extends Controller {
$this->article_author_obj = Db::name('article_author');
$this->article_organ_obj = Db::name('article_organ');
$this->article_ltai_obj = Db::name('article_ltai');
$this->article_cite_obj = Db::name('article_cite');
$this->author_to_organ_obj = Db::name('article_author_to_organ');
$this->article_to_topic_obj = Db::name('article_to_topic');
$this->journal_topic_obj = Db::name('journal_topic');
@@ -720,6 +722,29 @@ class Article extends Controller {
}
}
/**
* @title cite图片上传
* @description cite图片上传
* @author wangjinlei
* @url /master/Article/up_cite_file
* @method POST
*
* @param name:name type:string require:1 default:articleCite desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_cite_file() {
$file = request()->file('articleCite');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'articleCite');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 文章文件上传
* @description 文章文件上传
@@ -777,5 +802,167 @@ class Article extends Controller {
return jsonSuccess($re);
}
/**
* @title 添加文章引用申请
* @description 添加文章引用申请
* @author wangjinlei
* @url /master/Article/addArticleCite
* @method POST
*
* @param name:article_id type:int require:1 desc:文章id
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:img type:string require:1 desc:地址
* @param name:journal_name type:string require:1 desc:期刊名
* @param name:article_name type:string require:1 desc:文章名
* @param name:factor type:string require:1 desc:影响因子
* @param name:adate type:string require:1 desc:引用时间
*
* @return specials:客座期刊array#
*/
public function addArticleCite(){
$data = $this->request->post();
$insert['article_id'] = $data['article_id'];
$insert['journal_id'] = $data['journal_id'];
$insert['img'] = $data['img'];
$insert['journal_name'] = $data['journal_name'];
$insert['article_name'] = $data['article_name'];
$insert['factor'] = $data['factor'];
$insert['date'] = $data['adate'];
$insert['ctime'] = time();
$this->article_cite_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 获取文章引用申请列表(编辑)
* @description 获取文章引用申请列表
* @author wangjinlei
* @url /master/Article/getArticleCites
* @method POST
*
* @param name:admin_id type:int require:1 desc:管理员id
*
* @return cites:信息array#
*/
public function getArticleCites(){
$data = $this->request->post();
$journals = $this->journal_obj->where('editor_id',$data['admin_id'])->where('state',0)->column('journal_id');
$list = $this->article_cite_obj->where('journal_id','in',$journals)->order('state asc,article_cite_id asc')->select();
$re['cites'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取文章引用列表(编辑)
* @description 获取文章引用列表
* @author wangjinlei
* @url /master/Article/getCitesByArticle
* @method POST
*
* @param name:article_id type:int require:1 desc:文章id
*
* @return cites:信息array#
* @return article:文章信息#
*/
public function getCitesByArticle(){
$data = $this->request->post();
$article_info = $this->article_obj->where('article_id',$data['article_id'])->find();
$list = $this->article_cite_obj->where('article_id',$data['article_id'])->order('state asc,article_cite_id asc')->select();
$re['article'] = $article_info;
$re['cites'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取文章引用申请列表(管理员)
* @description 获取文章引用申请列表(管理员)
* @author wangjinlei
* @url /master/Article/getAllArticleCites
* @method POST
*
* @param name:state type:int require:1 desc:状态-1,0,1,2
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
*
* @return count:总数
* @return cites:信息array#
*/
public function getAllArticleCites(){
$data = $this->request->post();
$where = [];
if($data['state']>=0){
$where['state'] = $data['state'];
}
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_cite_obj->where($where)->order('state asc,article_cite_id asc')->limit($limit_start,$data['pageSize'])->select();
$count = $this->article_cite_obj->where($where)->count();
$re['count'] = $count;
$re['cites'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取文章引用详情
* @description 获取文章引用详情
* @author wangjinlei
* @url /master/Article/getCiteDetail
* @method POST
*
* @param name:article_cite_id type:int require:1 desc:主键
*
* @return cite:信息#
*/
public function getCiteDetail(){
$data = $this->request->post();
$cite_info = $this->article_cite_obj->where('article_cite_id',$data['article_cite_id'])->find();
$re['cite'] = $cite_info;
return jsonSuccess($re);
}
/**
* @title 审核文章引用
* @description 审核文章引用
* @author wangjinlei
* @url /master/Article/changeCiteState
* @method POST
*
* @param name:article_cite_id type:int require:1 desc:主键
* @param name:state type:int require:1 desc:状态1通过2驳回
*/
public function changeCiteState(){
$data = $this->request->post();
$this->article_cite_obj->where('article_cite_id',$data['article_cite_id'])->update(['state'=>$data['state'],'atime'=> time()]);
if($data['state']==1){
$info = $this->article_cite_obj->where('article_cite_id',$data['article_cite_id'])->find();
$this->article_obj->where('article_id',$info['article_id'])->setInc('cited');
}
return jsonSuccess([]);
}
/**
* @title 获取期刊引用
* @description 获取期刊引用
* @author wangjinlei
* @url /master/Article/getJournalCites
* @method POST
*
* @param name:issn type:string require:1 desc:issn号
*/
public function getJournalCites(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
$c_time = strtotime("-1 month", strtotime(date('Y-m') . '-26 00:00:00'));
$c_time1 = strtotime(date('Y-m' . '-25 23:59:59'));
$where['journal_id'] = $journal_info['journal_id'];
$where['atime'] = array(['>', $c_time], ['<=', $c_time1]);
$where['state'] = 1;
$list = $this->article_cite_obj->where($where)->select();
$re['cites'] = $list;
return jsonSuccess($re);
}
}

View File

@@ -686,6 +686,29 @@ class Journal extends Controller {
}
}
/**
* @title line图片上传
* @description line图片上传
* @author wangjinlei
* @url /master/Journal/up_line_file
* @method POST
*
* @param name:name type:string require:1 default:journalline desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_line_file() {
$file = request()->file('journalline');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'journalline');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title footer图片上传
* @description footer图片上传
@@ -1193,6 +1216,7 @@ class Journal extends Controller {
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:string require:1 desc:标题
* @param name:time type:string require:1 desc:时间
* @param name:img type:string require:1 desc:图片
* @param name:intro type:string require:1 desc:简介
* @param name:dist type:int require:1 desc:距离
*/
@@ -1201,6 +1225,7 @@ class Journal extends Controller {
$insert['journal_id'] = $data['journal_id'];
$insert['title'] = $data['title'];
$insert['time'] = $data['time'];
$insert['img'] = $data['img'];
$insert['intro'] = $data['intro'];
$insert['dist'] = $data['dist'];
$this->journal_line_obj->insert($insert);
@@ -1232,6 +1257,7 @@ class Journal extends Controller {
* @param name:journal_line_id type:int require:1 desc:期刊时间轴id
* @param name:title type:string require:1 desc:标题
* @param name:time type:string require:1 desc:时间
* @param name:img type:string require:1 desc:图片地址
* @param name:intro type:string require:1 desc:简介
* @param name:dist type:int require:1 desc:距离
*/
@@ -1239,6 +1265,7 @@ class Journal extends Controller {
$data = $this->request->post();
$update['title'] = $data['title'];
$update['time'] = $data['time'];
$update['img'] = $data['img'];
$update['intro'] = $data['intro'];
$update['dist'] = $data['dist'];
$this->journal_line_obj->where('journal_line_id',$data['journal_line_id'])->update($update);