Преглед на файлове

Merge branch 'master' of http://git.bjzxtw.org.cn:3000/zxt/news_producer

LiuJ преди 1 месец
родител
ревизия
94eec91ef2
променени са 1 файла, в които са добавени 183 реда и са изтрити 176 реда
  1. 183 176
      app/JsonRpc/NewsService.php

+ 183 - 176
app/JsonRpc/NewsService.php

@@ -3192,121 +3192,130 @@ class NewsService implements NewsServiceInterface
     if (empty($web)) {
       return Result::error("该网站不存在", 0);
     }
-    // 验证栏目路由
-    $last_category = WebsiteCategory::where('website_id', $data['website_id'])
-      ->where('aLIas_pinyin', $data['last_route'])
-      ->first();
-    if (empty($last_category)) {
-      return Result::error("该栏目不存在", 0);
-    }
-    if (isset($data['id']) && !empty($data['id'])) {
-      //   `type` int unsigned DEFAULT '1' COMMENT '类型:1资讯(默认)2商品3书刊音像4招聘5求职类型:1资讯(默认)2商品3书刊音像4招聘5求职6招工招聘'
-      switch ($last_category['type']) {
-        case 1:
-          // 文章
-          //   `status` int DEFAULT '1' COMMENT '状态: 2:已拒绝  ;1:已发布,0待发布 草稿箱 404删除(移除) 
-          $article = Article::where('status', 1)
-            ->where('id', $data['id'])
-            ->where(function ($query) use ($data) {
-              $query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
-                ->orWhereNull("ignore_ids");
-            })
-            ->first(['cat_arr_id']);
-          if (empty($article)) {
-            return Result::error("该文章不存在", 0);
-          }
-          // return Result::success($article);
-          break;
-        case 2:
-          // 商品
-          // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
-          $article = Good::where('website_id', $data['website_id'])
-            ->where('status', 2)
-            ->where('id', $data['id'])
-            ->first(['cat_arr_id']);
-          if (empty($article)) {
-            return Result::error("该商品不存在", 0);
+      if(isset($data['other_route']) && !empty($data['other_route'])) {
+          $whiteRouterInfo = WhiteRouter::whereJsonContains("website_id", $data['website_id'])->where('router_url', $data['other_route'])->first();
+          if (empty($whiteRouterInfo)) {
+              return Result::error("非法路径地址", 0);
+          }else{
+              return Result::success($whiteRouterInfo->toArray());
           }
-          break;
-        case 3:
-          // 书刊信息
-          // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
-          $article = Book::where('website_id', $data['website_id'])
-            ->where('status', 2)
-            ->where('id', $data['id'])
-            ->first(['id', 'cat_arr_id']);
-          if (empty($article)) {
-            return Result::error("该书刊不存在", 0);
-          }
-          break;
-        case 4:
-          // 招聘
-          //   `status` int DEFAULT '0' COMMENT '状态   0:待审核;1:已审核;(只有企业会员需要审核)',
-          $article = JobRecruiting::where('website_id', $data['website_id'])
-            ->where('status', 1)
-            ->where('id', $data['id'])
-            ->first(['cat_arr_id']);
-          if (empty($article)) {
-            return Result::error("该招聘不存在", 0);
+      } else {
+          // 验证栏目路由
+          $last_category = WebsiteCategory::where('website_id', $data['website_id'])
+              ->where('aLIas_pinyin', $data['last_route'])
+              ->first();
+          if (empty($last_category)) {
+              return Result::error("该栏目不存在", 0);
           }
-          break;
-        case 5:
-          // 求职
-          //   `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
-          $article = JobHunting::where('website_id', $data['website_id'])
-            ->where('status', 2)
-            ->where('id', $data['id'])
-            ->first(['cat_arr_id']);
-          if (empty($article)) {
-            return Result::error("该求职不存在", 0);
+          if (isset($data['id']) && !empty($data['id'])) {
+              //   `type` int unsigned DEFAULT '1' COMMENT '类型:1资讯(默认)2商品3书刊音像4招聘5求职类型:1资讯(默认)2商品3书刊音像4招聘5求职6招工招聘'
+              switch ($last_category['type']) {
+                  case 1:
+                      // 文章
+                      //   `status` int DEFAULT '1' COMMENT '状态: 2:已拒绝  ;1:已发布,0待发布 草稿箱 404删除(移除)
+                      $article = Article::where('status', 1)
+                          ->where('id', $data['id'])
+                          ->where(function ($query) use ($data) {
+                              $query->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0")
+                                  ->orWhereNull("ignore_ids");
+                          })
+                          ->first(['cat_arr_id']);
+                      if (empty($article)) {
+                          return Result::error("该文章不存在", 0);
+                      }
+                      // return Result::success($article);
+                      break;
+                  case 2:
+                      // 商品
+                      // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
+                      $article = Good::where('website_id', $data['website_id'])
+                          ->where('status', 2)
+                          ->where('id', $data['id'])
+                          ->first(['cat_arr_id']);
+                      if (empty($article)) {
+                          return Result::error("该商品不存在", 0);
+                      }
+                      break;
+                  case 3:
+                      // 书刊信息
+                      // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
+                      $article = Book::where('website_id', $data['website_id'])
+                          ->where('status', 2)
+                          ->where('id', $data['id'])
+                          ->first(['id', 'cat_arr_id']);
+                      if (empty($article)) {
+                          return Result::error("该书刊不存在", 0);
+                      }
+                      break;
+                  case 4:
+                      // 招聘
+                      //   `status` int DEFAULT '0' COMMENT '状态   0:待审核;1:已审核;(只有企业会员需要审核)',
+                      $article = JobRecruiting::where('website_id', $data['website_id'])
+                          ->where('status', 1)
+                          ->where('id', $data['id'])
+                          ->first(['cat_arr_id']);
+                      if (empty($article)) {
+                          return Result::error("该招聘不存在", 0);
+                      }
+                      break;
+                  case 5:
+                      // 求职
+                      //   `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
+                      $article = JobHunting::where('website_id', $data['website_id'])
+                          ->where('status', 2)
+                          ->where('id', $data['id'])
+                          ->first(['cat_arr_id']);
+                      if (empty($article)) {
+                          return Result::error("该求职不存在", 0);
+                      }
+                      break;
+                  case 6:
+                      // 招工招聘
+                      // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
+                      $article = JobRecruiting::where('website_id', $data['website_id'])
+                          ->where('status', 1)
+                          ->where('id', $data['id'])
+                          ->first(['cat_arr_id']);
+                      if (empty($article)) {
+                          $article = JobHunting::where('website_id', $data['website_id'])
+                              ->where('status', 2)
+                              ->where('id', $data['id'])
+                              ->first(['cat_arr_id']);
+                      }
+                      if (empty($article)) {
+                          return Result::error("该招工招聘不存在", 0);
+                      }
+                      break;
+                  default:
+                      return Result::error("该数据不存在", 0);
+                      break;
+              }
+              $catid = json_decode($article['cat_arr_id'], true);
+              if (empty($catid)) {
+                  return Result::error("该数据不存在", 0);
+              }
+              $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
+                  ->orderByRaw('FIELD(category_id, ' . implode(',', $catid) . ')')
+                  ->whereIn('category_id', $catid)
+                  ->pluck('aLIas_pinyin')
+                  ->implode('/');
           }
-          break;
-        case 6:
-          // 招工招聘
-          // `status` int DEFAULT '1' COMMENT '审核状态,1待审核2已审核3已拒绝',
-          $article = JobRecruiting::where('website_id', $data['website_id'])
-            ->where('status', 1)
-            ->where('id', $data['id'])
-            ->first(['cat_arr_id']);
-          if (empty($article)) {
-            $article = JobHunting::where('website_id', $data['website_id'])
-              ->where('status', 2)
-              ->where('id', $data['id'])
-              ->first(['cat_arr_id']);
+          if ($last_category['pid'] != 0) {
+              $cat_arr = json_decode($last_category['category_arr_id'], true);
+              $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
+                  ->orderByRaw('FIELD(category_id, ' . implode(',', $cat_arr) . ')')
+                  ->whereIn('category_id', $cat_arr)
+                  ->pluck('aLIas_pinyin')
+                  ->implode('/');
+          } else {
+              $pinyin = $last_category['aLIas_pinyin'];
           }
-          if (empty($article)) {
-            return Result::error("该招工招聘不存在", 0);
+          if (empty($pinyin) || $pinyin != $data['all_route']) {
+              return Result::error('非法路径!');
+          } else {
+              return Result::success($pinyin);
           }
-          break;
-        default:
-          return Result::error("该数据不存在", 0);
-          break;
       }
-      $catid = json_decode($article['cat_arr_id'], true);
-      if (empty($catid)) {
-        return Result::error("该数据不存在", 0);
-      }
-      $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
-        ->orderByRaw('FIELD(category_id, ' . implode(',', $catid) . ')')
-        ->whereIn('category_id', $catid)
-        ->pluck('aLIas_pinyin')
-        ->implode('/');
-    }
-    if ($last_category['pid'] != 0) {
-      $cat_arr = json_decode($last_category['category_arr_id'], true);
-      $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
-        ->orderByRaw('FIELD(category_id, ' . implode(',', $cat_arr) . ')')
-        ->whereIn('category_id', $cat_arr)
-        ->pluck('aLIas_pinyin')
-        ->implode('/');
-    } else {
-      $pinyin = $last_category['aLIas_pinyin'];
-    }
-    if (empty($pinyin) || $pinyin != $data['all_route']) {
-      return Result::error('非法路径!');
-    } else {
-      return Result::success($pinyin);
-    }
   }
   /**
    * 招工招聘  -  获取推荐职位
@@ -5034,73 +5043,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
@@ -5441,9 +5444,12 @@ class NewsService implements NewsServiceInterface
         'article.created_at',
         'category.name as category_name',
         'category.id as category_id',
+        'website_category.aLIas_pinyin as pinyin',
         DB::raw('100 as type')
       ])
       ->join('category', 'article.catid', '=', 'category.id')
+      ->leftJoin('website_category', 'website_category.category_id', '=', 'category.id')
+      ->where('website_category.website_id',$data['website_id'])
       ->where('article.status', 1)
       ->whereIn('category.id', $categoryIds)
       // ->whereRaw('article.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)')
@@ -5466,6 +5472,7 @@ class NewsService implements NewsServiceInterface
         return [
           'category_name' => $group->first()->category_name,
           'catid' => $group->first()->category_id,
+            'pinyin' => $group->first()->pinyin,
           'type' => 100,
           'list' => $group->take(6)->map(function ($item) {
             return [
@@ -5488,7 +5495,7 @@ class NewsService implements NewsServiceInterface
         'type' => 1
       ],
       'festivalList' => [
-        'category_name' => '节日',
+        'category_name' => '节日预告',
         'list' => $festivalList,
         'type' => 2
       ],