diff --git a/application/api/controller/Typeset.php b/application/api/controller/Typeset.php new file mode 100644 index 0000000..9c64d6f --- /dev/null +++ b/application/api/controller/Typeset.php @@ -0,0 +1,135 @@ +user_obj = Db::name('user'); + $this->user_act_obj = Db::name('user_act'); + $this->article_obj = Db::name('article'); + $this->journal_obj = Db::name('journal'); + $this->user_log_obj = Db::name('user_log'); + $this->user_reviewer_info_obj = Db::name("user_reviewer_info"); + $this->reviewer_major_obj = Db::name('reviewer_major'); + $this->reviewer_to_journal_obj = Db::name('reviewer_to_journal'); + $this->article_reviewer_question_obj = Db::name('article_reviewer_question'); + $this->article_msg_obj = Db::name('article_msg'); + $this->article_file_obj = Db::name('article_file'); + $this->article_reviewer_obj = Db::name('article_reviewer'); + $this->article_author_obj = Db::name('article_author'); + $this->article_transfer_obj = Db::name('article_transfer'); + $this->chief_to_journal_obj = Db::name('chief_to_journal'); + $this->login_auto_obj = Db::name('login_auto'); + $this->major_obj = Db::name("major"); + $this->major_to_journal_obj = Db::name('major_to_journal'); + $this->reviewer_from_author_obj = Db::name("reviewer_from_author"); + $this->article_dialog_obj = Db::name('article_dialog'); + $this->article_proposal_obj = Db::name('article_proposal'); + $this->user_black_obj = Db::name('user_black'); + $this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend'); + } + + + public function createTypeSet(){ + $data = $this->request->post(); + // 验证规则 + $rule = new Validate([ + 'article_id'=>'require|number' + ]); + if(!$rule->check($data)){ + return jsonError($rule->getError()); + } + $article_info = $this->article_obj->where('article_id',$data['article_id'])->find(); + $files = $this->article_file_obj + ->where('article_id',$article_info['article_id']) + ->where('type_name','manuscirpt') + ->order('ctime desc') + ->limit(1) + ->select(); + if(count($files)==0){ + return jsonError('No Manuscript'); + } + //调用接口分解word, + $url = "http://localhost:8080/typeset/webReaddoc"; + $program['fileRoute'] = "https://submission.tmrjournals.com/public/".$files[0]['file_url']; + $res = object_to_array(json_decode(myPost($url,$program))); + $file_runs = $res['data']; + //整理信息 + $frag = []; + $aa = []; + $frag['title'] = $article_info['title']; + $start_refer = false; + foreach($file_runs as $k => $v){ + if($start_refer&&$v!=''){ + $frag['references'][] = $v; + continue; + } + $g_val = trim(preg_replace('/\<.*?\>/', '', $v)); + $aa[] = $g_val; + if($g_val == $article_info['title']){ + continue; + } + + if((strpos(strtolower(trim($g_val)),"keyword")==0||strpos(strtolower(trim($g_val)),"keyword")==1)&&!isset($frag['keywords'])){ + $frag['keywords'] = $v; + continue; + } + + if(strtolower($g_val) == "abstract"){ + $i = $k+1; + while($file_runs[$i]==''){ + $i++; + } + $frag['abstract'] = $file_runs[$i]; + continue; + } + if(isset($frag['abstract'])&&$frag['abstract']==$v){ + continue; + } + if(strtolower($g_val) == 'references'||strtolower($g_val)=='reference'){ + $start_refer = true; + continue; + } + $frag['main'][] = $v; + } + + var_dump($frag); + + + } + +}