Browse Source

修改获取职场机会的bug(个人会员无法看到自己的职场机会)

15313670163 6 days ago
parent
commit
ec61732a27
1 changed files with 60 additions and 66 deletions
  1. 60 66
      app/JsonRpc/NewsService.php

+ 60 - 66
app/JsonRpc/NewsService.php

@@ -5034,73 +5034,67 @@ class NewsService implements NewsServiceInterface
   /*
     * 获取招聘信息列表-职场机会(个人会员收到企业推送岗位)
     * */
-  public function getRecruitingList(array $data): array
-  {
-
-    $user = User::where('id', $data['user_id'])->first();
-    if (empty($user) || ($user['type_id'] != 10000 && $user['type_id'] != 1)) {
-      return Result::error("用户不存在", 0);
-    }
-    // 1:个人会员    职场机会
-    if ($user['type_id'] == 1) {
-      $where['user_id'] = $user['id'];
-    }
-    $recruitingId = JobResume::when($user['type_id'] == 1, function ($query) use ($user) {
-      $query->where('recruit_id', $user['id']);
-    })
-      ->pluck('recruit_id');
-    $where = [];
-    if (isset($data['salary']) && $data['salary'] != null) {
-      $where['job_recruiting.salary'] = $data['salary'];
-    }
-    if (isset($data['experience']) && $data['experience'] != null) {
-      $where['job_recruiting.experience'] = $data['experience'];
-    }
-    if (isset($data['business_name']) && $data['business_name'] != null) {
-      array_push($where, ['job_company.business_name', 'like', '%' . $data['business_name'] . '%']);
-    }
-    $query = JobRecruiting::whereIn('job_recruiting.id', $recruitingId)
-      ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
-      ->where($where);
-    // ->count();
-    $count = $query->count();
-    $query = clone $query;
-    $job = $query
-      ->leftJoin('job_enum as income_enum', function ($join) {
-        $join->on('job_recruiting.salary', '=', 'income_enum.evalue')
-          ->where('income_enum.egroup', 'income');
-      })
-      ->leftJoin('job_enum as years_enum', function ($join) {
-        $join->on('job_recruiting.experience', '=', 'years_enum.evalue')
-          ->where('years_enum.egroup', 'years');
-      })
-      // ->where($where)
-      ->orderBy('job_recruiting.updated_at', 'desc')
-      ->select(
-        'job_recruiting.id',
-        'job_recruiting.title',
-        'job_company.business_name',
-        'income_enum.evalue as salary_evalue',
-        'income_enum.ename as salary_ename',
-        'years_enum.evalue as experience_evalue',
-        'years_enum.ename as experience_ename',
-        'job_recruiting.updated_at'
-      )
-      ->offset(($data['page'] - 1) * $data['pageSize'])
-      ->limit($data['pageSize'])
-      ->get()
-      ->all();
-
-    if (empty($job)) {
-      return Result::error("暂无招聘信息", 0);
+    public function getRecruitingList(array $data): array
+    {
+        $user = User::where('id', $data['user_id'])->first();
+        if(empty($user) || ($user['type_id']!= 10000 && $user['type_id']!= 1)){
+            return Result::error("用户不存在", 0);
+        }
+        // 1:个人会员    职场机会
+        if($user['type_id'] == 1){
+            $where['user_id'] = $user['id'];
+        }
+        $recruitingId = JobResume::when($user['type_id'] == 1, function ($query) use ($user) {
+            $query->where('receiver_id', $user['id']);
+        })
+        ->pluck('recruit_id');
+        // return Result::success($recruitingId);
+        $where = [];
+        if(isset($data['salary']) && $data['salary']!=null){
+            $where['job_recruiting.salary'] = $data['salary'];
+        }
+        if(isset($data['experience']) && $data['experience']!=null){
+            $where['job_recruiting.experience'] = $data['experience'];   
+        }
+        if(isset($data['business_name']) && $data['business_name']!=null){
+            array_push($where, ['job_company.business_name', 'like', '%' . $data['business_name'] . '%']);
+        }
+        $query = JobRecruiting::whereIn('job_recruiting.id', $recruitingId)
+            ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
+            ->where($where);
+            // ->count();
+        $count = $query->count();
+        $query = clone $query;
+        $job = $query
+            ->leftJoin('job_enum as income_enum', function ($join) {
+                $join->on('job_recruiting.salary', '=', 'income_enum.evalue')
+                    ->where('income_enum.egroup', 'income');
+            })
+            ->leftJoin('job_enum as years_enum', function ($join) {
+                $join->on('job_recruiting.experience', '=', 'years_enum.evalue')
+                    ->where('years_enum.egroup', 'years');
+            })
+            // ->where($where)
+            ->orderBy('job_recruiting.updated_at', 'desc')
+            ->select('job_recruiting.id','job_recruiting.title', 'job_company.business_name', 
+            'income_enum.evalue as salary_evalue', 'income_enum.ename as salary_ename',
+             'years_enum.evalue as experience_evalue', 'years_enum.ename as experience_ename'
+             ,'job_recruiting.updated_at')
+            ->offset(($data['page'] - 1) * $data['pageSize'])
+            ->limit($data['pageSize'])
+            ->get()
+            ->all();
+       
+        if (empty($job)) {
+            return Result::error("暂无招聘信息", 0);
+        }
+        $result = [
+            'row' => $job,
+            'count' => $count,
+        ];
+        return Result::success($result);
     }
-    $result = [
-      'row' => $job,
-      'count' => $count,
-    ];
-    return Result::success($result);
-  }
-  /*
+    /*
     * 获取企业会员-招聘信息列表
     * */
   public function getRecruitingInfo(array $data): array