From 47d1eaa0e55cc54999ea576956ac5fd4407388fa Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Thu, 2 Nov 2023 10:16:54 +0800 Subject: [PATCH] 1 --- application/api/controller/Base.php | 137 +++++++++++++----------- application/api/controller/Reviewer.php | 9 +- 2 files changed, 80 insertions(+), 66 deletions(-) diff --git a/application/api/controller/Base.php b/application/api/controller/Base.php index cd89138..fb7edb8 100644 --- a/application/api/controller/Base.php +++ b/application/api/controller/Base.php @@ -209,10 +209,11 @@ class Base extends Controller return $frag; } - public function delOneRefer($p_refer_id){ + public function delOneRefer($p_refer_id) + { $refer_info = $this->production_article_refer_obj->where('p_refer_id', $p_refer_id)->find(); - if(!$refer_info){ + if (!$refer_info) { return ""; } $this->production_article_refer_obj->where('p_article_id', $refer_info['p_article_id'])->where('index', ">", $refer_info['index'])->where('state', 0)->setDec('index'); @@ -291,6 +292,12 @@ class Base extends Controller return substr($frag, 0, -1); } + public function MyaddEx() + { + $data = $this->request->post(); + $this->addProductionEx($data['article_id']); + } + public function addProductionEx($article_id) { $check = $this->production_article_obj->where('article_id', $article_id)->where('state', 0)->find(); @@ -366,39 +373,40 @@ class Base extends Controller return jsonSuccess([]); } - public function getBoardsForJournal($journal_id,$aar=false){ + public function getBoardsForJournal($journal_id, $aar = false) + { $ca_board = []; $boards = $this->board_to_journal_obj ->field("t_board_to_journal.*,t_board_group.group_name,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*") - ->join("t_board_group","t_board_group.board_group_id = t_board_to_journal.board_group_id","left") - ->join("t_user","t_user.user_id = t_board_to_journal.user_id","left") - ->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id=t_board_to_journal.user_id","left") - ->where('t_board_to_journal.journal_id',$journal_id) - ->where('t_board_to_journal.state',0) + ->join("t_board_group", "t_board_group.board_group_id = t_board_to_journal.board_group_id", "left") + ->join("t_user", "t_user.user_id = t_board_to_journal.user_id", "left") + ->join("t_user_reviewer_info", "t_user_reviewer_info.reviewer_id=t_board_to_journal.user_id", "left") + ->where('t_board_to_journal.journal_id', $journal_id) + ->where('t_board_to_journal.state', 0) ->select(); - foreach ($boards as $val){ - if($aar){ - $article1 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('state',5)->where('ctime',">",strtotime("-1 year"))->select(); - $article11 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('ctime',">",strtotime("-1 year"))->select(); - $ids = $this->article_author_obj->where('email',$val['email'])->column("article_id"); - $article2 = $this->article_obj->where('state',5)->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); - $article22 = $this->article_obj->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select(); - $articles = my_array_merge($article1,$article2); - $articles_all = my_array_merge($article11,$article22); - $reviewes = $this->article_reviewer_obj->join("t_article","t_article.article_id = t_article_reviewer.article_id","left")->where('t_article_reviewer.reviewer_id',$val['user_id'])->where('t_article.journal_id',$journal_id)->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select(); + foreach ($boards as $val) { + if ($aar) { + $article1 = $this->article_obj->where('user_id', $val['user_id'])->where('journal_id', $val['journal_id'])->where('state', 5)->where('ctime', ">", strtotime("-1 year"))->select(); + $article11 = $this->article_obj->where('user_id', $val['user_id'])->where('journal_id', $val['journal_id'])->where('ctime', ">", strtotime("-1 year"))->select(); + $ids = $this->article_author_obj->where('email', $val['email'])->column("article_id"); + $article2 = $this->article_obj->where('state', 5)->where('journal_id', $val['journal_id'])->where('article_id', "in", $ids)->select(); + $article22 = $this->article_obj->where('journal_id', $val['journal_id'])->where('article_id', "in", $ids)->select(); + $articles = my_array_merge($article1, $article2); + $articles_all = my_array_merge($article11, $article22); + $reviewes = $this->article_reviewer_obj->join("t_article", "t_article.article_id = t_article_reviewer.article_id", "left")->where('t_article_reviewer.reviewer_id', $val['user_id'])->where('t_article.journal_id', $journal_id)->where('t_article_reviewer.ctime', ">", strtotime("-1 year"))->where('t_article_reviewer.state', "in", [1, 2, 3])->select(); $val['articles'] = $articles; $val['articles_all'] = $articles_all; $val['reviewes'] = $reviewes; } - if($val['type']==0){//主编 + if ($val['type'] == 0) {//主编 $ca_board['main'][] = $val; - }elseif ($val['type']==1){//副主编 + } elseif ($val['type'] == 1) {//副主编 $ca_board['remain'][] = $val; - }else{//编委会成员 - if($val['board_group_id']==0){ + } else {//编委会成员 + if ($val['board_group_id'] == 0) { $ca_board['member']['nogroup'][] = $val; - }else{ + } else { $ca_board['member'][$val['group_name']][] = $val; } } @@ -529,25 +537,26 @@ class Base extends Controller } - public function getProductionMainImgs($p_article_id){ - $mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); - if(count($mains)==0){ + public function getProductionMainImgs($p_article_id) + { + $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select(); + if (count($mains) == 0) { $this->creatMainData($p_article_id); - $mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); + $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select(); } $frag = []; - foreach ($mains as $v){ + foreach ($mains as $v) { $frag[] = $v; - $ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find(); - if($ca){ + $ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find(); + if ($ca) { $frag[] = $ca; $pre_id = $ca['p_main_img_id']; - while ($pre_id!=0){ - $cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find(); - if($cac){ + while ($pre_id != 0) { + $cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find(); + if ($cac) { $frag[] = $cac; $pre_id = $cac['p_main_img_id']; - }else{ + } else { $pre_id = 0; } } @@ -556,8 +565,9 @@ class Base extends Controller return $frag; } - private function creatMainData($p_article_id){ - $p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find(); + private function creatMainData($p_article_id) + { + $p_info = $this->production_article_obj->where('p_article_id', $p_article_id)->find(); $article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find(); $files = $this->article_file_obj ->where('article_id', $article_info['article_id']) @@ -602,13 +612,13 @@ class Base extends Controller } $frag['main'][] = $v; } - if(!isset($frag['main'])){ + if (!isset($frag['main'])) { return jsonError("manuscript file error!"); } //将主体内容写入数据库 - foreach($frag['main'] as $v){ + foreach ($frag['main'] as $v) { $ca['p_article_id'] = $p_article_id; $ca['content'] = $v; $ca['content_g'] = ''; @@ -617,31 +627,33 @@ class Base extends Controller } } - public function refuseReferIndex($p_article_id){ - $p_info = $this->production_article_refer_obj->where('p_article_id',$p_article_id)->where('state',0)->where('index',">",0)->find(); - if($p_info){ - return ; + public function refuseReferIndex($p_article_id) + { + $p_info = $this->production_article_refer_obj->where('p_article_id', $p_article_id)->where('state', 0)->where('index', ">", 0)->find(); + if ($p_info) { + return; } - $list = $this->production_article_refer_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); - foreach ($list as $k => $v){ - $this->production_article_refer_obj->where('p_refer_id',$v['p_refer_id'])->update(['index'=>$k]); + $list = $this->production_article_refer_obj->where('p_article_id', $p_article_id)->where('state', 0)->select(); + foreach ($list as $k => $v) { + $this->production_article_refer_obj->where('p_refer_id', $v['p_refer_id'])->update(['index' => $k]); } } - public function getProductionMainImgsByNew($p_article_id,$file){ - $p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find(); + public function getProductionMainImgsByNew($p_article_id, $file) + { + $p_info = $this->production_article_obj->where('p_article_id', $p_article_id)->find(); $article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find(); $url = "http://ts.tmrjournals.com/api/typeset/webReaddoc"; $program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/" . $file; // $program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/20230706/87628e769c4ee8a8414219b05c72a028.docx" ; $res = object_to_array(json_decode(myPost($url, $program))); $file_runs = $res['data']; - if (count($file_runs)==0){ + if (count($file_runs) == 0) { return jsonError("File crawl failed"); } //清空之前的 - $this->production_article_main_obj->where('p_article_id',$p_article_id)->update(['state'=>1]); + $this->production_article_main_obj->where('p_article_id', $p_article_id)->update(['state' => 1]); //整理信息 $frag = []; @@ -671,12 +683,12 @@ class Base extends Controller } $frag['main'][] = $v; } - if(!isset($frag['main'])){ + if (!isset($frag['main'])) { return jsonError("manuscript file error!"); } //将主体内容写入数据库 - foreach($frag['main'] as $v){ + foreach ($frag['main'] as $v) { $ca['p_article_id'] = $p_article_id; $ca['content'] = $v; $ca['content_g'] = ''; @@ -684,20 +696,20 @@ class Base extends Controller $this->production_article_main_obj->insert($ca); } - $mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); + $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select(); $f = []; - foreach ($mains as $v){ + foreach ($mains as $v) { $f[] = $v; - $ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find(); - if($ca){ + $ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find(); + if ($ca) { $f[] = $ca; $pre_id = $ca['p_main_img_id']; - while ($pre_id!=0){ - $cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find(); - if($cac){ + while ($pre_id != 0) { + $cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find(); + if ($cac) { $f[] = $cac; $pre_id = $cac['p_main_img_id']; - }else{ + } else { $pre_id = 0; } } @@ -710,12 +722,13 @@ class Base extends Controller /**创建空production实例,应对main和refers * @return void */ - public function createEmptyProduction($web_article){ + public function createEmptyProduction($web_article) + { $insert['title'] = $web_article['title']; $insert['type'] = $web_article['type']; - $ree = explode("/",$web_article['doi']); - $insert['doi'] = isset($ree[1])?$ree[1]:''; + $ree = explode("/", $web_article['doi']); + $insert['doi'] = isset($ree[1]) ? $ree[1] : ''; $insert['w_article_id'] = $web_article['article_id']; $insert['proof_state'] = 2; $insert['state'] = 2; diff --git a/application/api/controller/Reviewer.php b/application/api/controller/Reviewer.php index 8d83744..cdadb0a 100644 --- a/application/api/controller/Reviewer.php +++ b/application/api/controller/Reviewer.php @@ -921,7 +921,7 @@ class Reviewer extends Base sendEmail($reviewer_info['email'], 'Your contribution is greatly appreciated', $journal_info['title'], $tt1, $journal_info['email'], $journal_info['epassword'], $reviewer_ZS); //记录usermsg - add_usermsg($journal_info['editor_id'], 'Feedback questionnaire be uploaded.', '/articleReviewerDetail?id=' . $data['art_rev_id']); + add_usermsg($journal_info['editor_id'], 'Feedback questionnaire be uploaded:'.$article_info['accept_sn']."(".$reviewer_info['account'].":".$reviewer_info['email'].")", '/articleReviewerDetail?id=' . $data['art_rev_id']); return json(['code' => 0]); } @@ -950,6 +950,7 @@ class Reviewer extends Base } $repeat_info = $this->article_reviewer_repeat_obj->where('art_rev_rep_id',$data['art_rev_rep_id'])->find(); $art_info = $this->article_reviewer_obj->where('art_rev_id',$repeat_info['art_rev_id'])->find(); + $reviewer_info = $this->user_obj->where('user_id',$art_info['reviewer_id'])->find(); $article_info = $this->article_obj->where('article_id',$art_info['article_id'])->find(); $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find(); $update['recommend'] = $data['recommend']; @@ -969,7 +970,7 @@ class Reviewer extends Base //复审后发送邮件 //增加usermsg - add_usermsg($journal_info['editor_id'], 'New re_reviewer', '/articleReviewerDetail?id=' . $art_info['art_rev_id']); + add_usermsg($journal_info['editor_id'], 'New re_reviewer:'.$article_info['accept_sn']."(".$reviewer_info['account'].":".$reviewer_info['email'].")", '/articleReviewerDetail?id=' . $art_info['art_rev_id']); @@ -1709,10 +1710,10 @@ class Reviewer extends Base ->where('t_reviewer_to_journal.journal_id', 'in', $jous) ->where($gradewhere) ->where('t_reviewer_to_journal.state', 0) - ->where("t_user.account|t_user.realname|t_user.email|t_user_reviewer_info.field", "like", '%' . $data['keyword'] . '%') + ->where("t_user.account|t_user.email", "like", '%' . $data['keyword'] . '%') ->limit($limit_start, $data['pageSize']) ->select(); - $count = $this->reviewer_to_journal_obj->join('t_user', 't_user.user_id = t_reviewer_to_journal.reviewer_id', 'left')->join('t_user_reviewer_info', 't_user_reviewer_info.reviewer_id = t_reviewer_to_journal.reviewer_id', 'LEFT')->where('t_reviewer_to_journal.journal_id', 'in', $jous)->where($gradewhere)->where('t_reviewer_to_journal.state', 0)->where("t_user.account|t_user.realname|t_user.email|t_user_reviewer_info.field", "like", '%' . $data['keyword'] . '%')->count(); + $count = $this->reviewer_to_journal_obj->join('t_user', 't_user.user_id = t_reviewer_to_journal.reviewer_id', 'left')->join('t_user_reviewer_info', 't_user_reviewer_info.reviewer_id = t_reviewer_to_journal.reviewer_id', 'LEFT')->where('t_reviewer_to_journal.journal_id', 'in', $jous)->where($gradewhere)->where('t_reviewer_to_journal.state', 0)->where("t_user.account|t_user.email", "like", '%' . $data['keyword'] . '%')->count(); } else { $res = $this->reviewer_to_journal_obj ->field('t_reviewer_to_journal.is_yboard,t_user.*,t_reviewer_to_journal.grade,t_user_reviewer_info.*,t_journal.journal_id,t_journal.title journal_title')