diff --git a/application/api/controller/Preaccept.php b/application/api/controller/Preaccept.php index 03ec32b..bb7bf26 100644 --- a/application/api/controller/Preaccept.php +++ b/application/api/controller/Preaccept.php @@ -34,8 +34,15 @@ class Preaccept extends Base if ($production_info == null) { return jsonError("Object is null"); } + $dois = $this->production_article_refer_obj->where("p_article_id", $production_info['p_article_id'])->where("refer_doi","<>","")->where("state",0)->group("refer_doi")->having("count(*)>1")->column("refer_doi"); $list = $this->production_article_refer_obj->where("p_article_id", $production_info['p_article_id'])->where('state', 0)->order("index")->select(); - + foreach ($list as $k => $v){ + if(in_array($v['refer_doi'],$dois)){ + $list[$k]['is_repeat'] = 1; + }else{ + $list[$k]['is_repeat'] = 0; + } + } $re["refers"] = $list; return jsonSuccess($re); } @@ -736,22 +743,7 @@ class Preaccept extends Base if(!$mains){ $this->addArticleMainEx($data['article_id']); } - $mains = $this->article_main_obj->where("article_id",$data['article_id'])->whereIn("state",[0,2])->order("sort asc")->select(); - if(!$mains){ - return jsonError("error"); - } - foreach ($mains as $k=>$main) { - $mains[$k]['checks'] = $this->article_main_check_obj->where("am_id",$main['am_id'])->where("state",0)->select(); - if($main['type']==0){ - continue; - }elseif($main['type']==1){ - $c_d = $this->article_main_image_obj->where("ami_id",$main['ami_id'])->find(); - $mains[$k]['image'] = $c_d; - }else{ - $c_d_t = $this->article_main_table_obj->where("amt_id",$main['amt_id'])->find(); - $mains[$k]['table'] = $c_d_t; - } - } + $mains = getArticleMains($data['article_id']); $re['list'] = $mains; return jsonSuccess($re); @@ -776,7 +768,7 @@ class Preaccept extends Base if($n_list[0]['type']>0||$n_list[0]['content']!=""){ $this->addBRow($am_info['article_id'],$data['am_id']); } - $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>1,"is_h2"=>0,"is_h3"=>0,"content"=>"".$am_info['content'].""]); + $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>1,"is_h2"=>0,"is_h3"=>0]); return jsonSuccess([]); } @@ -794,7 +786,7 @@ class Preaccept extends Base if($p_list&&($p_list[0]['type']>0||$p_list[0]['content']!="")){ $this->addBRow($am_info['article_id'],$p_list[0]['am_id']); } - $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>0,"is_h2"=>1,"is_h3"=>0,"content"=>"".$am_info['content'].""]); + $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>0,"is_h2"=>1,"is_h3"=>0]); return jsonSuccess([]); } @@ -807,7 +799,19 @@ class Preaccept extends Base return jsonError($rule->getError()); } $am_info = $this->article_main_obj->where("am_id",$data['am_id'])->find(); - $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>0,"is_h2"=>0,"is_h3"=>1,"content"=>"".$am_info['content'].""]); + $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>0,"is_h2"=>0,"is_h3"=>1]); + return jsonSuccess([]); + } + + public function changeNormal(){ + $data = $this->request->post(); + $rule = new Validate([ + "am_id"=>"require" + ]); + if(!$rule->check($data)){ + return jsonError($rule->getError()); + } + $this->article_main_obj->where("am_id",$data['am_id'])->update(["is_h1"=>0,"is_h2"=>0,"is_h3"=>0]); return jsonSuccess([]); } @@ -820,7 +824,15 @@ class Preaccept extends Base if(!$rule->check($data)){ return jsonError($rule->getError()); } - $this->addBRow($data['article_id'],$data['am_id']); + if(isset($data['row'])){ + $row = (int)$data['row']; + }else{ + $row = 1; + } + while ($row>0){ + $this->addBRow($data['article_id'],$data['am_id']); + $row--; + } return jsonSuccess([]); } diff --git a/application/api/controller/Production.php b/application/api/controller/Production.php index c37cee9..3dc1ecf 100644 --- a/application/api/controller/Production.php +++ b/application/api/controller/Production.php @@ -586,26 +586,15 @@ class Production extends Base return jsonError($rule->getError()); } $this->refuseReferIndex($data['p_article_id']); - $list = $this->production_article_refer_obj -// ->field("*, -// CASE -// WHEN refer_doi != '' -// AND refer_doi IS NOT NULL -// AND refer_doi IN ( -// SELECT refer_doi -// FROM t_production_article_refer -// WHERE p_article_id = ".$data['p_article_id']." -// AND state = 0 -// GROUP BY refer_doi -// HAVING COUNT(*) > 1 -// ) THEN 1 -// ELSE 0 -// END AS repeat -// ") - ->where('p_article_id', $data['p_article_id'])->where('state', 0)->order("index")->select(); - - -// echo $this->production_article_refer_obj->getLastSql(); + $dois = $this->production_article_refer_obj->where("p_article_id", $data['p_article_id'])->where("refer_doi","<>","")->where("state",0)->group("refer_doi")->having("count(*)>1")->column("refer_doi"); + $list = $this->production_article_refer_obj->where('p_article_id', $data['p_article_id'])->where('state', 0)->order("index")->select(); + foreach ($list as $k => $v){ + if(in_array($v['refer_doi'],$dois)){ + $list[$k]['is_repeat'] = 1; + }else{ + $list[$k]['is_repeat'] = 0; + } + } $re['refers'] = $list; return jsonSuccess($re); } @@ -1209,7 +1198,13 @@ class Production extends Base $tables[$info['amt_id']] = $arr_table; $main_string = ""; }else{ - $main_string = $item['content']; + if($item['is_h1']==1){ + $main_string = "".$item['content'].""; + }else if($item['is_h2']==1||$item['is_h3']==1){ + $main_string = "".$item['content'].""; + }else{ + $main_string = $item['content']; + } } $mainList[] = $main_string; } diff --git a/application/api/controller/Publish.php b/application/api/controller/Publish.php index c08e16e..dfe95c0 100644 --- a/application/api/controller/Publish.php +++ b/application/api/controller/Publish.php @@ -213,21 +213,7 @@ class Publish extends Base $pra = []; $pra['article_id'] = $data['article_id']; myPost($url, $pra); - $mains = $this->article_main_obj->where("article_id",$product['article_id'])->whereIn("state",[0,2])->order("sort asc")->select(); - if(!$mains){ - return jsonError("error"); - } - foreach ($mains as $k=>$main) { - if($main['type']==0){ - continue; - }elseif($main['type']==1){ - $c_d = $this->article_main_image_obj->where("ami_id",$main['ami_id'])->find(); - $mains[$k]['image'] = $c_d; - }else{ - $c_d_t = $this->article_main_table_obj->where("amt_id",$main['amt_id'])->find(); - $mains[$k]['table'] = $c_d_t; - } - } + $mains = getArticleMains($product['article_id']); $re['list'] = $mains; return jsonSuccess($re); @@ -250,18 +236,7 @@ class Publish extends Base if(!$check){ return jsonError("not find"); } - $mains = $this->article_main_obj->where("article_id",$product['article_id'])->whereIn("state",[0,2])->order("sort asc")->select(); - foreach ($mains as $k=>$main) { - if($main['type']==0){ - continue; - }elseif($main['type']==1){ - $c_d = $this->article_main_image_obj->where("ami_id",$main['ami_id'])->find(); - $mains[$k]['image'] = $c_d; - }else{ - $c_d_t = $this->article_main_table_obj->where("amt_id",$main['amt_id'])->find(); - $mains[$k]['table'] = $c_d_t; - } - } + $mains = getArticleMains($product['article_id']); $re['list'] = $mains; return jsonSuccess($re); diff --git a/application/common.php b/application/common.php index ff032c4..b7b12a9 100644 --- a/application/common.php +++ b/application/common.php @@ -152,6 +152,34 @@ function get_str() return md5($randstr . time()); } +function getArticleMains($article_id){ + + $article_mains_obj = Db::name("article_main"); + $mains = $article_mains_obj->where("article_id",$article_id)->whereIn("state",[0,2])->order("sort asc")->select(); + if(!$mains){ + return null; + } + foreach ($mains as $k=>$main) { + if($main['is_h1']==1){ + $mains[$k]['content'] = "".$main['content'].""; + } + if($main['is_h2']==1||$main['is_h3']==1){ + $mains[$k]['content'] = "".$main['content'].""; + } + $mains[$k]['checks'] = Db::name("article_main_check")->where("am_id",$main['am_id'])->where("state",0)->select(); + if($main['type']==0){ + continue; + }elseif($main['type']==1){ + $c_d = Db::name("article_main_image")->where("ami_id",$main['ami_id'])->find(); + $mains[$k]['image'] = $c_d; + }else{ + $c_d_t = Db::name("article_main_table")->where("amt_id",$main['amt_id'])->find(); + $mains[$k]['table'] = $c_d_t; + } + } + return $mains; +} + function getRandPassword() {