admin_obj = Db::name('admin');
$this->journal_obj = Db::name('journal');
$this->article_obj = Db::name('article');
$this->journal_topic_obj = Db::name('journal_topic');
$this->journal_stage_obj = Db::name('journal_stage');
$this->journal_line_obj = Db::name('journal_line');
$this->journal_notices_obj = Db::name('journal_notices');
$this->journal_abs_obj = Db::name('journal_abstracting');
$this->article_author_obj = Db::name('article_author');
$this->article_to_topic_obj = Db::name('article_to_topic');
$this->article_to_line_obj = Db::name('article_to_line');
$this->journal_cfp_obj = Db::name('journal_cfp');
$this->journal_paper_obj = Db::name('journal_paper');
$this->journal_paper_art_obj = Db::name('journal_paper_art');
$this->subscribe_journal_obj = Db::name('subscribe_journal');
$this->subscribe_topic_obj = Db::name('subscribe_topic');
$this->board_obj = Db::name('board');
$this->board_group_obj = Db::name('board_group');
$this->base_topic_obj = Db::name('base_topic');
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
}
/**
* @title 获取期刊列表
* @description 获取期刊列表
* @author wangjinlei
* @url /master/Journal/getJournalList
* @method POST
*
* @param name:editor_id type:int require:1 desc:编辑id
*
* @return journalList:期刊列表@
* @journalList title:标题 issn:issn editorinchief:editorinchief acceptance:acceptance finaldecision:finaldecision apc:apc
*/
public function getJournalList(){
$data = $this->request->post();
$where['j_journal.state'] = 0;
if($data['editor_id']!=1){
$where['j_journal.editor_id'] = $data['editor_id'];
}
$res = $this->journal_obj
->field('j_journal.*,j_admin.realname realname')
->join('j_admin','j_admin.admin_id = j_journal.editor_id','LEFT')
->where($where)
->order('j_journal.sort desc')
->select();
return json(['code'=>0,'msg'=>'success','data'=>['journalList'=>$res]]);
}
/**
* @title 获取所有期刊
* @description 获取所有期刊
* @author wangjinlei
* @url /master/Journal/getJournalAll
* @method POST
*
* @param name:journal_id type:int require:1 desc:当前期刊id
*
* @return journalList:期刊列表#
*/
public function getJournalAll(){
$data = $this->request->post();
$res = $this->journal_obj->where('journal_id','<>',$data['journal_id'])->where('state',0)->select();
$re['journalList'] = $res;
return jsonSuccess($re);
}
/**
* @title 添加期刊
* @description 添加期刊
* @author wangjinlei
* @url /master/Journal/addJournal
* @method POST
*
* @param name:title type:string require:1 desc:标题
* @param name:issn type:string require:1
* @param name:editorinchief type:string require:1
* @param name:acceptance type:string require:1 desc:受理度
* @param name:finaldecision type:string require:1 desc:最终受理
* @param name:sort type:int require:1 detault:0 desc:权重值
* @param name:abstract type:string require:1 desc:简介
* @param name:sx type:string require:1 desc:缩写(demo:tmr)
* @param name:jabbr type:int require:0 desc:期刊简称
* @param name:apc type:string require:1
* @param name:art_num type:int require:1 desc:单刊文章数量
* @param name:cycle type:int require:1 desc:1月刊2双月刊3季刊6半年刊
* @param name:icon type:string require:1
* @param name:licon type:string require:1 desc:简易缩略图
* @param name:editor_id type:int require:1 desc:编辑id
* @param name:system_color type:string require:1
* @param name:submission_url type:string require:1
*/
public function addJournal(){
$data = $this->request->post();
$insert_data['title'] = $data['title'];
$insert_data['issn'] = $data['issn'];
$insert_data['editorinchief'] = $data['editorinchief'];
$insert_data['acceptance'] = $data['acceptance'];
$insert_data['finaldecision'] = $data['finaldecision'];
$insert_data['sort'] = $data['sort'];
$insert_data['abstract'] = $data['abstract'];
$insert_data['sx'] = $data['sx'];
$insert_data['jabbr'] = $data['jabbr'];
$insert_data['apc'] = $data['apc'];
$insert_data['art_num'] = $data['art_num'];
$insert_data['cycle'] = $data['cycle'];
$insert_data['icon'] = $data['icon'];
$insert_data['licon'] = $data['licon'];
$insert_data['editor_id'] = $data['editor_id'];
$insert_data['system_color'] = $data['system_color'];
$insert_data['submission_url'] = $data['submission_url'];
$insert_data['board_url'] = $data['board_url'];
$res = $this->journal_obj->insert($insert_data);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 删除期刊
* @description 删除期刊
* @author wangjinlei
* @url /master/Journal/delJournal
* @method POST
*
* @param name:journal_id require:1 desc:主键
*/
public function delJournal(){
$data = $this->request->post();
$res = $this->journal_obj->where('journal_id',$data['journal_id'])->update(['state'=>1]);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 修改期刊详情
* @description 修改期刊详情
* @author wangjinlei
* @url /master/Journal/editJournalDetail
* @method POST
*
* @param name:journal_id require:1 desc:主键
* @param name:title type:string require:1 desc:标题
* @param name:issn type:string require:1
* @param name:editorinchief type:string require:1
* @param name:acceptance type:string require:1 desc:受理度
* @param name:finaldecision type:string require:1 desc:最终受理
* @param name:art_num type:int require:1 desc:单刊文章数量
* @param name:cycle type:int require:1 desc:1月刊2双月刊3季刊6半年刊
* @param name:sort type:int require:1 detault:0 desc:权重值
* @param name:abstract type:string require:1 desc:简介
* @param name:sx type:string require:1 desc:缩写(demo:tmr)
* @param name:jabbr type:string require:0 desc:期刊简称
* @param name:apc type:string require:1
* @param name:publish_stage_id type:int require:1 desc:推广分期id
* @param name:icon type:string require:1
* @param name:licon type:string require:1 desc:简易缩略图
* @param name:editor_id type:int require:1 desc:编辑id
* @param name:system_color type:string require:1
* @param name:submission_url type:string require:1
*/
public function editJournalDetail(){
$data = $this->request->post();
$insert_data['title'] = $data['title'];
$insert_data['issn'] = $data['issn'];
$insert_data['editorinchief'] = $data['editorinchief'];
$insert_data['acceptance'] = $data['acceptance'];
$insert_data['finaldecision'] = $data['finaldecision'];
$insert_data['art_num'] = $data['art_num'];
$insert_data['cycle'] = $data['cycle'];
$insert_data['sort'] = $data['sort'];
$insert_data['abstract'] = $data['abstract'];
$insert_data['sx'] = $data['sx'];
$insert_data['jabbr'] = $data['jabbr'];
$insert_data['publish_stage_id'] = $data['publish_stage_id'];
$insert_data['apc'] = $data['apc'];
$insert_data['icon'] = $data['icon'];
$insert_data['licon'] = $data['licon'];
$insert_data['editor_id'] = $data['editor_id'];
$insert_data['system_color'] = $data['system_color'];
$insert_data['submission_url'] = $data['submission_url'];
$insert_data['board_url'] = $data['board_url'];
$res = $this->journal_obj->where('journal_id',$data['journal_id'])->update($insert_data);
// if($res){
return json(['code'=>0,'msg'=>'success']);
// }else{
// return json(['code'=>1,'msg'=>'Please confirm you have changed the journal information.']);
// }
}
/**
* @title 获取编辑列表
* @description 获取编辑列表
* @author wangjinlei
* @url /master/Journal/getEditorList
* @method POST
*
* @return editorList:编辑列表@
* @editorList account:账号 realname:真实姓名 role:角色代号(0admin1editor)
*/
public function getEditorList(){
$editor_list = $this->admin_obj->where('role',1)->select();
return json(['code'=>0,'msg'=>'success','data'=>['editorList'=>$editor_list]]);
}
/**
* @title 图片上传
* @description 图片上传
* @author wangjinlei
* @url /master/Journal/up_file
* @method POST
*
* @param name:name type:string require:1 default:journalicon desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_file() {
$file = request()->file('journalicon');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'journalicon');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 获取编委列表
* @description 获取编委列表
* @author wangjinlei
* @url /master/Journal/getBoardList
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return boards:编委列表array#
* @return journal:期刊信息#
*/
public function getBoardList(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$list = $this->board_obj
->field('j_board.*,j_board_group.group_name')
->join('j_board_group','j_board.board_group_id = j_board_group.board_group_id','LEFT')
->where('j_board.journal_id',$data['journal_id'])
->where('j_board.state',0)
->order('j_board.type')
->select();
$re['boards'] = $list;
$re['journal'] = $journal_info;
return jsonSuccess($re);
}
/**
* @title 获取编委成员分类列表
* @description 获取编委成员分类列表
* @author wangjinlei
* @url /master/Journal/getBoardGroups
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return groups:编委分类列表array#
*/
public function getBoardGroups(){
$data = $this->request->post();
$list = $this->board_group_obj->where('journal_id',$data['journal_id'])->where('state',0)->select();
$re['groups'] = $list;
return jsonSuccess($re);
}
/**
* @title 添加编委成员分组
* @description 添加编委成员分组
* @author wangjinlei
* @url /master/Journal/addBoardGroup
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:group_name type:string require:1 desc:分组名字
*/
public function addBoardGroup(){
$data = $this->request->post();
$insert['journal_id'] = $data['journal_id'];
$insert['group_name'] = $data['group_name'];
$this->board_group_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除编委成员分组
* @description 删除编委成员分组
* @author wangjinlei
* @url /master/Journal/delBoardGroup
* @method POST
*
* @param name:board_group_id type:int require:1 desc:编委分组id
*/
public function delBoardGroup(){
$data = $this->request->post();
$this->board_group_obj->where('board_group_id',$data['board_group_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑编委成员分组信息
* @description 编辑编委成员分组信息
* @author wangjinlei
* @url /master/Journal/editBoardGroup
* @method POST
*
* @param name:board_group_id type:int require:1 desc:编委分组id
* @param name:group_name type:string require:1 desc:分组名字
*/
public function editBoardGroup(){
$data = $this->request->post();
$this->board_group_obj->where('board_group_id',$data['board_group_id'])->update(['group_name'=>$data['group_name']]);
return jsonSuccess([]);
}
/**
* @title 添加编委
* @description 添加编委
* @author wangjinlei
* @url /master/Journal/addBoard
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:type type:int require:1 desc:编委类型0主编1副主编2编委成员
* @param name:name type:string require:1 desc:编委姓名
* @param name:website type:string require:1 desc:个人主页地址
* @param name:dr type:string require:1 desc:学位
* @param name:title type:string require:1 desc:职称
* @param name:field type:string require:1 desc:领域描述
* @param name:board_icon type:string require:1 desc:编委头像地址
* @param name:address type:string require:1 desc:单位
* @param name:country type:string require:1 desc:国家
* @param name:board_group_id type:int require:1 desc:编委分组id
*/
public function addBoard(){
$data = $this->request->post();
$insert['journal_id'] = $data['journal_id'];
$insert['type'] = $data['type'];
$insert['name'] = trim($data['name']);
$insert['website'] = trim($data['website']);
$insert['dr'] = $data['dr'];
$insert['field'] = trim($data['field']);
$insert['title'] = $data['title'];
$insert['address'] = trim($data['address']);
$insert['country'] = trim($data['country']);
$insert['board_icon'] = trim($data['board_icon']);
$insert['board_group_id'] = $data['board_group_id'];
$this->board_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除编委
* @description 删除编委
* @author wangjinlei
* @url /master/Journal/delBoard
* @method POST
*
* @param name:board_id type:int require:1 desc:编委id
*/
public function delBoard(){
$data = $this->request->post();
$this->board_obj->where('board_id',$data['board_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑编委信息
* @description 编辑编委信息
* @author wangjinlei
* @url /master/Journal/editBoard
* @method POST
*
* @param name:board_id type:int require:1 desc:编委id
* @param name:type type:int require:1 desc:编委类型0主编1副主编2编委成员
* @param name:name type:string require:1 desc:编委姓名
* @param name:website type:string require:1 desc:个人主页地址
* @param name:dr type:string require:1 desc:学位
* @param name:title type:string require:1 desc:职称
* @param name:field type:string require:1 desc:领域描述
* @param name:address type:string require:1 desc:单位
* @param name:board_icon type:string require:1 desc:编委头像
* @param name:country type:string require:1 desc:国家
* @param name:board_group_id type:int require:1 desc:编委分组id
*/
public function editBoard(){
$data = $this->request->post();
$insert['type'] = $data['type'];
$insert['name'] = trim($data['name']);
$insert['website'] = trim($data['website']);
$insert['dr'] = $data['dr'];
$insert['title'] = trim($data['title']);
$insert['field'] = trim($data['field']);
$insert['address'] = trim($data['address']);
$insert['board_icon'] = trim($data['board_icon']);
$insert['country'] = $data['country'];
$insert['board_group_id'] = $data['board_group_id'];
$this->board_obj->where('board_id',$data['board_id'])->update($insert);
return jsonSuccess([]);
}
/**
* @title 增加话题
* @description 增加话题
* @author wangjinlei
* @url /master/Journal/addTopic
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:parent_id type:int require:1 default:0 desc:父id
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:缩略图
* @param name:intro type:string require:1 desc:介绍
* @param name:come type:string require:1 desc:图片证书
* @param name:position type:string require:1 desc:摆放位置
* @param name:is_final type:int require:1 desc:是否终结点(0no1yes)
* @param name:sort type:int require:1 default:0 desc:权重
*/
public function addTopic(){
$data = $this->request->post();
$level = 0;
if($data['parent_id']==0){
$level = 1;
}else{
$parent_info = $this->journal_topic_obj->where('journal_topic_id',$data['parent_id'])->find();
$level = intval($parent_info['level'])+1;
}
$insert['journal_id'] = $data['journal_id'];
$insert['parent_id'] = $data['parent_id'];
$insert['title'] = $data['title'];
$insert['icon'] = $data['icon'];
$insert['intro'] = $data['intro'];
$insert['come'] = isset($data['come'])?$data['come']:'';
if($data['parent_id']==0){
$insert['position'] = $data['position'];
}
$insert['is_final'] = $data['is_final'];
$insert['sort'] = $data['sort'];
$insert['level'] = $level;
$res = $this->journal_topic_obj->insert($insert);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 更改话题信息
* @description 更改话题信息
* @author wangjinlei
* @url /master/Journal/editTopic
* @method POST
*
* @param name:journal_topic_id type:int require:1 desc:主键
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:缩略图
* @param name:intro type:string require:1 desc:介绍
* @param name:come type:string require:1 desc:图片证书
* @param name:position type:string require:1 desc:摆放位置
* @param name:is_final type:int require:1 desc:是否终结点(0no1yes)
* @param name:sort type:int require:1 default:0 desc:权重
*/
public function editTopic(){
$data = $this->request->post();
$update['journal_topic_id'] = $data['journal_topic_id'];
$update['title'] = $data['title'];
$update['icon'] = $data['icon'];
$update['intro'] = $data['intro'];
$update['come'] = $data['come'];
$update['position'] = isset($data['position'])?$data['position']:'';
$update['is_final'] = $data['is_final'];
$update['sort'] = $data['sort'];
$res = $this->journal_topic_obj->update($update);
return json(['code'=>0,'msg'=>'success']);
}
/**
* @title 删除话题
* @description 删除话题
* @author wangjinlei
* @url /master/Journal/delTopic
* @method POST
*
* @param name:journal_topic_id type:int require:1 desc:主键
*/
public function delTopic(){
$data = $this->request->post();
//排除有子节点的项
$rep = $this->journal_topic_obj->where('parent_id',$data['journal_topic_id'])->where('state',0)->find();
if($rep){
return json(['code'=>1,'msg'=>'删除的话题不能有子节点!']);
}
$res = $this->journal_topic_obj->where('journal_topic_id',$data['journal_topic_id'])->update(['state'=>1]);
//删除此话题下的话题文章对应关系
$this->article_to_topic_obj->where('topic_id',$data['journal_topic_id'])->update(['state'=>1]);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 获取话题父级列表
* @description 获取话题父级列表
* @author wangjinlei
* @url /master/Journal/getParent
* @method POST
*
* @param name:journal_id type:int require:1 desc:
*
* @return parentList:array#
*/
public function getParent(){
$data = $this->request->post();
// $data['journal_id'] = 9;
$res = $this->journal_topic_obj
->where('journal_id',$data['journal_id'])
->where('state',0)
->where('is_final',0)
->order('sort desc')
->select();
//处理数组
$frag = [];
foreach ($res as $v){
if($v['parent_id'] == 0){
$frag[] = $v;
}
}
$ff = [];
foreach ($frag as $kk => $vv){
$ff[] = $this->getpChieldarr($vv, $res);
// $frag[$kk] = $this->getChieldarr($vv,$res);
}
$fff = [];
foreach ($ff as $vvv){
foreach ($vvv as $vvvv){
$fff[] = $vvvv;
}
}
return json(['code'=>0,'msg'=>'success','data'=>['parentList'=>$fff]]);
}
private function getpChieldarr($vv,$res){
if($vv['is_final']==1){
return $vv;
}
$frag = [];
$frag[] = $vv;
foreach ($res as $v){
if($v['parent_id'] == $vv['journal_topic_id']){
$frag[] = $this->getChieldarr($v, $res);
}
}
return $frag;
}
/**
* @title 获取话题列表
* @description 获取话题列表
* @author wangjinlei
* @url /master/Journal/getTopicList
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return journal:array#
* @return topicList:话题数组@
* @topicList array:数据
*/
public function getTopicList(){
$data = $this->request->post();
$res = $this->journal_topic_obj
->where('journal_id',$data['journal_id'])
->where('state',0)
->select();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
//处理数组
$frag = [];
foreach ($res as $v){
if($v['parent_id'] == 0){
$frag[] = $v;
}
}
foreach ($frag as $kk => $vv){
$frag[$kk] = $this->getChieldarr($vv,$res);
}
return json(['code'=>0,'msg'=>'success','data'=>['journal'=>$journal_info,'topicList'=>$frag]]);
}
private function getChieldarr($vv,$res){
if($vv['is_final']==1){
return $vv;
}
foreach ($res as $v){
if($v['parent_id'] == $vv['journal_topic_id']){
$vv['children'][] = $this->getChieldarr($v, $res);
}
}
return $vv;
}
/**
* @title 添加话题的文章
* @description 添加话题的文章
* @author wangjinlei
* @url /master/Journal/addTopicArticle
* @method POST
*
* @param name:article_id type:int require:1 desc:文章id
* @param name:topic_id type:int require:1 desc:话题id
*/
public function addTopicArticle(){
$data = $this->request->post();
$insert['article_id'] = $data['article_id'];
$insert['topic_id'] = $data['topic_id'];
$res = $this->article_to_topic_obj->insert($insert);
$this->msg_subscript_topic($data['topic_id'], $data['article_id']);
$this->msg_subscribe_base_topic($data['topic_id'], $data['article_id']);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
public function mmm(){
$this->msg_subscribe_base_topic(14, 5);
}
private function msg_subscribe_base_topic($topic_id,$article_id){
$article_info = $this->article_obj->where('article_id',$article_id)->find();
$topic_info = $this->journal_topic_obj->where('journal_topic_id',$topic_id)->find();
$base_topic_info = $this->base_topic_obj->where('title',$topic_info['title'])->find();
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
if($base_topic_info==null){
return ;
}
$list = $this->subscribe_base_topic_obj->where('base_topic_id',$base_topic_info['base_topic_id'])->where('state',0)->select();
$title = 'These new articles included in TMRDE database are available online.';
$tt = 'Dear Researcher,
';
$tt .= 'It is our great honor to present you the articles included in TMRDE.The following new articles have just been included.
';
$tt .= ''.$article_info['title'].'
';
foreach ($list as $v){
$tt1='';
$tt1 .= $tt;
$tt1 .= 'Unsubscribe
';
$tt1 .= 'Email:'.$journal_info['email'].'
';
$tt1 .= 'Website:'.$journal_info['website'].'
';
$tt1 .= 'TMR Publishing Group Ltd.
';
$tt1 .= '11 Cockle Bay Rd, Cockle Bay, Auckland, New Zealand
';
$tt1 .= 'Tel: +64 02108293806.';
$maidata['email'] = $v['email'];
$maidata['title'] = $title;
$maidata['content'] = $tt1;
$maidata['tmail'] = 'publicrelations@tmrjournals.com';
$maidata['tpassword'] = 'pRWU999999';
Queue::push('app\api\job\mail@fire', $maidata, "mail");
}
}
private function msg_subscript_topic($topic_id,$article_id){
$article_info = $this->article_obj->where('article_id',$article_id)->find();
$stage_info = $this->journal_stage_obj->where('journal_stage_id', $article_info['journal_stage_id'])->find();
$topic_info = $this->journal_topic_obj->where('journal_topic_id',$topic_id)->find();
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
$list = [];
if($topic_info['level']==2){
$list = $this->subscribe_topic_obj->where('topic_id',$topic_id)->where('state',0)->select();
}else{
$list = $this->subscribe_topic_obj->where('topic_id',$topic_info['parent_id'])->where('state',0)->select();
}
// $list = $this->subscribe_topic_obj->where('topic_id',$topic_info['parent_id'])->where('state',0)->select();
//组成文章信息
$tt1 = '
';
$tt1 .= $journal_info['title'].'
';
$tt1 .= 'The following new articles have just been published in Topic "'.$topic_info['title'].'" of '.$journal_info['title'].'
';
$tt1 .= $article_info['type'].'
';
$tt1 .= '
'.$article_info['title'].'';
$tt1 .= $this->getAuthor($article_info).'
';
$tt1 .= $journal_info['title'].' '.$stage_info['stage_year'].' '.$stage_info['stage_vol']."(".$stage_info['stage_no']."). https://doi.org/".$article_info['doi'].'
';
$tt1 .= '
Download pdf';
$tt2 = 'Email: '.$journal_info['email'].'
';
$tt2 .= 'Website: https://www.tmrjournals.com/'.$journal_info['usx'].'
';
$tt2 .= 'TMR Publishing Group Ltd.
';
$tt2 .= '11 Cockle Bay Rd, Cockle Bay, Auckland, New Zealand
';
$tt2 .= 'Tel: +64 02108293806.';
$tt2 .= '
';
foreach ($list as $v){
$cache = $tt1.'Unsubscribe
'.$tt2;
$maidata['email'] = $v['email'];
$maidata['title'] = $journal_info['title'];
$maidata['content'] = $cache;
$maidata['tmail'] = 'publicrelations@tmrjournals.com';
$maidata['tpassword'] = 'pRWU999999';
Queue::push('app\api\job\mail@fire', $maidata, "mail");
}
}
/**
* @title 获取当前话题的文章
* @description 获取当前话题的文章
* @author wangjinlei
* @url /master/Journal/getTopicArticles
* @method POST
*
* @param name:topic_id type:int require:1 desc:话题id
*
* @return dataList:array#
* @return topic:array#
*/
public function getTopicArticles(){
$data = $this->request->post();
$list = $this->article_to_topic_obj
->field('j_article_to_topic.*,j_article.*')
->join('j_article','j_article.article_id = j_article_to_topic.article_id','LEFT')
->where('j_article_to_topic.topic_id',$data['topic_id'])
->where('j_article_to_topic.state',0)
->select();
$info = $this->journal_topic_obj->where('journal_topic_id',$data['topic_id'])->find();
return json(['code'=>0,'msg'=>'success','data'=>['topic'=>$info,'dataList'=>$list]]);
}
/**
* @title 获取当前期刊的文章
* @description 获取当前期刊的文章
* @author wangjinlei
* @url /master/Journal/getArticleByJournal
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:topic_id type:int require:1 desc:话题id
* @param name:title type:string require:1 desc:标题
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
*
* @return dataList:array#
*/
public function getArticleByJournal(){
$data = $this->request->post();
//排除stage
$ids = $this->article_to_topic_obj->where('topic_id',$data['topic_id'])->where('state',0)->column('article_id');
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj->where('journal_id',$data['journal_id'])->where('state',0)->where('article_id','not in',$ids)->where('title','like','%'.$data['title'].'%')->limit($limit_start,$data['pageSize'])->select();
$count = $this->article_obj->where('journal_id',$data['journal_id'])->where('state',0)->where('article_id','not in',$ids)->where('title','like','%'.$data['title'].'%')->count();
return json(['code'=>0,'msg'=>'success','data'=>['count'=>$count,'dataList'=>$list]]);
}
/**
* @title 删除文章话题关系
* @description 删除文章话题关系
* @author wangjinlei
* @url /master/Journal/delArticleToTopic
* @method POST
*
* @param name:article_to_topic_id type:int require:1 desc:id
*
*/
public function delArticleToTopic(){
$data = $this->request->post();
$res = $this->article_to_topic_obj->where('article_to_topic_id',$data['article_to_topic_id'])->update(['state'=>1]);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 添加期刊外链
* @description 添加期刊外链
* @author wangjinlei
* @url /master/Journal/addJournalAbs
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:int require:1 desc:标题
* @param name:url type:string require:1 desc:地址
* @param name:sort type:int require:1 default:0 desc:权重
* @param name:is_show type:int require:1 default:1 desc:是否显示(1yes0no)
*/
public function addJournalAbs(){
$data = $this->request->post();
$add_data['journal_id'] = $data['journal_id'];
$add_data['title'] = $data['title'];
$add_data['url'] = $data['url'];
$add_data['sort'] = $data['sort'];
$add_data['is_show'] = $data['is_show'];
$res = $this->journal_abs_obj->insert($add_data);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error!']);
}
}
/**
* @title 删除期刊外链
* @description 删除期刊外链
* @author wangjinlei
* @url /master/Journal/delJournalAbs
* @method POST
*
* @param name:journal_abstracting_id type:int require:1 desc:期刊外链id
*/
public function delJournalAbs(){
$data = $this->request->post();
$this->journal_abs_obj->where('journal_abstracting_id',$data['journal_abstracting_id'])->update(['state'=>1]);
return json(['code'=>0,'msg'=>'success']);
}
/**
* @title 编辑期刊外链
* @description 编辑期刊外链
* @author wangjinlei
* @url /master/Journal/editJournalAbs
* @method POST
*
* @param name:journal_abstracting_id type:int require:1 desc:期刊外链id
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:int require:1 desc:标题
* @param name:url type:string require:1 desc:地址
* @param name:sort type:int require:1 default:0 desc:权重
* @param name:is_show type:int require:1 default:1 desc:是否显示(1yes0no)
*/
public function editJournalAbs(){
$data = $this->request->post();
$this->journal_abs_obj->update($data);
return json(['code'=>0,'msg'=>'success']);
}
/**
* @title 获取期刊外链
* @description 获取期刊外链
* @author wangjinlei
* @url /master/Journal/getJournalAbs
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*/
public function getJournalAbs(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$list = $this->journal_abs_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('sort desc')->select();
return json(['code'=>0,'msg'=>'success','data'=>['journal'=>$journal_info,'absList'=>$list]]);
}
/**
* @title topic图片上传
* @description topic图片上传
* @author wangjinlei
* @url /master/Journal/up_topic_file
* @method POST
*
* @param name:name type:string require:1 default:journaltopic desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_topic_file() {
$file = request()->file('journaltopic');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'journaltopic');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 编委头像上传
* @description 编委头像上传
* @author wangjinlei
* @url /master/Journal/up_board_file
* @method POST
*
* @param name:name type:string require:1 default:boardIcon desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_board_file() {
$file = request()->file('boardIcon');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'boardIcon');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @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图片上传
* @author wangjinlei
* @url /master/Journal/up_footer_file
* @method POST
*
* @param name:name type:string require:1 default:journalfooter desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_footer_file() {
$file = request()->file('journalfooter');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'journalfooter');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 添加期刊分期
* @description 添加期刊分期
* @author wangjinlei
* @url /master/Journal/addStage
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:stage_year type:string require:1 desc:分期年份
* @param name:stage_vol type:int require:1 desc:分期卷数
* @param name:stage_no type:int require:1 desc:分期号码
* @param name:stage_pagename type:string require:1 desc:page名称
* @param name:is_publish type:int require:1 default:1 desc:是否出刊
* @param name:stage_page type:string require:1 desc:分期页码
* @param name:issue_date type:string require:1 desc:发布时间
*/
public function addStage(){
$data = $this->request->post();
$insert_data['journal_id'] = $data['journal_id'];
$insert_data['stage_year'] = $data['stage_year'];
$insert_data['stage_vol'] = $data['stage_vol'];
$insert_data['stage_no'] = $data['stage_no'];
$insert_data['stage_pagename'] = $data['stage_pagename'];
$insert_data['stage_page'] = $data['stage_page'];
$insert_data['issue_date'] = $data['issue_date'];
$res = $this->journal_stage_obj->insert($insert_data);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 获取期刊分期
* @description 获取期刊分期
* @author wangjinlei
* @url /master/Journal/getStageList
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return journal:array#
* @return stage_list:array#
*/
public function getStageList(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$stage_list = $this->journal_stage_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('journal_stage_id desc')->select();
return json(['code'=>0,'msg'=>'success','data'=>['journal'=>$journal_info,'stage_list'=>$stage_list]]);
}
/**
* @title 删除期刊分期
* @description 删除期刊分期
* @author wangjinlei
* @url /master/Journal/delStage
* @method POST
*
* @param name:journal_stage_id type:int require:1 desc:期刊分期id
*/
public function delStage(){
$data = $this->request->post();
$res = $this->journal_stage_obj->where('journal_stage_id',$data['journal_stage_id'])->update(['state'=>1]);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 更改期刊分期
* @description 更改期刊分期
* @author wangjinlei
* @url /master/Journal/editStage
* @method POST
*
* @param name:journal_stage_id type:int require:1 desc:期刊分期id
* @param name:stage_year type:string require:1 desc:分期年份
* @param name:stage_vol type:int require:1 desc:分期卷数
* @param name:stage_no type:int require:1 desc:分期号码
* @param name:is_publish type:int require:1 default:1 desc:是否出刊
* @param name:stage_pagename type:string require:1 desc:分期页码name
* @param name:stage_page type:string require:1 desc:分期页码
* @param name:issue_date type:string require:1 desc:发布时间
*/
public function editStage(){
$data = $this->request->post();
$old = $this->journal_stage_obj->where('journal_stage_id',$data['journal_stage_id'])->find();
$res = $this->journal_stage_obj->update($data);
//是否提醒订阅者
if($old['is_publish']==0&&$data['is_publish']==1){
$this->msg_subscript_journal($data['journal_stage_id'],$old['journal_id']);
}
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
public function myttt(){
// $this->msg_subscript_journal(320, 1);
}
private function msg_subscript_journal($journal_stage_id,$journal_id){
$articles = $this->article_obj->where('journal_stage_id',$journal_stage_id)->where('state',0)->select();
$stage_info = $this->journal_stage_obj->where('journal_stage_id', $journal_stage_id)->find();
$journal_info = $this->journal_obj->where('journal_id',$journal_id)->find();
$list = $this->subscribe_journal_obj->where('journal_id',$journal_id)->where('state',0)->select();
//组成文章信息
$tt1 = '
';
$tt1 .= $journal_info['title'].'
';
$tt1 .= 'Dear Researcher,
';
$tt1 .= 'It is our great honor to present you the articles published in '.$journal_info['title'].'.
';
$tt1 .= 'The following new articles have just been published.
';
foreach ($articles as $val){
$tt1 .= $val['type'].'
';
$tt1 .= '
'.$val['title'].'';
$tt1 .= $this->getAuthor($val).'
';
$tt1 .= $journal_info['title'].' '.$stage_info['stage_year'].' '.$stage_info['stage_vol']."(".$stage_info['stage_no']."). DOI:".$val['doi'].'
';
$tt1 .= '
Download pdf';
}
$tt2 = 'Email: '.$journal_info['email'].'
';
$tt2 .= 'Website: https://www.tmrjournals.com/'.$journal_info['usx'].'
';
$tt2 .= 'TMR Publishing Group Ltd.
';
$tt2 .= '11 Cockle Bay Rd, Cockle Bay, Auckland, New Zealand
';
$tt2 .= 'Tel: +64 02108293806.';
$tt2 .= '
';
foreach ($list as $v){
$cache = $tt1.'Unsubscribe
'.$tt2;
$maidata['email'] = $v['email'];
$maidata['title'] = $journal_info['title'];
$maidata['content'] = $cache;
$maidata['tmail'] = 'publicrelations@tmrjournals.com';
$maidata['tpassword'] = 'pRWU999999';
// sendEmail($maidata['email'],$maidata['title'],$maidata['title'],$maidata['content'],$maidata['tmail'],$maidata['tpassword']);
Queue::push('app\api\job\mail@fire', $maidata, "mail");
echo $v['email'];
}
}
private function getAuthor($article) {
$where['article_id'] = $article['article_id'];
$where['state'] = 0;
$list = $this->article_author_obj->where($where)->select();
$frag = '';
foreach ($list as $k => $v) {
$frag = $frag == '' ? '' . $v['author_name'] : $frag . ', ' . $v['author_name'];
}
return $frag;
}
/**
* @title 增加期刊消息
* @description 增加期刊消息
* @author wangjinlei
* @url /master/Journal/addNotices
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:string require:1 desc:消息标题
* @param name:content type:string require:1 desc:内容
* @param name:ctime type:string require:1 desc:时间
*
*/
public function addNotices(){
$data = $this->request->post();
$insert['journal_id'] = $data['journal_id'];
$insert['title'] = $data['title'];
$insert['content'] = $data['content'];
$insert['ctime'] = $data['ctime']==''?time():strtotime($data['ctime']);
$res = $this->journal_notices_obj->insert($insert);
if($res){
return json(['code'=>0,'msg'=>'success']);
}else{
return json(['code'=>1,'msg'=>'system error']);
}
}
/**
* @title 删除期刊消息
* @description 删除期刊消息
* @author wangjinlei
* @url /master/Journal/delNotices
* @method POST
*
* @param name:journal_notices_id type:int require:1 desc:期刊id
*/
public function delNotices(){
$data = $this->request->post();
$this->journal_notices_obj->where('journal_notices_id',$data['journal_notices_id'])->update(['state'=>1]);
return json(['code'=>0,'msg'=>'success']);
}
/**
* @title 更改期刊消息
* @description 更改期刊消息
* @author wangjinlei
* @url /master/Journal/changeNotices
* @method POST
*
* @param name:journal_notices_id type:int require:1 desc:期刊消息id
* @param name:title type:string require:1 desc:消息标题
* @param name:content type:string require:1 desc:内容
* @param name:ctime type:string require:1 desc:时间
*/
public function changeNotices(){
$data = $this->request->post();
$update['title'] = $data['title'];
$update['content'] = $data['content'];
$update['ctime'] = strtotime($data['ctime']);
$this->journal_notices_obj->where('journal_notices_id',$data['journal_notices_id'])->update($update);
return json(['code'=>0,'msg'=>'success']);
}
/**
* @title 获取期刊消息
* @description 获取期刊消息
* @author wangjinlei
* @url /master/Journal/getNotices
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return notices:消息list
* @return journal_info:期刊消息
*/
public function getNotices(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$list = $this->journal_notices_obj->where('journal_id',$data['journal_id'])->where('state',0)->select();
return jsonSuccess(['journal_info'=>$journal_info,'notices'=>$list]);
}
/**
* @title 增加期刊收刊文章
* @description 增加期刊收刊文章
* @author wangjinlei
* @url /master/Journal/addJournalCfp
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:图标
* @param name:sort type:int require:1 desc:权重
* @param name:showtime type:string require:1 desc:显示时间
* @param name:content type:string require:1 desc:内容
*
* @return notices:消息list
* @return journal_info:期刊消息
*/
public function addJournalCfp(){
$data = $this->request->post();
$insert['journal_id'] = $data['journal_id'];
$insert['title'] = trim($data['title']);
$insert['icon'] = $data['icon'];
$insert['sort'] = isset($data['sort'])?$data['sort']:0;
$insert['showtime'] = $data['showtime'];
$insert['content'] = $data['content'];
$insert['ctime'] = time();
$this->journal_cfp_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除期刊收刊文章
* @description 删除期刊收刊文章
* @author wangjinlei
* @url /master/Journal/delJournalCfp
* @method POST
*
* @param name:journal_cfp_id type:int require:1 desc:期刊收刊id
*
*/
public function delJournalCfp(){
$data = $this->request->post();
$this->journal_cfp_obj->where('journal_cfp_id',$data['journal_cfp_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑期刊收刊信息
* @description 编辑期刊收刊信息
* @author wangjinlei
* @url /master/Journal/editJournalCfp
* @method POST
*
* @param name:journal_cfp_id type:int require:1 desc:期刊收刊id
* @param name:title type:string require:1 desc:标题
* @param name:icon type:string require:1 desc:图标
* @param name:sort type:int require:1 desc:权重
* @param name:showtime type:string require:1 desc:显示时间
* @param name:content type:string require:1 desc:内容
*/
public function editJournalCfp(){
$data = $this->request->post();
$update['title'] = $data['title'];
$update['icon'] = $data['icon'];
$update['sort'] = $data['sort'];
$update['showtime'] = $data['showtime'];
$update['content'] = $data['content'];
$this->journal_cfp_obj->where('journal_cfp_id',$data['journal_cfp_id'])->update($update);
return jsonSuccess([]);
}
/**
* @title 获取期刊收刊列表
* @description 获取期刊收刊列表
* @author wangjinlei
* @url /master/Journal/getJournalCfps
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return journal:期刊信息#
* @return cfps:收刊列表#
*/
public function getJournalCfps(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$list = $this->journal_cfp_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('sort desc ,journal_cfp_id asc')->select();
$re['cfps'] = $list;
$re['journal'] = $journal_info;
return jsonSuccess($re);
}
/**
* @title cfp图片上传
* @description cfp图片上传
* @author wangjinlei
* @url /master/Journal/up_cfp_file
* @method POST
*
* @param name:name type:string require:1 default:journalCfp desc:文件域名称
*
* @return upurl:图片地址
*/
public function up_cfp_file() {
$file = request()->file('journalCfp');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'journalCfp');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 添加期刊paper
* @description 添加期刊paper
* @author wangjinlei
* @url /master/Journal/addJournalPaper
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:string require:1 desc:标题
*
*/
public function addJournalPaper(){
$data = $this->request->post();
$insert['journal_id'] = $data['journal_id'];
$insert['title'] = $data['title'];
$this->journal_paper_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除期刊paper
* @description 删除期刊paper
* @author wangjinlei
* @url /master/Journal/delJournalPaper
* @method POST
*
* @param name:journal_paper_id type:int require:1 desc:期刊paperid
*
*/
public function delJournalPaper(){
$data = $this->request->post();
$this->journal_paper_obj->where('journal_paper_id',$data['journal_paper_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑期刊paper
* @description 编辑期刊paper
* @author wangjinlei
* @url /master/Journal/editJournalPaper
* @method POST
*
* @param name:journal_paper_id type:int require:1 desc:期刊paperid
* @param name:title type:string require:1 desc:标题
*
*/
public function editJournalPaper(){
$data = $this->request->post();
$this->journal_paper_obj->where('journal_paper_id',$data['journal_paper_id'])->update(['title'=>$data['title']]);
return jsonSuccess([]);
}
/**
* @title 获取期刊缩略图
* @description 获取期刊缩略图
* @author wangjinlei
* @url /master/Journal/getJournalIcon
* @method POST
*
* @param name:issn type:int require:1 desc:issn号
*
* @return icon:图片地址#
*/
public function getJournalIcon(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('issn',$data['issn'])->find();
$re['icon'] = $journal_info['licon'];
return jsonSuccess($re);
}
/**
* @title 通用话题--获取通用话题列表
* @description 通用话题--获取通用话题列表
* @author wangjinlei
* @url /master/Journal/getBaseTopicList
* @method POST
*
* @return topics:通用话题#
*/
public function getBaseTopicList(){
$father = $this->base_topic_obj->where('parent_id',0)->where('state',0)->order('sort desc')->select();
foreach ($father as $k => $v){
$cache = $this->base_topic_obj->where('parent_id',$v['base_topic_id'])->where('state',0)->order('sort desc')->select();
$father[$k]['children'] = $cache;
}
$re['topics'] = $father;
return jsonSuccess($re);
}
/**
* @title 通用话题--增加通用话题
* @description 通用话题--增加通用话题
* @author wangjinlei
* @url /master/Journal/addBaseTopic
* @method POST
*
* @param name:title type:string require:1 desc:话题名称标题
* @param name:parent_id type:int require:1 desc:父级话题id
* @param name:sort type:int require:1 desc:权重值
* @param name:icon type:string require:1 desc:图标
*
*/
public function addBaseTopic(){
$data = $this->request->post();
$check = $this->base_topic_obj->where('title',$data['title'])->where('state',0)->find();
if($check != null){
return jsonError('此话题已存在,话题名不能重复!!');
}
$insert['title'] = trim($data['title']);
$insert['parent_id'] = $data['parent_id'];
$insert['sort'] = $data['sort'];
$insert['icon'] = $data['icon'];
$this->base_topic_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 通用话题--编辑通用话题
* @description 通用话题--编辑通用话题
* @author wangjinlei
* @url /master/Journal/editBaseTopic
* @method POST
*
* @param name:base_topic_id type:int require:1 desc:通用话题id
* @param name:title type:string require:1 desc:话题名称标题
* @param name:sort type:int require:1 desc:权重值
*/
public function editBaseTopic(){
$data = $this->request->post();
$update['title'] = trim($data['title']);
$update['sort'] = $data['sort'];
if(isset($data['icon'])){
$update['icon'] = $data['icon'];
}
$this->base_topic_obj->where('base_topic_id',$data['base_topic_id'])->update($update);
return jsonSuccess([]);
}
/**
* @title 通用话题--删除通用话题
* @description 通用话题--删除通用话题
* @author wangjinlei
* @url /master/Journal/delBaseTopic
* @method POST
*
* @param name:base_topic_id type:int require:1 desc:通用话题id
*/
public function delBaseTopic(){
$data = $this->request->post();
$this->base_topic_obj->where('base_topic_id',$data['base_topic_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 通用话题--图片上传
* @description 通用话题--图片上传
* @author wangjinlei
* @url /master/Journal/baseTopic_up_file
* @method POST
*
* @param name:name type:string require:1 default:baseTopic desc:文件域名称
*
* @return upurl:图片地址
*/
public function baseTopic_up_file() {
$file = request()->file('baseTopic');
if ($file) {
$info = $file->move(ROOT_PATH . 'public' . DS . 'baseTopic');
if ($info) {
return json(['code'=>0 , 'msg'=>'success', 'upurl' => str_replace("\\", "/", $info->getSaveName())]);
} else {
return json(['code' => 1, 'msg' => $file->getError()]);
}
}
}
/**
* @title 增加期刊paper文章
* @description 增加期刊paper文章
* @author wangjinlei
* @url /master/Journal/addJournalPaperArt
* @method POST
*
* @param name:journal_paper_id type:int require:1 desc:期刊paperid
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:title type:string require:1 desc:标题
* @param name:sort type:int require:1 desc:权重
* @param name:content type:string require:1 desc:内容
*
*/
public function addJournalPaperArt(){
$data = $this->request->post();
$insert['journal_paper_id'] = $data['journal_paper_id'];
$insert['journal_id'] = $data['journal_id'];
$insert['title'] = $data['title'];
$insert['content'] = $data['content'];
$insert['sort'] = $data['sort'];
$insert['ctime'] = time();
$this->journal_paper_art_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除期刊paper文章
* @description 删除期刊paper文章
* @author wangjinlei
* @url /master/Journal/delJournalPaperArt
* @method POST
*
* @param name:journal_paper_art_id type:int require:1 desc:期刊paperid
*
*/
public function delJournalPaperArt(){
$data = $this->request->post();
$this->journal_paper_art_obj->where('journal_paper_art_id',$data['journal_paper_art_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑期刊paper文章
* @description 编辑期刊paper文章
* @author wangjinlei
* @url /master/Journal/editJournalPaperArt
* @method POST
*
* @param name:journal_paper_art_id type:int require:1 desc:期刊paper文章id
* @param name:title type:string require:1 desc:标题
* @param name:content type:string require:1 desc:内容
* @param name:sort type:int require:1 desc:权重
*
*/
public function editJournalPaperArt(){
$data = $this->request->post();
$update['title'] = $data['title'];
$update['content'] = $data['content'];
$update['sort']=$data['sort'];
$this->journal_paper_art_obj->where('journal_paper_art_id',$data['journal_paper_art_id'])->update($update);
return jsonSuccess([]);
}
/**
* @title 增加期刊line
* @description 增加期刊line
* @author wangjinlei
* @url /master/Journal/addJournalLine
* @method POST
*
* @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:距离
*/
public function addJournalLine(){
$data = $this->request->post();
$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);
return jsonSuccess([]);
}
/**
* @title 删除期刊line
* @description 删除期刊line
* @author wangjinlei
* @url /master/Journal/delJournalLine
* @method POST
*
* @param name:journal_line_id type:int require:1 desc:期刊时间轴id
*/
public function delJournalLine(){
$data = $this->request->post();
$this->journal_line_obj->where('journal_line_id',$data['journal_line_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 编辑期刊line
* @description 编辑期刊line
* @author wangjinlei
* @url /master/Journal/editJournalLine
* @method POST
*
* @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:距离
*/
public function editJournalLine(){
$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);
return jsonSuccess([]);
}
/**
* @title 获取期刊lines
* @description 获取期刊lines
* @author wangjinlei
* @url /master/Journal/getJournalLines
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return journal:期刊信息#
* @return lines:array#
*/
public function getJournalLines(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$list = $this->journal_line_obj->where('journal_id',$data['journal_id'])->where('state',0)->order('journal_line_id')->select();
$re['journal'] = $journal_info;
$re['lines'] = $list;
return jsonSuccess($re);
}
/**
* @title 增加期刊关联期刊
* @description 增加期刊关联期刊
* @author wangjinlei
* @url /master/Journal/addJournalralet
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:relat_id type:int require:1 desc:关联期刊id
*/
public function addJournalralet(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$rearr = $journal_info['relate']==''?[]:explode(',',$journal_info['relate']);
if(count($rearr)>5){
return jsonError('No more than four');
}
$rearr[] = $data['relat_id'];
$this->journal_obj->where('journal_id',$data['journal_id'])->update(['relate'=> implode(',', $rearr)]);
return jsonSuccess([]);
}
/**
* @title 删除期刊关联期刊
* @description 删除期刊关联期刊
* @author wangjinlei
* @url /master/Journal/delJournalralet
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:relat_id type:int require:1 desc:关联期刊id
*/
public function delJournalralet(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$rearr = $journal_info['relate']==''?[]:explode(',',$journal_info['relate']);
foreach ($rearr as $k => $v){
if($v == $data['relat_id']){
unset($rearr[$k]);
}
}
$this->journal_obj->where('journal_id',$data['journal_id'])->update(['relate'=> implode(',', $rearr)]);
return jsonSuccess([]);
}
/**
* @title 获取期刊关联期刊
* @description 获取期刊关联期刊
* @author wangjinlei
* @url /master/Journal/getJournalralet
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
*
* @return journal:当前期刊#
* @return journals:期刊array#
*/
public function getJournalralet(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$rearr = $journal_info['relate']==''?[]:explode(',',$journal_info['relate']);
$list = $this->journal_obj->where('journal_id','in',$rearr)->where('state',0)->select();
$re['journal'] = $journal_info;
$re['journals'] = $list;
return jsonSuccess($re);
}
/**
* @title 增加期刊line文章
* @description 增加期刊line文章
* @author wangjinlei
* @url /master/Journal/addJournalLineArt
* @method POST
*
* @param name:journal_line_id type:int require:1 desc:期刊id
* @param name:article_id type:int require:1 desc:文章id
*
*/
public function addJournalLineArt(){
$data = $this->request->post();
$insert['journal_line_id'] = $data['journal_line_id'];
$insert['article_id'] = $data['article_id'];
$this->article_to_line_obj->insert($insert);
return jsonSuccess([]);
}
/**
* @title 删除期刊line文章
* @description 删除期刊line文章
* @author wangjinlei
* @url /master/Journal/delJournalLineArt
* @method POST
*
* @param name:article_to_line_id type:int require:1 desc:期刊id
*
*/
public function delJournalLineArt(){
$data = $this->request->post();
$this->article_to_line_obj->where('article_to_line_id',$data['article_to_line_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 获取期刊line文章
* @description 获取期刊line文章
* @author wangjinlei
* @url /master/Journal/getJournalLineArt
* @method POST
*
* @param name:journal_line_id type:int require:1 desc:期刊lineid
*
* @return journalLine:期刊line#
* @return journal:期刊信息#
* @return articles: 文章列表array#
*
*/
public function getJournalLineArt(){
$data = $this->request->post();
$journal_line_info = $this->journal_line_obj->where('journal_line_id',$data['journal_line_id'])->find();
$journal_info = $this->journal_obj->where('journal_id',$journal_line_info['journal_id'])->find();
$list = $this->article_to_line_obj->field('j_article_to_line.*,j_article.*')
->join('j_article','j_article.article_id = j_article_to_line.article_id','LEFT')
->where('j_article_to_line.journal_line_id',$data['journal_line_id'])
->where('j_article_to_line.state',0)
->select();
$re['journalLine'] = $journal_line_info;
$re['journal'] = $journal_info;
$re['articles'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取文章排除line
* @description 获取文章排除line
* @author wangjinlei
* @url /master/Journal/getArticleByLine
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊id
* @param name:journal_line_id type:int require:1 desc:时间线id
* @param name:title type:string require:1 desc:标题
* @param name:pageIndex type:int require:1 desc:当前页码数
* @param name:pageSize type:int require:1 desc:单页数据条数
*
* $return count:总数
* @return dataList:array#
*/
public function getArticleByLine(){
$data = $this->request->post();
//排除line
$ids = $this->article_to_line_obj->where('journal_line_id',$data['journal_line_id'])->where('state',0)->column('article_id');
$limit_start = ($data['pageIndex'] - 1) * $data['pageSize'];
$list = $this->article_obj->where('journal_id',$data['journal_id'])->where('state',0)->where('article_id','not in',$ids)->where('title','like','%'.$data['title'].'%')->limit($limit_start,$data['pageSize'])->select();
$count = $this->article_obj->where('journal_id',$data['journal_id'])->where('state',0)->where('article_id','not in',$ids)->where('title','like','%'.$data['title'].'%')->count();
$re['count'] = $count;
$re['dataList'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取期刊paper
* @description 获取期刊paper
* @author wangjinlei
* @url /master/Journal/getJournalPapers
* @method POST
*
* @param name:journal_id type:int require:1 desc:期刊paperid
*
* @return paperLists:paperlist#
*
*/
public function getJournalPapers(){
$data = $this->request->post();
$journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
$journalPapers = $this->journal_paper_obj->where('journal_id',$data['journal_id'])->where('state',0)->select();
$re['journalInfo'] = $journal_info;
$re['paperLists'] = $journalPapers;
return jsonSuccess($re);
}
/**
* @title 获取期刊paper文章列表
* @description 获取期刊paper文章列表
* @author wangjinlei
* @url /master/Journal/getJournalPaperArt
* @method POST
*
* @param name:journal_paper_id type:int require:1 desc:期刊paperid
*
* @return paperinfo:array#
* @return articleLists:paperlist#
*
*/
public function getJournalPaperArt(){
$data = $this->request->post();
$paper_info = $this->journal_paper_obj->where('journal_paper_id',$data['journal_paper_id'])->find();
$list = $this->journal_paper_art_obj->where('journal_paper_id',$data['journal_paper_id'])->where('state',0)->order('sort')->select();
$re['paperinfo'] = $paper_info;
$re['articleLists'] = $list;
return jsonSuccess($re);
}
}