From f1a9638f315f5592c664aa80dba68e62b09ebb72 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Thu, 11 Mar 2021 15:46:23 +0800 Subject: [PATCH] 20201112 --- application/master/controller/Article.php | 187 ++++++++++++++++++++++ application/master/controller/Journal.php | 27 ++++ 2 files changed, 214 insertions(+) diff --git a/application/master/controller/Article.php b/application/master/controller/Article.php index 48c371c..029b98f 100644 --- a/application/master/controller/Article.php +++ b/application/master/controller/Article.php @@ -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); + } } diff --git a/application/master/controller/Journal.php b/application/master/controller/Journal.php index de4ef77..d97e8f6 100644 --- a/application/master/controller/Journal.php +++ b/application/master/controller/Journal.php @@ -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);