瀏覽代碼

修改添加通栏版式、修改通栏版式的验证;

FengR 2 月之前
父節點
當前提交
1552eacc85
共有 1 個文件被更改,包括 151 次插入39 次删除
  1. 151 39
      app/Controller/PublicController.php

+ 151 - 39
app/Controller/PublicController.php

@@ -2018,34 +2018,92 @@ class PublicController extends AbstractController
      */
     public function addSectorPlace()
     {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'name' => 'required',
-                'size_id' => 'required|integer',
-                'sector_img' => 'required',
-                'type' => 'required|integer',
-                'type_id' => 'required|integer',
-            ],
-            [
-                'name.required' => '版式名称不能为空',
-                'size_id.required' => '通栏尺寸不能为空',
-                'size_id.integer' => '通栏尺寸必须为整数',
-                'sector_img.required' => '通栏图片不能为空',
-                'type.required' => '版式编号不能为空',
-                'type.integer' => '版式编号必须为整数',
-                'type_id.required' => '版式类型id不能为空',
-                'type_id.integer' => '版式类型id必须为整数',
-            ]
-        );
-         if ($validator->fails()) {
+
+        $requireData = $this->request->all(); 
+        // // 先获取 type_id 的值,避免重复计算 
+        $typeId = $requireData['type_id'] ?? null; 
+        $type = $requireData['type'] ?? 0; 
+         
+        $validator = $this->validationFactory->make( 
+            $requireData, 
+            [ 
+                'type_id' => 'required|integer', 
+                'name' => 'required|string', 
+                'height' => 'required|integer', 
+                'sector_img' => 'required|string', 
+                'sector_type' => 'required|integer', 
+                'line_num' => 'required|integer', 
+                'column_num' => 'required|integer', 
+            ], 
+            [ 
+                'type_id.required' => '版式类型不能为空', 
+                'type_id.integer' => '版式类型必须为整数', 
+                'name.required' => '版式名称不能为空', 
+                'name.string' => '版式名称必须为字符串', 
+                'height.required' => '高度不能为空', 
+                'height.integer' => '高度必须为整数', 
+                'sector_img.required' => '通栏图片不能为空', 
+                'sector_img.string' => '通栏图片必须为字符串',
+                'sector_type.required' => '通栏编号不能为空',
+                'sector_type.integer' => '通栏编号必须为整数',
+                'line_num.required' => '行数不能为空',
+                'line_num.integer' => '行数必须为整数',
+                'column_num.required' => '列数不能为空',
+                'column_num.integer' => '列数必须为整数',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        if($typeId == 1){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'component_num' => 'required|integer',
+                ],
+                [
+                    
+                    'component_num.required' => '组件数量不能为空',
+                    'component_num.integer' => '组件数量必须为整数',
+                ]
+            ); 
+            $requireData['width'] = 1200;
+            unset($requireData['component_type']);
+            unset($requireData['type']);
+            unset($requireData['cat_num']);
+            unset($requireData['sort_id']);
+        }else{
+            $type = $requireData['type'] ?? null;
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'sort_id' => 'required|integer',
+                    'component_type' => 'required|integer',
+                    'type' =>   'required|integer',
+                    'width' => 'required|integer',
+                ],
+                [
+                    'sort_id.required' => '排序id不能为空',
+                    'sort_id.integer' => '排序id必须为整数',
+                    'component_type.required' => '组件编号不能为空',
+                    'component_type.integer' => '组件编号必须为整数',
+                    'type.required' => '组件版式类型不能为空',
+                    'type.integer' => '组件版式类型必须为整数',
+                    'width.required' => '宽度不能为空',
+                    'width.integer' => '宽度必须为整数',
+                ]
+            );
+            unset($requireData['component_num']);
+        }
+        if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
          }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->publicServiceClient->addSectorPlace($requireData);
-        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+
     }
     /** 
      * 通栏版式管理-编辑通栏版式
@@ -2053,37 +2111,91 @@ class PublicController extends AbstractController
      */
     public function upSectorPlace()
     {
+
         $requireData = $this->request->all();
+        $typeId = $requireData['type_id'] ?? null;
+        $type = $requireData['type'] ?? 0;
+        
         $validator = $this->validationFactory->make(
             $requireData,
             [
-                'id' => 'required|integer',
-                'name' => 'required',
-                'size_id' => 'required|integer',
-                'sector_img' => 'required',
-                'type' => 'required|integer',
                 'type_id' => 'required|integer',
+                'name' => 'required|string',
+                'height' => 'required|integer',
+                'sector_img' => 'required|string',
+                'sector_type' => 'required|integer',
+                'line_num' => 'required|integer',
+                'column_num' => 'required|integer',
             ],
             [
-                'id.required' => '通栏版式id不能为空',
-                'id.integer' => '通栏版式id必须为整数',
+                'type_id.required' => '版式类型不能为空',
+                'type_id.integer' => '版式类型必须为整数',
                 'name.required' => '版式名称不能为空',
-                'size_id.required' => '通栏尺寸不能为空',
-                'size_id.integer' => '通栏尺寸必须为整数',
+                'name.string' => '版式名称必须为字符串',
+                'height.required' => '高度不能为空',
+                'height.integer' => '高度必须为整数',
                 'sector_img.required' => '通栏图片不能为空',
-                'type.required' => '通栏类型不能为空',
-                'type.integer' => '通栏类型必须为整数',
-                'type_id.required' => '通栏类型id不能为空',
-                'type_id.integer' => '通栏类型id必须为整数',
+                'sector_img.string' => '通栏图片必须为字符串',
+                'sector_type.required' => '通栏编号不能为空',
+                'sector_type.integer' => '通栏编号必须为整数',
+                'line_num.required' => '行数不能为空',
+                'line_num.integer' => '行数必须为整数',
+                'column_num.required' => '列数不能为空',
+                'column_num.integer' => '列数必须为整数',
             ]
         );
-         if ($validator->fails()) {
+        if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
-         }
+        }
+        if($typeId == 1){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'component_num' => 'required|integer',
+                ],
+                [
+                    
+                    'component_num.required' => '组件数量不能为空',
+                    'component_num.integer' => '组件数量必须为整数',
+                ]
+            ); 
+            $requireData['width'] = 1200;
+            unset($requireData['component_type']);
+            unset($requireData['type']);
+            unset($requireData['cat_num']);
+            unset($requireData['sort_id']);
+        }else{
+            $type = $requireData['type'] ?? null;
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'sort_id' => 'required|integer',
+                    'component_type' => 'required|integer',
+                    'type' =>   'required|integer',
+                    'width' => 'required|integer',
+                ],
+                [
+                    'sort_id.required' => '排序id不能为空',
+                    'sort_id.integer' => '排序id必须为整数',
+                    'component_type.required' => '组件编号不能为空',
+                    'component_type.integer' => '组件编号必须为整数',
+                    'type.required' => '组件版式类型不能为空',
+                    'type.integer' => '组件版式类型必须为整数',
+                    'width.required' => '宽度不能为空',
+                    'width.integer' => '宽度必须为整数',
+                ]
+            );
+            unset($requireData['component_num']);
+        }
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
         $requireData['user_id'] = Context::get("UserId");
         $result = $this->publicServiceClient->upSectorPlace($requireData);
-        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+        
     }
     /**
      * 通栏版式管理-删除通栏版式