1
This commit is contained in:
@@ -184,7 +184,22 @@ class Typeset extends Controller
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$data['refer_frag']]);
|
||||
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$data['refer_frag'],'cs'=>1]);
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 改成可修改状态
|
||||
*/
|
||||
public function beginEdit(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'ts_refer_id'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['cs'=>0]);
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
@@ -209,17 +224,17 @@ class Typeset extends Controller
|
||||
/**
|
||||
* 参考文献识别doi
|
||||
*/
|
||||
public function referToDoi()
|
||||
public function referToDoi($article_id)
|
||||
{
|
||||
$data = $this->request->post();
|
||||
// 验证规则
|
||||
$rule = new Validate([
|
||||
'article_id' => 'require|number'
|
||||
]);
|
||||
if (!$rule->check($data)) {
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$ts_info = $this->ts_obj->where('article_id', $data['article_id'])->where('ts_state',0)->find();
|
||||
// $data = $this->request->post();
|
||||
// // 验证规则
|
||||
// $rule = new Validate([
|
||||
// 'article_id' => 'require|number'
|
||||
// ]);
|
||||
// if (!$rule->check($data)) {
|
||||
// return jsonError($rule->getError());
|
||||
// }
|
||||
$ts_info = $this->ts_obj->where('article_id', $article_id)->where('ts_state',0)->find();
|
||||
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
||||
foreach ($refers as $v) { //处理doi
|
||||
if (strpos($v['refer_content'], 'doi:') == false && strpos($v['refer_content'], 'doi.org/') == false) {
|
||||
@@ -249,20 +264,20 @@ class Typeset extends Controller
|
||||
/**
|
||||
* doi获取格式化的参考文献信息
|
||||
*/
|
||||
public function doiTofrag()
|
||||
public function doiTofrag($article_id)
|
||||
{
|
||||
$data = $this->request->post();
|
||||
// 验证规则
|
||||
$rule = new Validate([
|
||||
'article_id' => 'require|number'
|
||||
]);
|
||||
if (!$rule->check($data)) {
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$ts_info = $this->ts_obj->where('article_id', $data['article_id'])->where('ts_state',0)->find();
|
||||
// $data = $this->request->post();
|
||||
// // 验证规则
|
||||
// $rule = new Validate([
|
||||
// 'article_id' => 'require|number'
|
||||
// ]);
|
||||
// if (!$rule->check($data)) {
|
||||
// return jsonError($rule->getError());
|
||||
// }
|
||||
$ts_info = $this->ts_obj->where('article_id', $article_id)->where('ts_state',0)->find();
|
||||
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
||||
//清空frag,百分比用,重新生成
|
||||
$this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_doi', '<>', '')->update(['refer_frag' => '']);
|
||||
// $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_doi', '<>', '')->update(['refer_frag' => '']);
|
||||
foreach ($refers as $v) {
|
||||
if($v['refer_doi']==''){
|
||||
$this->ts_refer_obj->where('ts_refer_id',$v['ts_refer_id'])->update(['refer_frag'=>$v['refer_content']]);
|
||||
@@ -274,6 +289,36 @@ class Typeset extends Controller
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 验证参考文献是否全部通过
|
||||
*/
|
||||
public function checkRefer(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
'ts_id'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$list = $this->ts_refer_obj->where('ts_id',$data['ts_id'])->where('refer_state',0)->select();
|
||||
if(!$list){
|
||||
return jsonError('references error');
|
||||
}
|
||||
$frag = 1;
|
||||
foreach($list as $v){
|
||||
if($v['cs']==0){
|
||||
$frag = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($frag==0){
|
||||
return jsonError('references check error');
|
||||
}else{
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function getFragBF()
|
||||
{
|
||||
$data = $this->request->post();
|
||||
@@ -428,7 +473,6 @@ class Typeset extends Controller
|
||||
'acknowledgment' => 'require',
|
||||
'abbreviation' => 'require',
|
||||
'ts_doi' => 'require',
|
||||
'trdition' => 'require',
|
||||
'ts_topic' => 'require',
|
||||
'ts_main' => 'require'
|
||||
]);
|
||||
@@ -572,7 +616,8 @@ class Typeset extends Controller
|
||||
$cache_insert['refer_ctime'] = time();
|
||||
$insert_all[] = $cache_insert;
|
||||
}
|
||||
$res_refer = $this->ts_refer_obj->insertAll($insert_all);
|
||||
//暂时撤掉自动存储引用文献
|
||||
// $res_refer = $this->ts_refer_obj->insertAll($insert_all);
|
||||
}
|
||||
if ($ts_id && $res_refer) {
|
||||
Db::commit();
|
||||
@@ -652,6 +697,9 @@ class Typeset extends Controller
|
||||
$this->ts_refer_obj->insert($cache_insert);
|
||||
}
|
||||
|
||||
$this->referToDoi($data['article_id']);
|
||||
$this->doiTofrag($data['article_id']);
|
||||
return jsonSuccess([]);
|
||||
}
|
||||
|
||||
private function authorFormate($article_id)
|
||||
|
||||
@@ -241,8 +241,16 @@ function my_doiToFrag($data){
|
||||
$url = "https://citation.crosscite.org/format?doi=$doi&style=american-veterinary-medical-association&lang=en-US";
|
||||
$res = myGet($url);
|
||||
$frag = trim(substr($res,strpos($res,'.')+1));
|
||||
$frag1 = $frag==""?"none":$frag;
|
||||
$ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$frag1]);
|
||||
$f = '';
|
||||
$cs = 0;
|
||||
if($frag==""){
|
||||
$f = $data['refer_content'];
|
||||
}else{
|
||||
$c_frag = rtrim($frag,'.');
|
||||
$f = substr_replace($c_frag,PHP_EOL,strripos($c_frag,"http"),0);
|
||||
$cs = 1;
|
||||
}
|
||||
$ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$f,"cs"=>$cs]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user