Sfoglia il codice sorgente

自助建站-流程管理-提那家页面类型、选择皮肤列、保存模版的接口进行修改

15313670163 3 giorni fa
parent
commit
2dc20310a4
1 ha cambiato i file con 62 aggiunte e 29 eliminazioni
  1. 62 29
      app/JsonRpc/PublicRpcService.php

+ 62 - 29
app/JsonRpc/PublicRpcService.php

@@ -1982,28 +1982,54 @@ class PublicRpcService implements PublicRpcServiceInterface
         // return Result::success($data);
         // 1:首页 2:频道页 3:列表页 4:详情页 5:搜索页 6:特殊列表 7:特殊详情页'
         if ($data['is_search'] == 1) {
-            $page_type = json_encode([1, 2, 3, 4, 5, 6, 7]);
+            $page_type = json_encode([1,2,3,4,5,6,7]);
         } else {
-            $page_type = json_encode([1, 2, 3, 4, 6, 7]);
+            $page_type = json_encode([1,2,3,4,6,7]);
         }
         // 0:未构建;1:已填写基础信息;2:已选择模板;    action_id
         $website_template_info = WebsiteTemplateInfo::where('website_id', $data['website_id'])->first();
-        // return Result::success($website_template_info);
-
-        // return Result::success(empty($website_template_info));
-        if (empty($website_template_info)) {
-            $result = WebsiteTemplateInfo::insertGetId(['website_id' => $data['website_id'], 'page_type' => $page_type, 'user_id' => $data['user_id']]);
-        } else {
-            if ($website_template_info['status'] == 2) {
-                return Result::error('网站已应用,不可再次修改!');
+        $website_template = WebsiteTemplate::where('website_id', $data['website_id'])->first();
+        Db::beginTransaction();
+        try{
+            if (empty($website_template_info)) {
+                $result['template_info'] = WebsiteTemplateInfo::create([
+                    'website_id' => $data['website_id'],
+                    'page_type' => $page_type,
+                    'user_id' => $data['user_id']
+                ])->id;
+            } else {
+                if ($website_template_info['status'] == 2) {
+                    Db::rollBack();
+                    return Result::error('网站已应用,不可再次修改!');
+                }
+                $result['template_info'] = WebsiteTemplateInfo::where('website_id', $data['website_id'])->update(['page_type' => $page_type, 'action_id' => 1, 'user_id' => $data['user_id']]);
             }
-            $result = WebsiteTemplateInfo::where('website_id', $data['website_id'])->update(['page_type' => $page_type], ['action_id' => 1, 'user_id' => $data['user_id']]);
-        }
-        if ($result) {
+            if (!$result['template_info']) {
+                Db::rollBack();
+                return Result::error('网站所选页面添加失败');
+            }
+            if(empty($website_template)){
+                $result['template'] = WebsiteTemplate::insertGetId([
+                    'website_id' => $data['website_id'],
+                    'page_type' => $page_type,
+                    'user_id' => $data['user_id'],
+                ]);
+            }else{
+                $result['template'] = WebsiteTemplate::where('website_id', $data['website_id'])->update([
+                    'page_type' => $page_type,
+                ]);
+            }
+            if(!$result['template']){
+                Db::rollBack();
+                return Result::error('添加网站预制模版信息失败!');
+            }
+            Db::commit();
             return Result::success($result);
-        } else {
+        }catch(\Exception $e){
+            Db::rollBack();
             return Result::error('添加失败');
         }
+        
     }
     /**
      * 自助建站---流程---3.选择皮肤列表
@@ -2088,10 +2114,25 @@ class PublicRpcService implements PublicRpcServiceInterface
             return Result::error('未查询到皮肤!');
         }
         // 0:未构建;1:已填写基础信息;2:已选择模板;    action_id
-        $web_template = WebsiteTemplateInfo::where('website_id', $data['website_id'])->update(['template_id' => $data['template_id'], 'action_id' => 2]);
-        if ($web_template) {
-            return Result::success($web_template);
-        } else {
+        // 分别更新 WebsiteTemplateInfo 和 WebsiteTemplate 表
+        Db::beginTransaction();
+        try {
+            $reuslt['template_info'] = WebsiteTemplateInfo::where('website_id', $data['website_id'])
+            ->update(['template_id' => $data['template_id'],'action_id' => 2,'user_id'=> $data['user_id']]);
+            if(empty($reuslt['template_info'])){
+                Db::rollBack();
+                return Result::error('选择皮肤失败!');
+            }
+            $result['template'] = WebsiteTemplate::where('website_id', $data['website_id'])
+            ->update(['template_id' => $data['template_id'],'user_id'=> $data['user_id']]);
+            if(empty($result['template'])){
+                Db::rollBack();
+                return Result::error('网站模版选择皮肤失败!');
+            }
+            Db::commit();
+            return Result::success($result);
+        } catch (\Exception $e) {
+            Db::rollBack();
             return Result::error('选择皮肤失败!');
         }
     }
@@ -2119,22 +2160,14 @@ class PublicRpcService implements PublicRpcServiceInterface
         try {
             Db::beginTransaction();
             if (empty($template_info)) {
-                $template = WebsiteTemplate::insertGetId([
-                    'website_id' => $data['website_id'],
-                    'template_data' => $data['template_data'],
-                    'user_id' => $data['user_id'],
-                    'canvas_data' => $data['canvas_data'],
-                    'page_type' => $website_template_info['page_type'],
-                    'template_id' => $website_template_info['template_id'],
-                ]);
+                Db::rollback();
+                return Result::error('该网站不存在已保存的模版!');
             } else {
                 $template = WebsiteTemplate::where('website_id', $data['website_id'])->update(
                     [
                         'template_data' => $data['template_data'],
                         'user_id' => $data['user_id'],
                         'canvas_data' => $data['canvas_data'],
-                        'page_type' => $website_template_info['page_type'],
-                        'template_id' => $website_template_info['template_id'],
                     ]
                 );
             }
@@ -2145,7 +2178,7 @@ class PublicRpcService implements PublicRpcServiceInterface
                 $tempalte_info = WebsiteTemplateInfo::where('website_id', $data['website_id'])->update(['status' => 1]);
                 if (empty($tempalte_info)) {
                     Db::rollback();
-                    return Result::error('保存失败!');
+                    return Result::error('网站搭建状态保存失败!');
                 }
                 Db::commit();
             }