Forráskód Böngészése

修改c端接口:获取推荐招聘信息、获取招聘列表、获取栏目下的招聘信息;修改b端接口:添加招聘、修改招聘、添加求职、修改求职;修改c端:验证路由的接口

FengR 4 hónapja
szülő
commit
46a91c42a6
1 módosított fájl, 83 hozzáadás és 59 törlés
  1. 83 59
      app/JsonRpc/NewsService.php

+ 83 - 59
app/JsonRpc/NewsService.php

@@ -3084,6 +3084,7 @@ class NewsService implements NewsServiceInterface
       })
       ->select(
         'job_hunting.id',
+        'job_hunting.catid',
         'job_hunting.cat_arr_id',
         'job_hunting.job_name_get',
         'job_hunting.industry',
@@ -3093,7 +3094,9 @@ class NewsService implements NewsServiceInterface
         'job_hunting.city_arr_id',
         'job_hunting.experience',
         'job_hunting.updated_at',
-        'job_hunting.salary'
+        'job_hunting.salary',
+        'job_hunting.skillList',
+        'job_hunting.slelf_evaluation', 
       )
       ->orderBy('updated_at', 'desc')
       ->limit($data['job1_num'])
@@ -3115,6 +3118,7 @@ class NewsService implements NewsServiceInterface
       ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
       ->select(
         'job_recruiting.id',
+        'job_recruiting.catid',
         'job_recruiting.cat_arr_id',
         'job_recruiting.title',
         'job_recruiting.jtzw_id',
@@ -3126,7 +3130,9 @@ class NewsService implements NewsServiceInterface
         'job_recruiting.educational',
         'job_recruiting.salary',
         'job_recruiting.zw_id',
-        'job_company.business_name'
+        'job_company.business_name',
+        'job_recruiting.keyword',
+        'job_recruiting.description', 
       )
       ->orderBy('updated_at', 'desc')
       ->limit($data['job2_num'])
@@ -3188,6 +3194,7 @@ class NewsService implements NewsServiceInterface
         ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
         ->select(
           'job_recruiting.id',
+          'job_recruiting.catid',
           'job_recruiting.hy_id',
           'job_recruiting.title',
           'job_recruiting.zw_id',
@@ -3198,7 +3205,9 @@ class NewsService implements NewsServiceInterface
           'job_recruiting.experience',
           'job_recruiting.cat_arr_id',
           'job_recruiting.updated_at',
-          'job_company.business_name'
+          'job_company.business_name',
+          'job_recruiting.keyword',
+          'job_recruiting.description', 
         )
         ->orderBy('job_recruiting.updated_at', 'desc');
       $recruit_count = $query->count();
@@ -3245,6 +3254,7 @@ class NewsService implements NewsServiceInterface
         })
         ->select(
           'job_hunting.id',
+          'job_hunting.catid',
           'job_hunting.sexy',
           'job_hunting.experience',
           'job_hunting.origin',
@@ -3256,7 +3266,9 @@ class NewsService implements NewsServiceInterface
           'job_hunting.cat_arr_id',
           'job_hunting.created_at',
           'job_hunting.updated_at',
-          'job_position.zwname as job_name'
+          'job_position.zwname as job_name',
+          'job_hunting.skillList',
+          'job_hunting.slelf_evaluation', 
         )
         ->orderBy('job_hunting.updated_at', 'desc');
       $hunt_count = $query->count();
@@ -3565,7 +3577,7 @@ class NewsService implements NewsServiceInterface
         $query->where('user_id', $user['id']);
       })
       ->where('status', 1)
-      ->select('id', 'title', 'website_id', 'user_id', 'updated_at')
+      ->select('id', 'title', 'website_id', 'user_id', 'updated_at','keyword','catid','description')
       ->orderBy('updated_at', 'desc')
       ->limit($data['pageSize'])
       ->get();
@@ -3714,21 +3726,21 @@ class NewsService implements NewsServiceInterface
     //   return Result::success($article);
     //   $catid =0 ;
       
-    //   if(!isset($article['cat_arr_id'])){
-    //     $catid = isset($article['catid']) ? $article['catid'] : (isset($article['category_id']) ? $article['category_id'] : null);
-    //   }else{
-    //     $catidArray = json_decode($article['cat_arr_id'], true);
-    //     $catid = !empty($catidArray) ? end($catidArray) : null;
-    //   }
-    // //   return Result::success($catid);
+      if(!isset($article['cat_arr_id'])){
+        $catid = isset($article['catid']) ? $article['catid'] : (isset($article['category_id']) ? $article['category_id'] : null);
+      }else{
+        $catidArray = json_decode($article['cat_arr_id'], true);
+        $catid = !empty($catidArray) ? end($catidArray) : null;
+      }
+      // return Result::success($catid);
     // //    return Result::success($article['cat_arr_id']);
-    //   if (empty($catid)) {
-    //     return Result::error("该数据不存在", 0);
-    //   }
+      if (empty($catid)) {
+        return Result::error("该栏目路径不存在", 0);
+      }
       
-    //   $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
-    //     ->where('category_id',$catid)
-    //     ->first('path');
+      $path = WebsiteCategory::where('website_id', $data['website_id'])
+        ->where('category_id',$catid)
+        ->first('path');
     }
 
     // else{
@@ -3743,12 +3755,12 @@ class NewsService implements NewsServiceInterface
     //     //     $pinyin[0] = $last_category['aLIas_pinyin'];
     //     // }
     // }
-    // return Result::success($pinyin);
-    // if (empty($pinyin)) {
-    //   return Result::error('非法路径!');
-    // } else {
+    // return Result::success($path);
+    if (!empty($path) && $path['path'] != $data['all_route']) {
+      return Result::error('非法路径!');
+    } else {
       return Result::success( $last_category['path']);
-    // }
+    }
   }
   /**
    * 招工招聘  -  获取推荐职位
@@ -4119,32 +4131,39 @@ class NewsService implements NewsServiceInterface
       return Result::error("您已添加过求职信息", 0);
     }
     var_dump($result, '-----------------test---------');
-    if (isset($data['city_arr_id']) && !empty($data['city_arr_id']) && is_string($data['city_arr_id'])) {
-      // 如果 city_arr_id 是字符串,尝试将其转换为数组,取最后一个数据
-      $cityArr = json_decode($data['city_arr_id'], true);
-      $data['city_id'] = end($cityArr);
-    } else {
-      // 如果 city_arr_id 不是字符串,直接取最后一个数据
-      $data['city_id'] = end($data['city_arr_id']);
+    if (isset($data['city_arr_id']) && !empty($data['city_arr_id'])) {
+      if (is_string($data['city_arr_id'])) {
+        // 如果 city_arr_id 是字符串,尝试将其转换为数组,取最后一个数据
+        $cityArr = json_decode($data['city_arr_id'], true);
+        // 确保 $cityArr 是数组
+        if (is_array($cityArr)) {
+          $data['city_id'] = end($cityArr);
+        }
+      } else {
+        // 如果 city_arr_id 不是字符串,直接取最后一个数据
+        if (is_array($data['city_arr_id'])) {
+          $data['city_id'] = end($data['city_arr_id']);
+        }
+      }
     }
+
     // 处理求职所绑定栏目
-    if (isset($data['cat_arr_id']) && !empty($data['cat_arr_id']) && is_string($data['cat_arr_id'])) {
-      // 如果 cat_arr_id 是字符串,尝试将其转换为数组,取最后一个数据
-      $catArr = json_decode($data['cat_arr_id'], true);
-      $data['catid'] = end($catArr);
-    } else {
-      // 如果 cat_arr_id 不是字符串,直接取最后一个数据
-      $data['catid'] = end($data['cat_arr_id']);
-    }
-    // 处理求职关键词
-    if(isset($data['keyword']) && !empty($data['keyword'])){
-        $data['keyword'] = str_replace(',',',',$data['keyword']);
-    }else{
-        Jieba::init(); // 初始化 jieba-php
-        Finalseg::init();
-        $segList = Jieba::cut($data['skillList']);
-        $segList1 = array_slice($segList, 0, 8);
-        $data['keyword'] = implode(',', $segList1);
+    if (isset($data['cat_arr_id']) && !empty($data['cat_arr_id'])) {
+      if (is_string($data['cat_arr_id'])) {
+        // 如果 cat_arr_id 是字符串,尝试将其转换为数组,取最后一个数据
+        // 先清理可能存在的无效 JSON 字符
+        $cleanedCatArrStr = trim($data['cat_arr_id']);
+        $catArr = json_decode($cleanedCatArrStr, true);
+        // 检查 JSON 解码是否成功且结果是数组
+        if (json_last_error() === JSON_ERROR_NONE && is_array($catArr)) {
+          $data['catid'] = end($catArr);
+        }
+      } else {
+        // 如果 cat_arr_id 不是字符串,直接取最后一个数据
+        if (is_array($data['cat_arr_id'])) {
+          $data['catid'] = end($data['cat_arr_id']);
+        }
+      }
     }
     if ((isset($data['status']) && $data['status'] == 1) || !isset($data['status'])) {
       $this->sendMessage([
@@ -4198,16 +4217,6 @@ class NewsService implements NewsServiceInterface
       // 如果 cat_arr_id 不是字符串,直接取最后一个数据
       $data['catid'] = end($data['cat_arr_id']);
     }
-    // 处理求职关键词
-    if(isset($data['keyword']) && !empty($data['keyword'])){
-        $data['keyword'] = str_replace(',',',',$data['keyword']);
-    }else{
-        Jieba::init(); // 初始化 jieba-php
-        Finalseg::init();
-        $segList = Jieba::cut($data['skillList']);
-        $segList1 = array_slice($segList, 0, 8);
-        $data['keyword'] = implode(',', $segList1);
-    }
     if ((isset($data['status']) && $data['status'] == 1) || !isset($data['status'])) {
       $this->sendMessage([
         'talk_type' => 600,
@@ -5212,6 +5221,12 @@ class NewsService implements NewsServiceInterface
     $data['action_id'] = $data['user_id'] ?? null;
     $data['user_type'] = $user['type_id'] ?? null;
     $data['cat_arr_id'] = isset($data['cat_arr_id']) && !empty($data['cat_arr_id']) ? array_values(array_unique($data['cat_arr_id'])) : [];
+    
+    if(isset($data['cat_arr_id']) && !empty($data['cat_arr_id']) && is_array($data['cat_arr_id'])){
+        $data['catid'] = end($data['cat_arr_id']);
+    }else{
+        $data['catid'] = 0;
+    }
     $data['city_arr_id'] = isset($data['city_arr_id']) && !empty($data['city_arr_id']) ? array_values(array_unique($data['city_arr_id'])) : [];
     $data['cat_arr_id'] = isset($data['cat_arr_id']) && $data['cat_arr_id'] != [] ? json_encode(array_map('intval', $data['cat_arr_id'])) : '[]';
     $data['city_arr_id'] = isset($data['city_arr_id']) && !empty($data['city_arr_id']) ? json_encode(array_map('intval', $data['city_arr_id'])) : '[]';
@@ -5371,6 +5386,11 @@ class NewsService implements NewsServiceInterface
         $data['keyword'] = implode(',', $segList1);
     }
     $data['cat_arr_id'] = array_values(array_unique($data['cat_arr_id']));
+    if(isset($data['cat_arr_id']) && !empty($data['cat_arr_id']) && is_array($data['cat_arr_id'])){
+        $data['catid'] = end($data['cat_arr_id']);
+    }else{
+        
+    }
     $data['city_arr_id'] = array_values(array_unique($data['city_arr_id']));
     $data['cat_arr_id'] = isset($data['cat_arr_id']) ? json_encode(array_map('intval', $data['cat_arr_id'])) : '';
     $data['city_arr_id'] = isset($data['city_arr_id']) ? json_encode(array_map('intval', $data['city_arr_id'])) : '';
@@ -8031,7 +8051,9 @@ class NewsService implements NewsServiceInterface
               'job_recruiting.title',
               'job_company.business_name',
               'job_recruiting.updated_at',
-              'job_recruiting.cat_arr_id'
+              'job_recruiting.cat_arr_id',
+              'job_recruiting.keyword',
+              'job_recruiting.description'
             )
             ->orderBy('job_recruiting.updated_at', 'desc')
 
@@ -8048,7 +8070,9 @@ class NewsService implements NewsServiceInterface
               'job_hunting.name',
               'job_hunting.cat_arr_id',
               'job_position.zwname as job_name',
-              'job_hunting.updated_at'
+              'job_hunting.updated_at',
+              'job_hunting.keyword',
+              'job_hunting.slelf_evaluation'
             )
             ->orderBy('updated_at', 'desc')
             ->limit($textnum)