From 12a00f583cdbcb56cad2ea4957f9f0e043e10dc4 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Mon, 17 Oct 2022 18:14:27 +0800 Subject: [PATCH] 1 --- .env | 14 ----- application/api/controller/Production.php | 60 +++++++++++++------ application/api/controller/Publish.php | 20 +++++++ application/api/controller/Reviewer.php | 7 ++- application/api/controller/User.php | 71 +++++++++++++++++------ application/common.php | 14 +++++ 6 files changed, 134 insertions(+), 52 deletions(-) diff --git a/.env b/.env index 2ae14cb..ffee274 100644 --- a/.env +++ b/.env @@ -47,20 +47,6 @@ pre = '
'; + $cache_str = trim($v['first_name']) . ' ' . trim($v['last_name']) . ''; $cac = $this->production_article_author_to_organ_obj ->field('t_production_article_organ.*') ->join('t_production_article_organ','t_production_article_organ.p_article_organ_id = t_production_article_author_to_organ.p_article_organ_id','left') @@ -965,15 +986,16 @@ class Production extends Controller ->where('t_production_article_author_to_organ.state',0) ->select(); foreach ($cac as $val) { - $cache_str .= (intval(search_array_val($address, $val['organ_name'])) + 1) . " "; - } - if ($v['is_first'] == 1) { - $cache_str .= '*'; - } - if ($v['is_report'] == 1) { - $cache_str .= '#'; + $cache_str .= (intval(search_array_val($address, $val['organ_name'])) + 1) . ", "; } $cache_str = trim($cache_str); + $cache_str = substr($cache_str,0,-1); + if ($first_num>1&&$v['is_first'] == 1) { + $cache_str .= '#'; + } + if ($v['is_report'] == 1) { + $cache_str .= '*'; + } $cache_str .= ''; $author .= $cache_str; } diff --git a/application/api/controller/Publish.php b/application/api/controller/Publish.php index d7b52b3..ba3740b 100644 --- a/application/api/controller/Publish.php +++ b/application/api/controller/Publish.php @@ -73,5 +73,25 @@ class Publish extends Controller $this->online_obj = Db::name('online'); } + /** + * 获取online文章列表 + */ + public function getOnlineList(){ + $data = $this->request->post(); + $rule = new Validate([ + 'issn'=>'require' + ]); + if(!$rule->check($data)){ + return jsonError($rule->getError()); + } + $t_journal_info = $this->journal_obj->where('issn',$data['issn'])->find(); + + $url = 'http://journalapi.tmrjournals.com/public/index.php/master/Article/getOnlineArticleForSubmit'; + $pra = []; + $pra['issn'] = $t_journal_info['issn']; + $res = object_to_array(json_decode(myPost($url, $pra))); + $re['stages'] = $res['data']['stages']; + return jsonSuccess($re); + } } diff --git a/application/api/controller/Reviewer.php b/application/api/controller/Reviewer.php index a08585e..36d11b2 100644 --- a/application/api/controller/Reviewer.php +++ b/application/api/controller/Reviewer.php @@ -174,7 +174,12 @@ class Reviewer extends Controller $res[$k]['cmajor'] = $cmajor['title']; } - $count = $this->article_reviewer_obj->join('t_article', 't_article_reviewer.article_id = t_article.article_id', 'LEFT')->where('t_article_reviewer.reviewer_id', $reviewer_info['user_id'])->where('t_article_reviewer.state', 'in', [1, 2, 3, 4])->where("t_article.article_id", ">", 0)->count(); + $count = $this->article_reviewer_obj + ->join('t_article', 't_article_reviewer.article_id = t_article.article_id', 'LEFT') + ->where('t_article_reviewer.reviewer_id', $reviewer_info['user_id']) + ->where('t_article_reviewer.state', 'in', [1, 2, 3, 4]) + ->where("t_article.article_id", ">", 0) + ->count(); $re['lists'] = $res; $re['count'] = $count; return jsonSuccess($re); diff --git a/application/api/controller/User.php b/application/api/controller/User.php index 6d04440..0765d1a 100644 --- a/application/api/controller/User.php +++ b/application/api/controller/User.php @@ -35,6 +35,7 @@ class User extends Controller protected $user_to_special_obj = ''; protected $user_index_obj = ''; protected $user_email_index_obj = ''; + protected $user_register_check_obj = ''; public function __construct(\think\Request $request = null) { @@ -57,6 +58,7 @@ class User extends Controller $this->user_to_special_obj = Db::name('user_to_special'); $this->user_index_obj = Db::name('user_index'); $this->user_email_index_obj = Db::name('user_email_index'); + $this->user_register_check_obj = Db::name('user_register_check'); } public function pstest(){ @@ -103,6 +105,10 @@ class User extends Controller if ($user_info == null) { //登陆失败 return json(['code' => 1]); } + + if($user_info['register_check']==0){ + return jsonError('Please click on the link sent to your email inbox to complete your registration.'); + } //黑名单验证 $blackCheck = $this->user_black_obj->where('user_id', $user_info['user_id'])->where('black_state', 0)->find(); if ($blackCheck) { @@ -113,6 +119,7 @@ class User extends Controller $this->user_obj->where('user_id = ' . $user_info['user_id'])->update($up_data); $roles = $this->getUserRoles($user_info['account']); + $re['roles'] = $roles; $re['userinfo'] = $user_info; return jsonSuccess($re); @@ -698,6 +705,9 @@ class User extends Controller return json('errcaptcha'); } + $code = get_str(); + + Db::startTrans(); //存入数据 $inser_data['account'] = trim($account); $inser_data['password'] = md5($data['password']); @@ -706,27 +716,52 @@ class User extends Controller $inser_data['realname'] = $data['name']; $inser_data['ctime'] = time(); $id = $this->user_obj->insertGetId($inser_data); + + //存储注册验证信息 + $insert_check['user_id'] = $id; + $insert_check['code'] = $code; + $insert_check['ctime'] = time(); + $i_res = $this->user_register_check_obj->insert($insert_check); + //发送注册成功邮件 - $tt = 'Hello,
'; - $tt .= 'Your account has been created. You may check on the status of your manuscript using this submission and tracking system: https://submission.tmrjournals.com
'; - $tt .= "Username:$account
"; - $tt .= "Password:" . $data['password'] . '
'; - $tt .= "Many thanks
TMR Publishing Group"; - sendEmail($email, 'Dear ' . $data['name'], 'TMR', $tt); - $sendUser = [ - 'title' => 'Dear ' . $data['name'], // 邮件标题 - 'content' => $tt, //邮件内容 - 'user_id' => $id, //收件人ID - 'email' => $email, // 收件人邮箱 - 'journal_id' => 0, // 期刊ID - 'sendEmail' => Env::get('email.send_email'), // 期刊邮箱 - 'sendPassword' => Env::get('email.send_email_password'), // 期刊密码 - 'from_name' => 'TMR' - ]; - // Queue::push('app\api\job\domail@fire',$sendUser,'domail'); - return json($inser_data); + $tt = "Hello,
"; + $tt .= "To protect the email relationship unobstructed.
"; + $tt .= "Please verify your email address to complete the account registration:
"; + $tt .= "https://submission.tmrjournals.com/login?code=".$code."
"; + $tt .= "Thank you.
TMR Publishing Group
https://www.tmrjournals.com"; + + if($id&&$i_res){ + Db::commit(); + sendEmail($email, 'Dear ' . $data['name'], 'TMR', $tt); + return jsonSuccess([]); + }else{ + Db::rollback(); + return jsonError("system error"); + } } + /** + * 审核注册验证码 + */ + public function checkRegisterCode(){ + $data = $this->request->post(); + $rule = new Validate([ + 'code'=>'require' + ]); + if(!$rule->check($data)){ + return jsonSuccess($rule->getError()); + } + $check_info = $this->user_register_check_obj->where('code',$data['code'])->where('state',0)->find(); + if(!$check_info){ + return jsonError('not find this code'); + } + $this->user_obj->where('user_id',$check_info['user_id'])->update(['register_check'=>1]); + $this->user_register_check_obj->where('user_rc_id',$check_info['user_rc_id'])->update(['state'=>1]); + return jsonSuccess([]); + } + + + /** * 获取验证码图片(用户注册) */ diff --git a/application/common.php b/application/common.php index 2b60682..5891fc2 100644 --- a/application/common.php +++ b/application/common.php @@ -112,6 +112,20 @@ function object_to_array($obj) { return $obj; } +function get_str(){ + + $length = 32; + $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + $len = strlen($str)-1; + $randstr = ''; + for ($i=0;$i<$length;$i++) { + $num=mt_rand(0,$len); + $randstr .= $str[$num]; + } + return md5($randstr.time()); + +} + /** * 生成文章sn号 * @return type