瀏覽代碼

优化修改底部导航的接口

15313670163 1 周之前
父節點
當前提交
6e71dd429f
共有 1 個文件被更改,包括 58 次插入19 次删除
  1. 58 19
      app/JsonRpc/FooterService.php

+ 58 - 19
app/JsonRpc/FooterService.php

@@ -139,8 +139,8 @@ class FooterService implements FooterServiceInterface
             ->first();
             $child = FooterCategory::where('pid',$footer_category['id'])->first(); 
             if(!empty($child)){
-                $footer_category = array_merge([$footer_category->toArray()], [$child->toArray()]);
-                // $footer_category['child'] = [];
+                $footer_category['child_name'] = $child['name'];
+                $footer_category['is_child'] = 1;
             }
             $result = [
                 'rows'=>$footer_category,
@@ -158,29 +158,68 @@ class FooterService implements FooterServiceInterface
             }
             $pinyin = new Pinyin();
             $child_data = [];
-            if(isset($data['child_name']) &&!empty($data['child_name'])){
-                $child_data = [
-                    'name' => $data['child_name'],
-                    'name_pinyin' => $pinyin->permalink($data['child_name'], ''),
-                ];
-                unset($data['child_name']);
-            }
+            $result = [];
             Db::beginTransaction();
             try{
-                $result = []; 
-                $data['name_pinyin'] = $pinyin->permalink($data['name'], '');
-                $result['rows'] = FooterCategory::where('id', $data['id'])->update($data);
-                $child = FooterCategory::where('pid',$data['id'])->first()->toArray();
-                if(!empty($child) && !empty($child_data)){
-                    $result['child'] = FooterCategory::where('id', $child['id'])->update($child_data);
+                if(isset($data['is_child']) && $data['is_child']!=''){
+                    $child = FooterCategory::where('pid',$data['id'])->first();
+                    if($data['is_child'] == 1){
+                        if(empty($data['child_name'])){
+                            Db::rollBack();
+                            return Result::error("请输入子级栏目名称!");
+                            var_dump($data['child_name']);
+                        }
+                        if(empty($child)){
+                            $child_data = [
+                                'name' => $data['child_name'],
+                                'name_pinyin' => $pinyin->permalink($data['child_name'], ''),
+                                'website_id' => $data['website_id'],
+                                'type' => 0,
+                                'pid' => $data['id'],
+                            ];
+                            $result['addchild'] = FooterCategory::insertGetId($child_data); 
+                            if(empty($result['addchild'])){
+                                Db::rollBack();
+                                return Result::error("子级栏目添加失败!");
+                            }
+                        }else{
+                            $child_data = [
+                                'name' => $data['child_name'],
+                                'name_pinyin' => $pinyin->permalink($data['child_name'], ''),
+                            ];
+                            $result['upchild'] = FooterCategory::where('pid',$data['id'])->update($child_data);
+                            if(empty($result['upchild'])){
+                                Db::rollBack();
+                                return Result::error("子级栏目修改失败!"); 
+                            }
+                        }
+                    }else{
+                        if(!empty($child)){
+                            $result['del_child_content'] = FooterContent::where('fcat_id',$child['id'])->delete();
+                             $result['delchild'] = FooterCategory::where('pid',$data['id'])->delete();
+                             if(empty($result['delchild'])) {
+                                Db::rollBack();
+                                return Result::error("子级栏目删除失败!");
+                            }
+                        }
+                    }
+                    unset($data['child_name']);
+                    unset($data['is_child']);
+                    $data['name_pinyin'] = $pinyin->permalink($data['name'], '');
+                    $result['rows'] = FooterCategory::where('id', $data['id'])->update($data);
+                    if(empty($result['rows'])){
+                        Db::rollBack();
+                        return Result::error("栏目修改失败!");
+                    }
+                    Db::commit();
+                }else{
+                    return Result::error("请选择是否添加子级栏目!");
                 }
-                Db::commit();
             } catch(\Throwable $ex){
                 Db::rollBack();
                 var_dump($ex->getMessage());
-                return Result::error("修改失败!!",0);
-            }
-           
+                return Result::error("修改失败!",0); 
+            }           
         }
         if (empty($result)) {
             return Result::error("修改失败!");