visuddhinanda 2 лет назад
Родитель
Сommit
8ccfa01319
1 измененных файлов с 32 добавлено и 15 удалено
  1. 32 15
      app/Http/Controllers/ArticleController.php

+ 32 - 15
app/Http/Controllers/ArticleController.php

@@ -283,13 +283,15 @@ class ArticleController extends Controller
         if(Article::where('title',$request->get('title'))->where('owner',$studioUuid)->exists()){
             return $this->error(__('validation.exists'));
         }*/
+        Log::debug('开始新建'.$request->get('title'));
+
         $newArticle = new Article;
         DB::transaction(function() use($user,$request,$newArticle){
             $studioUuid = StudioApi::getIdByName($request->get('studio'));
             //新建文章,加入文集必须都成功。否则回滚
             $newArticle->id = app('snowflake')->id();
             $newArticle->uid = Str::uuid();
-            $newArticle->title = $request->get('title');
+            $newArticle->title = mb_substr($request->get('title'),0,128,'UTF-8');
             $newArticle->lang = $request->get('lang');
             $newArticle->owner = $studioUuid;
             $newArticle->owner_id = $user['user_id'];
@@ -300,12 +302,15 @@ class ArticleController extends Controller
             $newArticle->save();
             OpsLog::debug($user['user_uid'],$newArticle);
 
+            Log::debug('开始挂接 id='.$newArticle->uid);
             $anthologyId = $request->get('anthologyId');
             if(Str::isUuid($anthologyId)){
                 $parentNode = $request->get('parentNode');
                 if(Str::isUuid($parentNode)){
+                    Log::debug('有挂接点'.$parentNode);
                     $map = ArticleCollection::where('collect_id',$anthologyId)
                                         ->orderBy('id')->get();
+                    Log::debug('查询到原map数据'.count($map));
                     $newMap = array();
                     $parentNodeLevel = -1;
                     $appended = false;
@@ -315,11 +320,14 @@ class ArticleController extends Controller
                             if($parentNodeLevel>0){
                                 if($row->level <= $parentNodeLevel ){
                                     //parent node 末尾
-                                    $newNode = $row;
+                                    $newNode = array();
+                                    $newNode['collect_id'] = $anthologyId;
                                     $newNode['article_id'] = $newArticle->uid;
                                     $newNode['level'] = $parentNodeLevel+1;
-                                    $newNode['title'] = Article::find($newArticle->uid)->title;
+                                    $newNode['title'] = $newArticle->title;
+                                    $newNode['children'] = 0;
                                     $newMap[] = $newNode;
+                                    Log::debug('新增节点',['node'=>$newNode]);
                                     $appended = true;
                                 }
                             }else{
@@ -331,17 +339,25 @@ class ArticleController extends Controller
                         }
                         $newMap[] = $orgNode;
                     }
-                    if($parentNodeLevel>0 && $appended===false){
-                        //没挂上
-                        $newNode = array();
-                        $newNode['collect_id'] = $anthologyId;
-                        $newNode['article_id'] = $newArticle->uid;
-                        $newNode['level'] = $parentNodeLevel+1;
-                        $newNode['title'] = Article::find($newArticle->uid)->title;
-                        $newNode['children'] = 0;
-                        $newMap[] = $newNode;
+                    if($parentNodeLevel>0){
+                        if($appended===false){
+                        //
+                            Log::debug('没挂上 挂到结尾');
+                            $newNode = array();
+                            $newNode['collect_id'] = $anthologyId;
+                            $newNode['article_id'] = $newArticle->uid;
+                            $newNode['level'] = $parentNodeLevel+1;
+                            $newNode['title'] = $newArticle->title;
+                            $newNode['children'] = 0;
+                            $newMap[] = $newNode;
+                        }
+                    }else{
+                        Log::error('没找到挂接点'.$parentNode);
                     }
+                    Log::debug('新map数据'.count($newMap));
+
                     $delete = ArticleCollection::where('collect_id',$anthologyId)->delete();
+                    Log::debug('删除旧map数据'.$delete);
                     $count=0;
                     foreach ($newMap as $key => $row) {
                         $new = new ArticleCollection;
@@ -358,6 +374,7 @@ class ArticleController extends Controller
                         $new->save();
                         $count++;
                     }
+                    Log::debug('新map数据'.$count);
                     ArticleMapController::updateCollection($anthologyId);
                 }else{
                     $articleMap = new ArticleCollection();
@@ -485,9 +502,9 @@ class ArticleController extends Controller
             $content = $tplContent;
         }
 
-        $article->title = $request->get('title');
-        $article->subtitle = $request->get('subtitle');
-        $article->summary = $request->get('summary');
+        $article->title = mb_substr($request->get('title'),0,128,'UTF-8') ;
+        $article->subtitle = mb_substr($request->get('subtitle'),0,128,'UTF-8') ;
+        $article->summary = mb_substr($request->get('summary'),0,1024,'UTF-8') ;
         $article->content = $content;
         $article->lang = $request->get('lang');
         $article->status = $request->get('status',10);