Преглед изворни кода

修改添加通栏、修改通栏相关验证

FengR пре 2 месеци
родитељ
комит
20e446ecf6
1 измењених фајлова са 141 додато и 28 уклоњено
  1. 141 28
      app/Controller/PublicController.php

+ 141 - 28
app/Controller/PublicController.php

@@ -2031,30 +2031,86 @@ class PublicController extends AbstractController
     public function addSectorPlace()
     {
         $requireData = $this->request->all();
+        // // 先获取 type_id 的值,避免重复计算
+        $typeId = $requireData['type_id'] ?? null;
+        $type = $requireData['type'] ?? 0;
+        
         $validator = $this->validationFactory->make(
             $requireData,
             [
-                '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',
             ],
             [
+                '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->addSectorPlace($requireData);
         return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
@@ -2066,33 +2122,88 @@ 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',
+                'width' => 'required|integer',
+                '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' => '版式名称必须为字符串',
+                'width.required' => '宽度不能为空',
+                'width.integer' => '宽度必须为整数',
+                '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']);
@@ -2566,7 +2677,9 @@ class PublicController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $requireData['user_id'] = Context::get("UserId");
+        // $requireData['user_id'] = Context::get("UserId");
+        // return Result::success($requireData);
+
         $result = $this->publicServiceClient->randomWebTemplate($requireData);
         return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
     }