Эх сурвалжийг харах

Merge branch '20250306_jobrecuiting_fr' into dev

15313670163 1 сар өмнө
parent
commit
f08956f906

+ 206 - 132
app/Controller/NewsController.php

@@ -11,6 +11,8 @@ use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use Hyperf\Context\Context;
 use App\JsonRpc\UserServiceInterface;
 use App\JsonRpc\WebsiteServiceInterface;
+use Laminas\Mime\Decode;
+
 /**
  * Class NewsController
  * @package App\Controller
@@ -26,6 +28,11 @@ class NewsController extends AbstractController
      */
     #[Inject]
     private $newsServiceClient;
+    /**
+     * @var WebsiteServiceInterface
+     */
+    #[Inject]
+    private $websiteServiceClient;
 
     /**
      * @var UserServiceInterface
@@ -680,7 +687,7 @@ class NewsController extends AbstractController
         }
         $requireData['website_id'] = Context::get("SiteId");
         $requireData['user_id'] = Context::get("UserId");
-        return Result::success($requireData);
+        // return Result::success($requireData);
         if (empty($requireData['website_id']) || empty($requireData['user_id'])){
             return Result::error('参数错误');
         }
@@ -696,15 +703,18 @@ class NewsController extends AbstractController
         $validator = $this->validationFactory->make(
             $requireData,
             [
-                'id'=>'required',
+                'id'=>'required|integer',
             ],
             [
                 'id.required' => 'id不能为空',
+                'id.integer' => 'id必须是整数',
             ]
         );
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();   
+            return Result::error($errorMessage);
         }
+        // return Result::success($requireData);
         $result = $this->newsServiceClient->getJobRecruitingInfo($requireData);
         return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -714,25 +724,24 @@ class NewsController extends AbstractController
     */
     public function addJobRecruiting(){
         $requireData = $this->request->all();
+        // return Result::success($requireData);
         $validator = $this->validationFactory->make(
             $requireData,
             [
                 'title'=>'required',
-                'cat_arr_id'=>'required|array',
-                'city_ayy_id'=>'required|array',
+                '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|date',
-                'decription'=>'required',
+                'due_data'=>'required',
+                'description'=>'required',
             ],   
             [
                 'title.required' => '职位名称不能为空',
                 'cat_arr_id.required' => '栏目不能为空',
-                'cat_arr_id.array' => '栏目必须是数组',
                 'city_arr_id.required' => '工作地区不能为空',
-                'city_arr_id.array' => '工作地区必须是数组',
                 'hy_id.required' => '行业分类不能为空',
                 'hy_id.integer' => '行业分类必须是整数',
                 'zw_id.required' => '职位分类不能为空',
@@ -742,136 +751,201 @@ class NewsController extends AbstractController
                 'nature_id.required' => '职位性质不能为空',
                 'nature_id.integer' => '职位性质必须是整数',
                 'due_data.required' => '截止日期不能为空',
-                'due_data.date' => '截止日期格式不正确',
-                'decription.required' => '职位描述不能为空'
+                'description.required' => '职位描述不能为空'
             ]
-
         ); 
-        $website_id = Context::get("SiteId") ?? 0;
-        $user_id = Context::get("UserId") ?? 0;
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $requireData['website_id'] = $website_id;
-        $requireData['user_id'] = $user_id;
-        return Result::success($requireData);
+        if(isset($requireData['website_id']) && $requireData['website_id'] != null){
+            $requireData['website_id'] = $requireData['website_id'];
+        }else{
+            $requireData['website_id'] = Context::get("SiteId");
+        }
+        // $requireData['website_id'] = Context::get("SiteId") ?? 0;
+        $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();
-    //     $validator = $this->validationFactory->make(
-    //         $requireData,
-    //         [
-    //             'title'=>'required',
-    //             'job_type'=>'required',
-    //             'job_level'=>'required',
-    //             'job_num'=>'required',
-    //             'job_address'=>'required',
-    //             'job_content'=>'required',
-    //             'job_require'=>'required',
-    //             'job_responsibility'=>'required',
-    //             'job_benefits'=>'required',
-
-    //         ],   
-    //         [
-    //             'title.required' => '职位名称不能为空',
-    //             'job_type.required' => '职位类型不能为空',
-    //             'job_level.required' => '职位级别不能为空',
-    //             'job_num.required' => '招聘人数不能为空',
-    //             'job_address.required' => '工作地点不能为空',
-    //             'job_content.required' => '职位内容不能为空',
-    //             'job_require.required' => '职位要求不能为空',
-    //             'job_responsibility.required' => '岗位职责不能为空',
-    //             'job_benefits.required' => '岗位福利不能为空',
-    //         ]
-
-    //     ); 
-    //     $result = $this->newsServiceClient->upJobRecruiting($requireData);
-    //     return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);  
-    // }
-    // /*
-    // *后端-招聘 删除职位
-    // * @return array
-    // */
-    // public function delJobRecruiting(){
-    //     $requireData = $this->request->all();
-    //     $validator = $this->validationFactory->make(
-    //         $requireData,
-    //         [
-    //             'id'=>'required',
-    //         ],
-    //         [
-    //             'id.required' => 'id不能为空',
-    //         ]   
-    //     );
-    //     $result = $this->newsServiceClient->delJobRecruiting($requireData);
-    //     return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);  
-    // }
-    // /*
-    // *后端-招聘 职位状态
-    // * @return array
-    // */
-    // public function upJobRecruitingStatus(){
-    //     $requireData = $this->request->all();
-    //     $validator = $this->validationFactory->make(
-    //         $requireData,
-    //         [
-    //             'id'=>'required',
-    //             'status'=>'required',
-    //         ],
-    //         [
-    //             'id.required' => 'id不能为空',
-    //             'status.required' => 'status不能为空',
-    //         ]
-    //     );
-    //     $result = $this->newsServiceClient->upJobRecruitingStatus($requireData);
-    //     return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
-    // }
-    // /*
-    // *后端-招聘 职位状态
-    // * @return array
-    // */
-    // public function getJobRecruitingStatus(){
-    //     $requireData = $this->request->all();
-    //     $validator = $this->validationFactory->make(
-    //         $requireData,
-    //         [
-    //             'id'=>'required',
-    //         ],
-    //         [
-    //             'id.required' => 'id不能为空',
-    //         ]
-    //     );
-    //     $result = $this->newsServiceClient->getJobRecruitingStatus($requireData);
-    //     return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
-    // }
-    // /*
-    // *后端-招聘 职位状态
-    // * @return array
-    // */
-    // public function getJobRecruitingStatusList(){
-    //     $requireData = $this->request->all();
-    //     $validator = $this->validationFactory->make(
-    //         $requireData,
-    //         [
-    //             'id'=>'required',
-    //         ],
-    //         [
-    //             'id.required' => 'id不能为空',
-    //         ]    
-    //     );
-    //     if ($validator->fails()) {
-    //         $errorMessage = $validator->errors()->first();
-    //         return Result::error($errorMessage);
-    //     }
-    //     $result = $this->newsServiceClient->getJobRecruitingStatusList($requireData);
-    //     return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);    
-    // }
-
-}
+    /*
+    *后端-招聘 修改职位
+    * @return array
+    */
+    public function upJobRecruiting(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id'=>'required|integer',
+                '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不能为空',
+                'id.integer' => '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 ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        if(isset($requireData['website_id']) && $requireData['website_id'] != null){
+            $requireData['website_id'] = $requireData['website_id'];
+        }else{
+            $requireData['website_id'] = Context::get("SiteId");
+        }
+        // $requireData['website_id'] = Context::get("SiteId") ?? 0;
+        $requireData['user_id'] = Context::get("UserId") ?? 0;
+        $result = $this->newsServiceClient->upJobRecruiting($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);  
+    }
+    /*
+    *后端-招聘 删除职位
+    * @return array
+    */
+    public function delJobRecruiting(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id'=>'required',
+            ],
+            [
+                'id.required' => 'id不能为空',
+            ]   
+        );
+        $result = $this->newsServiceClient->delJobRecruiting($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);  
+    }
+    /*
+    *后端-招聘 获取地区-省-市
+    * @return array
+    */
+    public function getJobRecruitingArea(){
+        $requireData = $this->request->all();        
+        $result = $this->websiteServiceClient->selectWebsiteArea($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 行业分类
+    * @return array
+    */
+    public function getIndustry(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id'=>'required',
+            ],
+            [
+                'id.required' => 'id不能为空',
+            ]
+        );
+        $result = $this->newsServiceClient->getIndustry($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 职位分类
+    * @return array
+    */
+    public function getPositionList(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getPositionList($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);    
+    }
+     /*
+    *后端-招聘 职位性质
+    * @return array
+    */
+    public function getJobNature(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getJobNature($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);    
+    }
+    /*
+    *后端-招聘 工作经验
+    * @return array
+    */
+    public function getExperience(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getExperience($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /*
+    *后端-招聘 学历
+    * @return array
+    */
+    public function getEducation(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getEducation($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 薪资
+    * @return array
+    */
+    public function getSalary(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getSalary($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 语言
+    * @return array
+    */
+    public function getLanguage(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getLanguage($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 语言-掌握能力
+    * @return array
+    */
+    public function getLevel(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getLevel($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+    /*
+    *后端-招聘 公司规模
+    * @return array
+    */
+    public function getCompanySize(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getCompanySize($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /*
+    *后端-招聘 公司性质
+    * @return array
+    */
+    public function getCompanyNature(){
+        $requireData = $this->request->all();
+        $result = $this->newsServiceClient->getCompanyNature($requireData);
+        return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);   
+    }
+}
+

+ 106 - 0
app/JsonRpc/NewsService.php

@@ -261,4 +261,110 @@ class NewsService extends AbstractServiceClient implements NewsServiceInterface
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getJobRecruitingArea(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getIndustry(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getPositionList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getJobNature(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+        
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getExperience(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getEducation(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getSalary(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);   
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getLanguage(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getLevel(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);   
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCompanySize(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCompanyNature(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);   
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function upJobRecruiting(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function delJobRecruiting(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 66 - 0
app/JsonRpc/NewsServiceInterface.php

@@ -142,4 +142,70 @@ interface NewsServiceInterface
      * @return mixed
      */
     public function addJobRecruiting(array $data);
+
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getJobRecruitingArea(array $data);
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getIndustry(array $data);
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getPositionList(array $data);
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getJobNature(array $data);
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getExperience(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getEducation(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getSalary(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getLanguage(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getLevel(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCompanySize(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCompanyNature(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function upJobRecruiting(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function delJobRecruiting(array $data);
 }

+ 13 - 10
config/api/news.php

@@ -52,19 +52,22 @@ Router::addGroup(
 
         // 20250306 招聘
         Router::get('/getJobRecruitingList', [NewsController::class, 'getJobRecruitingList']);
-        Router::post('/getJobRecruitingInfo', [NewsController::class, 'getJobRecruitingInfo']);
+        Router::get('/getJobRecruitingInfo', [NewsController::class, 'getJobRecruitingInfo']);
         Router::post('/addJobRecruiting', [NewsController::class, 'addJobRecruiting']);
-        Router::post('/updateJobRecruiting', [NewsController::class, 'updateJobRecruiting']);
+        Router::post('/upJobRecruiting', [NewsController::class, 'upJobRecruiting']);
         Router::post('/delJobRecruiting', [NewsController::class, 'delJobRecruiting']);
-        Router::post('/getIndustry', [NewsController::class, 'getIndustry']);
+        // 菜单
+        Router::get('/getJobRecruitingArea', [NewsController::class, 'getJobRecruitingArea']);
+        Router::get('/getIndustry', [NewsController::class, 'getIndustry']);
         Router::get('/getPositionList', [NewsController::class, 'getPositionList']);
-        Router::post('/getPosition', [NewsController::class, 'getPosition']);
-        Router::post('/getNature', [NewsController::class, 'getNature']);
-        Router::post('/getExperience', [NewsController::class, 'getExperience']);
-        Router::post('/getEducation', [NewsController::class, 'getEducation']);
-        Router::post('/getSalary', [NewsController::class, 'getSalary']);
-        Router::post('/getLanguage', [NewsController::class, 'getLanguage']);
-        Router::post('/getLevel', [NewsController::class, 'getLevel']);
+        Router::get('/getJobNature', [NewsController::class, 'getJobNature']);
+        Router::get('/getExperience', [NewsController::class, 'getExperience']);
+        Router::get('/getEducation', [NewsController::class, 'getEducation']);
+        Router::get('/getSalary', [NewsController::class, 'getSalary']);
+        Router::get('/getLanguage', [NewsController::class, 'getLanguage']);
+        Router::get('/getLevel', [NewsController::class, 'getLevel']);
+        Router::get('/getCompanySize', [NewsController::class, 'getCompanySize']);
+        Router::get('/getCompanyNature', [NewsController::class, 'getCompanyNature']);
         
         // 20250306 招聘