Răsfoiți Sursa

职位验证

15313670163 3 săptămâni în urmă
părinte
comite
2e37d21293
1 a modificat fișierele cu 161 adăugiri și 138 ștergeri
  1. 161 138
      app/Controller/NewsController.php

+ 161 - 138
app/Controller/NewsController.php

@@ -763,161 +763,184 @@ class NewsController extends AbstractController
     */
     public function addJobRecruiting(){
         $requireData = $this->request->all();
-        if(isset($requireData['user_type']) && $requireData['user_type']!= null){
-            if($requireData['user_type'] == 3 || $requireData['user_type'] == 10000){
-                $validator = $this->validationFactory->make(
-                    $requireData,
-                    [
-                        'title'=>'required',
-                        'cat_arr_id'=>'required',
-                        'city_arr_id'=>'required',
-                        'hy_id'=>'required|integer',
-                        'zw_id'=>'required|integer',
-                        'jtzw_id'=>'required|integer',
-                        'nature_id'=>'required|integer',
-                        'due_data'=>'required',
-                        'description'=>'required',
-                    ],   
-                    [
-                        'title.required' => '职位名称不能为空',
-                        'cat_arr_id.required' => '栏目不能为空',
-                        'city_arr_id.required' => '工作地区不能为空',
-                        'hy_id.required' => '行业分类不能为空',
-                        'hy_id.integer' => '行业分类必须是整数',
-                        'zw_id.required' => '职位分类不能为空',
-                        'zw_id.integer' => '职位分类必须是整数',
-                        'jtzw_id.required' => '职位不能为空',
-                        'jtzw_id.integer' => '职位分类必须是整数',
-                        'nature_id.required' => '职位性质不能为空',
-                        'nature_id.integer' => '职位性质必须是整数',
-                        'due_data.required' => '截止日期不能为空',
-                        'description.required' => '职位描述不能为空'
-                    ]
-                ); 
-                 // 公司信息
-                if($requireData['user_type'] == 10000){
-                    $validator = $this->validationFactory->make(
-                        $requireData,
-                        [
-                            'business_name'=>'required',
-                            'hy_id'=>'required',
-                            'company_size'=>'required',
-                            'introduction'=>'required',
-                            'real_name'=>'required',
-                            // 将联系电话的验证规则修改为最少十一位整数
-                            'mobile' => 'required|integer|min:10000000000',
-                            'address_arr_id'=>'required',
-                            'address'=>'required',
-                        ],
-                        [
-                            'business_name.required' => '公司名称不能为空',
-                            'hy_id.required' => '所属行业不能为空',
-                            'company_size.required' => '公司规模不能为空',
-                            'introduction.required' => '公司简介不能为空',
-                            'real_name.required' => '联系人不能为空',
-                            'mobile.required' => '联系电话不能为空',
-                            'mobile.integer' => '联系电话必须是整数',
-                            'mobile.min' => '联系电话必须是11位',
-                            'address_arr_id.required' => '公司地址不能为空',
-                            'address.required' => '公司详细地址不能为空',
-                        ]   
-                    );
-                    $requireData['website_id'] = $requireData['website_id'] ?? 0;
-                }else{
-                    $requireData['website_id'] = Context::get("SiteId");
+        // 定义验证规则数组
+        $jobValidationRules = [
+            'title' => 'required',
+            'cat_arr_id' => 'required',
+            'city_arr_id' => 'required',
+            'hy_id' => 'required|integer',
+            'zw_id' => 'required|integer',
+            'jtzw_id' => 'required|integer',
+            'nature_id' => 'required|integer',
+            'due_data' => 'required',
+            'description' => 'required',
+        ];
+        // 定义验证错误信息数组
+        $jobValidationMessages = [
+            'title.required' => '职位名称不能为空',
+            'cat_arr_id.required' => '栏目不能为空',
+            'city_arr_id.required' => '工作地区不能为空',
+            'hy_id.required' => '行业分类不能为空',
+            'hy_id.integer' => '行业分类必须是整数',
+            'zw_id.required' => '职位分类不能为空',
+            'zw_id.integer' => '职位分类必须是整数',
+            'jtzw_id.required' => '职位不能为空',
+            'jtzw_id.integer' => '职位分类必须是整数',
+            'nature_id.required' => '职位性质不能为空',
+            'nature_id.integer' => '职位性质必须是整数',
+            'due_data.required' => '截止日期不能为空',
+            'description.required' => '职位描述不能为空',
+        ];
+        // 定义公司信息验证规则数组
+        $companyValidationRules = [
+            'website_id' =>'required|integer',
+            'business_name' => 'required',
+            'company_hy_id' => 'required|integer',
+            'company_size' => 'required|integer',
+            'company_nature' =>'required|integer',
+            'introduction' => 'required',
+            'real_name' => 'required',
+            // 将联系电话的验证规则修改为最少十一位整数
+            'mobile' => 'required|integer|min:10000000000',
+            'address_arr_id' => 'required',
+            'address' => 'required',
+        ];
+        // 定义公司信息验证错误信息数组
+        $companyValidationMessages = [
+            'website_id.required' => '网站ID不能为空',
+            'website_id.integer' => '网站ID必须是整数',
+            'business_name.required' => '公司名称不能为空',
+            'company_hy_id.required' => '所属行业不能为空',
+            'company_hy_id.integer' => '所属行业必须是整数',
+            'company_size.required' => '公司规模不能为空',  
+            'company_size.integer' => '公司规模必须是整数',
+            'company_nature.required' => '公司性质不能为空',
+            'company_nature.integer' => '公司性质必须是整数',
+            'introduction.required' => '公司简介不能为空',
+            'real_name.required' => '联系人不能为空',
+            'mobile.required' => '联系电话不能为空',
+            'mobile.integer' => '联系电话必须是整数',
+            'mobile.min' => '联系电话必须是11位',
+            'address_arr_id.required' => '公司地址不能为空',
+            'address.required' => '公司详细地址不能为空',
+        ];
+        if (!isset($requireData['user_type']) || $requireData['user_type'] === null) {
+            return Result::error('参数错误');
+        }
+
+        switch ($requireData['user_type']) {
+            case 3:
+                $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
+                if ($validator->fails()) {
+                    return Result::error($validator->errors()->first());
                 }
-                // return Result::success($requireData);
+                $requireData['website_id'] = Context::get("SiteId") ?? 0;
+                break;
+            case 10000:
+                $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
                 if ($validator->fails()) {
-                    $errorMessage = $validator->errors()->first();
-                    return Result::error($errorMessage);
+                    return Result::error($validator->errors()->first());
                 }
-            }
-        }else{
-            return Result::error('参数错误');
+                $validator = $this->validationFactory->make($requireData, $companyValidationRules, $companyValidationMessages);
+                if ($validator->fails()) {
+                    return Result::error($validator->errors()->first());
+                }
+                // $requireData['website_id'] = Context::get("SiteId") ?? 0;
+                break;
+            default:
+                return Result::error('不支持的用户类型');
         }
         $requireData['user_id'] = Context::get("UserId") ?? 0;
         $result = $this->newsServiceClient->addJobRecruiting($requireData);
         return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);  
-    }
+    } 
     /*
     *后端-招聘 修改职位
     * @return array
     */
     public function upJobRecruiting(){
         $requireData = $this->request->all();
-        if(isset($requireData['user_type']) && $requireData['user_type']!= null){
-            if($requireData['user_type'] == 3 || $requireData['user_type'] == 10000){
-                $validator = $this->validationFactory->make(
-                    $requireData,
-                    [
-                        'id'=>'required',
-                        'title'=>'required',
-                        'cat_arr_id'=>'required',
-                        'city_arr_id'=>'required',
-                        'hy_id'=>'required|integer',
-                        'zw_id'=>'required|integer',
-                        'jtzw_id'=>'required|integer',
-                        'nature_id'=>'required|integer',
-                        'due_data'=>'required',
-                        'description'=>'required',
-                    ],   
-                    [
-                        'id.required' => 'id不能为空',
-                        'title.required' => '职位名称不能为空',
-                        'cat_arr_id.required' => '栏目不能为空',
-                        'city_arr_id.required' => '工作地区不能为空',
-                        'hy_id.required' => '行业分类不能为空',
-                        'hy_id.integer' => '行业分类必须是整数',
-                        'zw_id.required' => '职位分类不能为空',
-                        'zw_id.integer' => '职位分类必须是整数',
-                        'jtzw_id.required' => '职位不能为空',
-                        'jtzw_id.integer' => '职位分类必须是整数',
-                        'nature_id.required' => '职位性质不能为空',
-                        'nature_id.integer' => '职位性质必须是整数',
-                        'due_data.required' => '截止日期不能为空',
-                        'description.required' => '职位描述不能为空'
-                    ]
-                ); 
-                 // 公司信息
-                if($requireData['user_type'] == 10000){
-                    $validator = $this->validationFactory->make(
-                        $requireData,
-                        [
-                            'business_name'=>'required',
-                            'company_hy_id'=>'required|integer',
-                            'company_size'=>'required|integer',
-                            'introduction'=>'required',
-                            'real_name'=>'required',
-                            'mobile'=>'required|integer',
-                            'address_arr_id'=>'required',
-                            'address'=>'required',
-                        ],
-                        [
-                            'business_name.required' => '公司名称不能为空',
-                            'company_hy_id.required' => '所属行业不能为空',
-                            'company_size.required' => '公司规模不能为空',
-                            'introduction.required' => '公司简介不能为空',
-                            'real_name.required' => '联系人不能为空',
-                            'mobile.required' => '联系电话不能为空',
-                            'address_arr_id.required' => '公司地址不能为空',
-                            'address.required' => '公司详细地址不能为空',
-                        ]   
-                    );
+        // 定义验证规则数组
+        $jobValidationRules = [
+            'title' => 'required',
+            'cat_arr_id' => 'required',
+            'city_arr_id' => 'required',
+            'hy_id' => 'required|integer',
+            'zw_id' => 'required|integer',
+            'jtzw_id' => 'required|integer',
+            'nature_id' => 'required|integer',
+            'due_data' => 'required',
+            'description' => 'required',
+        ];
+        // 定义验证错误信息数组
+        $jobValidationMessages = [
+            'title.required' => '职位名称不能为空',
+            'cat_arr_id.required' => '栏目不能为空',
+            'city_arr_id.required' => '工作地区不能为空',
+            'hy_id.required' => '行业分类不能为空',
+            'hy_id.integer' => '行业分类必须是整数',
+            'zw_id.required' => '职位分类不能为空',
+            'zw_id.integer' => '职位分类必须是整数',
+            'jtzw_id.required' => '职位不能为空',
+            'jtzw_id.integer' => '职位分类必须是整数',
+            'nature_id.required' => '职位性质不能为空',
+            'nature_id.integer' => '职位性质必须是整数',
+            'due_data.required' => '截止日期不能为空',
+            'description.required' => '职位描述不能为空',
+        ];
+        // 定义公司信息验证规则数组
+        $companyValidationRules = [
+            'business_name' => 'required',
+            'company_hy_id' => 'required',
+            'company_size' => 'required',
+            'company_nature' =>'required',
+            'introduction' => 'required',
+            'real_name' => 'required',
+            // 将联系电话的验证规则修改为最少十一位整数
+            'mobile' => 'required|integer|min:10000000000',
+            'address_arr_id' => 'required',
+            'address' => 'required',
+        ];
+        // 定义公司信息验证错误信息数组
+        $companyValidationMessages = [
+            'business_name.required' => '公司名称不能为空',
+            'company_hy_id.required' => '所属行业不能为空',
+            'company_size.required' => '公司规模不能为空',
+            'company_nature.required' => '公司性质不能为空',
+            'introduction.required' => '公司简介不能为空',
+            'real_name.required' => '联系人不能为空',
+            'mobile.required' => '联系电话不能为空',
+            'mobile.integer' => '联系电话必须是整数',
+            'mobile.min' => '联系电话必须是11位',
+            'address_arr_id.required' => '公司地址不能为空',
+            'address.required' => '公司详细地址不能为空',
+        ];
+        if (!isset($requireData['user_type']) || $requireData['user_type'] === null) {
+            return Result::error('参数错误');
+        }
+
+        switch ($requireData['user_type']) {
+            case 3:
+                $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
+                if ($validator->fails()) {
+                    return Result::error($validator->errors()->first());
                 }
+                $requireData['website_id'] = Context::get("SiteId") ?? 0;
+                break;
+            case 10000:
+                $validator = $this->validationFactory->make($requireData, $jobValidationRules, $jobValidationMessages);
                 if ($validator->fails()) {
-                    $errorMessage = $validator->errors()->first();
-                    return Result::error($errorMessage);
+                    return Result::error($validator->errors()->first());
                 }
-            }
-        }else{
-            return Result::error('参数错误');
-        }
-        if(isset($requireData['website_id']) && $requireData['website_id'] != null){
-            $requireData['website_id'] = $requireData['website_id'];
-        }else{
-            $requireData['website_id'] = Context::get("SiteId");
+                $validator = $this->validationFactory->make($requireData, $companyValidationRules, $companyValidationMessages);
+                if ($validator->fails()) {
+                    return Result::error($validator->errors()->first());
+                }
+                // $requireData['website_id'] = Context::get("SiteId") ?? 0;
+                break;
+            default:
+                return Result::error('不支持的用户类型');
         }
-        // $requireData['website_id'] = Context::get("SiteId") ?? 0;
         $requireData['user_id'] = Context::get("UserId") ?? 0;
         // return Result::success($requireData);
         $result = $this->newsServiceClient->upJobRecruiting($requireData);