From b752036855753bfba4bbda85b74376f96c3b3c90 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Wed, 20 Jan 2021 17:16:12 +0800 Subject: [PATCH] 20201112 --- application/api/controller/Auto.php | 3 +- application/api/controller/Special.php | 244 +++++++++++++++++++++++++ application/api/job/review.php | 2 +- 3 files changed, 247 insertions(+), 2 deletions(-) create mode 100644 application/api/controller/Special.php diff --git a/application/api/controller/Auto.php b/application/api/controller/Auto.php index f43cb71..afc12e9 100644 --- a/application/api/controller/Auto.php +++ b/application/api/controller/Auto.php @@ -54,7 +54,7 @@ class Auto extends Controller { public function testrev(){ $a = $this->article_obj->where('article_id',261)->find(); - $this->checkrev($a); +// $this->checkrev($a); } /** @@ -91,6 +91,7 @@ class Auto extends Controller { * 审查文章审稿人状态,返回结果 */ public function checkrev($data) { + die; //查找审稿案例状态 $rev_list = $this->reviewer_obj->where('article_id', $data['article_id'])->where('state','<>',4)->select(); $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find(); diff --git a/application/api/controller/Special.php b/application/api/controller/Special.php new file mode 100644 index 0000000..e0b60dd --- /dev/null +++ b/application/api/controller/Special.php @@ -0,0 +1,244 @@ +user_obj = Db::name('user'); + $this->captcha_obj = Db::name('captcha'); + $this->user_act_obj = Db::name('user_act'); + $this->admin_obj = Db::name('admin'); + $this->article_obj = Db::name('article'); + $this->user_reviewer_obj = Db::name('user_reviewer_apply'); + $this->journal_obj = Db::name('journal'); + $this->reviewer_major_obj = Db::name('reviewer_major'); + $this->reviewer_to_journal_obj = Db::name('reviewer_to_journal'); + $this->user_reviewer_info_obj = Db::name('user_reviewer_info'); + $this->user_msg_obj = Db::name('user_msg'); + } + + /** + * 注册功能 + */ + public function register() { + $data = $this->request->post(); + +// $data['username'] = '123'; +// $data['password'] = '123123'; +// $data['realname'] = '123'; +// $data['phone'] = '12312312312'; +// $data['email'] = '123@123.com'; +// + //检测是否用户名和密码已经占用 + $account = $data['username']; + $email = $data['email']; + $res_once = $this->user_obj->where("account='$account' or email = '$email'")->find(); + if ($res_once != null) { + return json('existence'); + } + //验证验证码 +// if (!$this->my_checkcaptcha($data['code'], $data['random_num'])) { +// return json('errcaptcha'); +// } + //存入数据 + $inser_data['account'] = trim($account); + $inser_data['password'] = md5($data['password']); + $inser_data['email'] = $email; + $inser_data['phone'] = $data['phone']; + $inser_data['realname'] = $data['realname']; + $inser_data['ctime'] = time(); + $this->user_obj->insert($inser_data); + //发送注册成功邮件 + $tt = "Dear author,You have successfully registered

"; + $content = $tt . '

Username:' . $account . '
Password:' . $data['password'] . '

'; + sendEmail($email, 'Dear ' . $data['realname'], 'TMR', $content,); + return json($inser_data); + } + + /** + * 登录功能 + * @return type + */ + public function checkLogin() { + $data = $this->request->post(); + //判断是否管理员登录 + if ($data['username'] == 'superadmin'||$data['username'] == 'wuxiongzhi2') { + $where_admin['account'] = $data['username']; + $where_admin['password'] = md5($data['password']); + $admin_info = $this->admin_obj->where($where_admin)->find(); + if($admin_info==null){ + return json(['code'=>1]); + }else{ + $up_admin['last_login_time'] = time(); + $up_admin['last_login_ip'] = $this->request->ip(); + $this->admin_obj->where('admin_id = '.$admin_info['admin_id'])->update($up_admin); + return json(['code'=>0,'userinfo'=>$admin_info]); + } + } else {//用户登录 + $where['account'] = $data['username']; + $where['password'] = md5($data['password']); + $user_info = $this->user_obj->where($where)->find(); + if ($user_info == null) {//登陆失败 + return json(['code' => 1]); + } else {//登陆成功 + $up_data['last_login_time'] = time(); + $up_data['last_login_ip'] = $this->request->ip(); + $this->user_obj->where('user_id = ' . $user_info['user_id'])->update($up_data); + return json(['code' => 0, 'userinfo' => $user_info]); + } + } + } + + /** + * 获取文章 + */ + public function getArticles(){ + $data = $this->request->post(); + $list = $this->article_obj->where('special_num',$data['special_id'])->where('state',0)->select(); + + $re['articles'] = $list; + return json(['code'=>0,'data'=>['articles'=>$re]]); + } + + + /** + * 添加文章(作者) + */ + public function addArticle() { + //接受参数,查询信息 + $data = $this->request->post(); + +// return json($data); + +// $data['abstrart'] = '大萨达撒多'; +// $data['authorList'] = [ +// [ +// 'address'=>'dsadsa', +// 'company'=>'dasdsa', +// 'country'=>'china', +// 'department'=>'dsadsa', +// 'email'=>'6541654@qq.com', +// 'firstname'=>'dsadsa', +// 'isReport'=>'true', +// 'isSuper'=>'true', +// 'lastname'=>'dsadsa', +// 'title'=>'Ph.D.' +// ] +// ]; +// $data['coverLetter'] = ''; +// $data['fund'] = 'dsads'; +// $data['journal'] = 1; +// $data['keyWords'] = 'dsads'; +// $data['manuscirpt'] = "manuscirpt/20200727/cd67d8e8f944b5f1589cceb8e1aa967c.pdf"; +// $data['picturesAndTables'] = []; +// $data['title'] = "大萨达撒多"; +// $data['username'] = "wangjinlei"; + $user_res = $this->user_obj->where('account', $data['username'])->find(); + $journal_info = $this->journal_obj->where('issn', $data['journal_issn'])->find(); + + Db::startTrans(); + + //添加文章基础信息 + $inset_data['user_id'] = $user_res['user_id']; + $inset_data['journal_id'] = $journal_info['journal_id']; + $inset_data['editor_id'] = $journal_info['editor_id']; + $inset_data['title'] = $data['title']; + $inset_data['keywords'] = $data['keyWords']; + $inset_data['fund'] = $data['fund']; + $inset_data['accept_sn'] = getArticleSN($journal_info['abbr'],$data['type']); + $inset_data['type'] = $data['type']; + $inset_data['major_id'] = $data['major']; + $inset_data['cmajor_id'] = $data['cmajor']; + $inset_data['approval'] = $data['approval']=='true'?1:0; + $inset_data['abstrart'] = $data['abstrart']; + $inset_data['author_act'] = 1; + $inset_data['ctime'] = time(); + $res = $this->article_obj->insertGetId($inset_data); + + //上传文章作者信息 + $authors = []; + foreach ($data['authorList'] as $v) { + if ($v['firstname'] == '') { + continue; + } + $i['article_id'] = $res; + $i['firstname'] = $v['firstname']; + $i['lastname'] = $v['lastname']; + $i['company'] = $v['company']; + $i['department'] = $v['department']; + $i['author_title'] = $v['title']; + $i['country'] = $v['country']; + $i['email'] = $v['email']; + $i['address'] = $v['address']; + $i['is_super'] = $v['isSuper'] == 'true' ? 1 : 0; + $i['is_report'] = $v['isReport'] == 'true'?1:0; + $authors[] = $i; + } + $res_author = $this->article_author_obj->insertAll($authors); + + //增加转投信息 + $transr = true; + if($data['istransfer']=='true'){ + foreach ($data['checkedjours'] as $val){ + $trans_insert['article_id'] = $res; + $trans_insert['journal_id'] = $val; + $trans_insert['ctime'] = time(); + $transr = $transr?$this->article_transfer_obj->insert($trans_insert):false; + } + } + + //增加articlefile表的信息 + $res_file1 = self::save_article_file($res, $user_res['user_id'], $user_res['account'], $data['coverLetter'], 'coverLetter'); + $res_file2 = true; + if(isset($data['picturesAndTables'])){ + foreach ($data['picturesAndTables'] as $v){ + $res_file2 = $res_file2?self::save_article_file($res, $user_res['user_id'], $user_res['account'], $v, 'picturesAndTables'):false; + } + } + $res_file4 = self::save_article_file($res, $user_res['user_id'], $user_res['account'], $data['totalpage'], 'totalpage'); + $res_file3 = self::save_article_file($res, $user_res['user_id'], $user_res['account'], $data['manuscirpt'], 'manuscirpt'); + + //发送邮件到编辑,提醒有待审文章 + $editor_info = $this->user_obj->where('user_id',$journal_info['editor_id'])->find(); + $tt = 'Dear editor,
'; + $tt .= 'Please check the new manuscript in the submission system.'; + sendEmail($editor_info['email'], $journal_info['title'], $journal_info['title'], $tt,$journal_info['email'],$journal_info['epassword']); + + //增加用户操作log + $log_data['user_id'] = $user_res['user_id']; + $log_data['type'] = 0; + $log_data['content'] = $user_res['account'] . "(" . $user_res['realname'] . "),上传了一篇文章:" . $data['title'] . ",上传时间是:" . date('Y-m-d H:i:s', time()); + $log_data['ctime'] = time(); + $res_log = $this->user_log_obj->insert($log_data); + + //增加usermsg + $res_msg = add_usermsg($journal_info['editor_id'], 'New manuscript', '/articleDetailEditor?id=' . $res); + + if ($res && $res_author && $transr && $res_file1 && $res_file2 && $res_file3 && $res_file4 && $res_log && $res_msg) { + Db::commit(); + return json(['code' => 0]); + } else { + Db::rollback(); + return json(['code' => 1]); + } + } + + +} diff --git a/application/api/job/review.php b/application/api/job/review.php index 7830424..347b2c5 100644 --- a/application/api/job/review.php +++ b/application/api/job/review.php @@ -111,7 +111,7 @@ class review { $this->article_msg_obj->insert($insert_data); //添加通知信息 add_usermsg($data['user_id'], 'Your manuscript has new process', '/articleDetail?id=' . $data['article_id']); - //发送邮件通知编辑 + //发送邮件通知用户 $tt = $data['accept_sn'].'
'; $tt .= 'Dear '.($user_info['realname']==''?'Authors':$user_info['realname']).',
'; $tt .= 'Thank you for submitting the manuscript to '.$journal_info['title'].'.
';