Bladeren bron

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

LiuJ 1 week geleden
bovenliggende
commit
caf8084313
2 gewijzigde bestanden met toevoegingen van 194 en 227 verwijderingen
  1. 189 226
      app/JsonRpc/NewsService.php
  2. 5 1
      app/JsonRpc/NewsServiceInterface.php

+ 189 - 226
app/JsonRpc/NewsService.php

@@ -13,9 +13,9 @@ use App\Model\JobCompany;
 use App\Model\Website;
 use App\Model\JobRecruiting;
 use App\Model\JobIndustry;
+use App\Model\Book;
 use App\Model\JobPosition;
 use App\Model\Notice;
-use App\Model\Book;
 use App\Model\JobNature;
 use App\Model\JobEnum;
 use App\Model\User;
@@ -219,16 +219,14 @@ class NewsService implements NewsServiceInterface
     public function categoryList(array $data): array
     {
         $where[] = [
-            'pid',
-            '=',
-            $data['pid'],
+            'pid','=',$data['pid']
         ];
-        if (isset($data['name'])) {
-            array_push($where, ['category.name', 'like', '%' . $data['name'] . '%']);
+        if(isset($data['name'])){
+            array_push($where, ['category.name','like','%'.$data['name'].'%']);
         }
         var_dump($where);
-        $result = Category::where($where)->select('category.*', 'category.id as category_id')->get();
-        if (empty($result)) {
+       $result =  Category::where($where)->select('category.*','category.id as category_id')->get();
+        if(empty($result)){
             return Result::error("没有栏目数据");
         }
         return Result::success($result);
@@ -719,6 +717,7 @@ class NewsService implements NewsServiceInterface
         }
     }
     /**
+     * 获取新闻详情
      * @param array $data
      * @return array
      */
@@ -740,7 +739,7 @@ class NewsService implements NewsServiceInterface
         }
     }
     /**
-     *  获取新闻
+     *  获取头条新闻
      * @param array $data
      * @return array
      */
@@ -749,7 +748,7 @@ class NewsService implements NewsServiceInterface
         // return Result::success($data['website_id']);
         $category = WebsiteCategory::where('website_id', $data['website_id'])->pluck('category_id');
         $category = array_values(array_unique($category->toArray()));
-
+       
         if ($category) {
             $placeid = isset($data['placeid']) && !empty($data['placeid']) ? $data['placeid'] - 1 : 0;
             $where = [
@@ -965,11 +964,11 @@ class NewsService implements NewsServiceInterface
     }
 
     /**
-     *获取新闻列表
+     *获取新闻列表 
      * @param array $data
      * @return array
      */
-    public function getWebsiteArticleList(array $data): array
+    public function getWebsiteArticleList(array $data): array 
     {
         // return Result::success($data);
         $where[] = ['status', '=', 1];
@@ -1404,8 +1403,7 @@ class NewsService implements NewsServiceInterface
                 'article.copyfrom',
                 'article.catid',
                 'article.department_arr_id',
-                'article.city_arr_id',
-            )
+                'article.city_arr_id',)
             ->orderBy("updated_at", "desc")
             ->offset(($data['page'] - 1) * $data['pageSize'])
             ->limit($data['pageSize'])
@@ -1439,12 +1437,9 @@ class NewsService implements NewsServiceInterface
      */
     public function getWebsiteCatidArticle(array $data): array
     {
-        // return Result::success($data);
         $where = [
-            // 'category.status' => 1,
             'website_category.category_id' => $data['catid'],
             'website_category.website_id' => $data['website_id'],
-            // 'article.status' => 1,
         ];
         // $category = WebsiteCategory::where($where);
         if (isset($data['child_catnum']) && !empty($data['child_catnum'])) {
@@ -1483,10 +1478,6 @@ class NewsService implements NewsServiceInterface
                             $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($data['website_id']) . "') = 0");
                         })->orWhereNull("ignore_ids");
                     })
-                    // ->where(function ($query) {
-                    //     $query->whereNull('imgurl')
-                    //         ->orWhere('imgurl', '');
-                    // })
                     ->select('*')
                     ->orderBy('updated_at', 'desc')
                     ->limit($data['child_textnum'])
@@ -1515,12 +1506,7 @@ class NewsService implements NewsServiceInterface
             $category['text'] = WebsiteCategory::where($where)
                 ->leftJoin('article', 'article.catid', 'website_category.category_id')
                 ->where('article.status', 1)
-
-                // ->where(function ($query) {
-                //     $query->whereNull('article.imgurl')
-                //           ->orWhere('article.imgurl', '');
-                // })
-                ->select('article.*', 'website_category.category_id', 'website_category.alias')
+                ->select('article.*','website_category.category_id','website_category.alias')
                 ->orderBy('article.updated_at', 'desc')
                 ->limit($data['text_num'])
                 ->get();
@@ -1924,64 +1910,55 @@ class NewsService implements NewsServiceInterface
         $data = json_decode($input['id'] ?? '', true) ?? [];
         $result['goods'] = array_map(function ($item) use ($input) {
             // 检查parent元素是否存在且不是undefined
-            if (isset($item['level']) && $item['level'] != 'undefined' && $item['level'] != "") {
-                list($Levelid, $goodStart, $goodNum) = explode(',', $item['level']);
-                $website = $input['website_id'];
-                $query = Good::where('good.status', 2)
-                    ->where('good.website_id', $website);
-                switch ($Levelid) {
-                    case 1:
-                    case 2:
-                    case 3:
-                        $goods = $query->where(function ($q) use ($Levelid) {
-                            $q->whereRaw("JSON_CONTAINS(good.level, '" . intval($Levelid) . "') = 1")
-                                ->orWhereRaw("JSON_CONTAINS(good.level, '\"" . intval($Levelid) . "\"') = 1");
-                        });
-                        break;
-                    case 4:
-                        $goods = $query;
-                        break;
-                    case 5:
-                        $goods = $query->where('type_id', 1);
-                        break;
-                    case 6:
-                        $goods = $query->where('type_id', 2);
-                        break;
-                    default:
-                        return [];
-                }
-                $all_goods = $goods
-                    ->select(
-                        'good.id',
-                        'good.name',
-                        'good.imgurl',
-                        'good.description',
-                        'good.updated_at',
-                        'good.catid',
-                        'good.type_id',
-                        'good.price',
-                        'good.level',
-                        'good.website_id'
-                    )
-                    ->orderBy('updated_at', 'desc')
-                    ->offset($goodStart)
-                    ->limit($goodNum)
-                    ->get();
-                $web['website_id'] = $website;
-                $all_goods = $this->processGoods($all_goods, $web);
+            if (isset($item['level']) && $item['level'] != 'undefined' && $item['level']!= "") { 
+                list($Levelid, $goodStart,$goodNum) = explode(',', $item['level']); 
+                $website = $input['website_id']; 
+                $query = Good::where('good.status', 2) 
+                    ->where('good.website_id', $website); 
+                switch ($Levelid) { 
+                    case 1: 
+                    case 2: 
+                    case 3: 
+                        $goods = $query->where(function($q) use ($Levelid) { 
+                            $q->whereRaw("JSON_CONTAINS(good.level, '". intval($Levelid). "') = 1") 
+                              ->orWhereRaw("JSON_CONTAINS(good.level, '\"". intval($Levelid). "\"') = 1"); 
+                        }); 
+                        break; 
+                    case 4: 
+                        $goods = $query; 
+                        break; 
+                    case 5: 
+                        $goods = $query->where('type_id',1); 
+                        break; 
+                    case 6: 
+                        $goods = $query->where('type_id',2); 
+                        break; 
+                    default: 
+                        return []; 
+                } 
+                $all_goods = $goods 
+                    ->select('good.id', 'good.name', 'good.imgurl', 'good.description', 
+                     'good.updated_at', 'good.catid','good.type_id','good.price','good.level', 
+                     'good.website_id') 
+                    ->orderBy('updated_at','desc') 
+                    ->offset($goodStart) 
+                    ->limit($goodNum) 
+                    ->get(); 
+                $web['website_id'] = $website; 
+                $all_goods = $this->processGoods($all_goods, $web); 
             }
-            return  $all_goods;
-        }, $data);
-        $website = $input['website_id'];
-        $result['article'] = Article::where(function ($query) use ($website) {
-            $query->where(function ($subQuery) use ($website) {
-                $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0");
-            })->orWhereNull("ignore_ids");
-        })
-            ->where('catid', $catid)
-            ->where('article.status', 1)
-            ->leftJoin('article_data', 'article_data.article_id', 'article.id')
-            ->select('article.id', 'article.title', 'article.updated_at', 'introduce', 'islink', 'linkurl', 'article_data.content')
+            return  $all_goods; 
+        }, $data); 
+        $website = $input['website_id']; 
+        $result['article'] = Article::where(function ($query) use ($website) { 
+                $query->where(function ($subQuery) use ($website) { 
+                    $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0"); 
+                })->orWhereNull("ignore_ids"); 
+            }) 
+            ->where('catid', $catid) 
+            ->where('article.status', 1) 
+            ->leftJoin('article_data', 'article_data.article_id', 'article.id') 
+            ->select('article.id', 'article.title', 'article.updated_at', 'introduce', 'islink', 'linkurl','article_data.content')
             ->orderBy('article.updated_at', 'desc')
             ->first();
         return Result::success($result);
@@ -2097,40 +2074,31 @@ class NewsService implements NewsServiceInterface
                         ->orWhereRaw("JSON_CONTAINS(good.city_arr_id, '\"" . intval($data['city_id']) . "\"') = 1");
                 });
             })
-            ->select(
-                'good.id',
-                'good.name',
-                'good.imgurl',
-                'good.description',
-                'good.updated_at',
-                'good.catid',
-                'good.type_id',
-                'good.website_id',
-                'good.cat_arr_id',
-                'good.created_at',
-                'good.city_id'
-            )
+            ->select('good.id', 'good.name', 'good.imgurl', 'good.description', 'good.updated_at', 'good.com',
+            'good.catid','good.type_id','good.website_id','good.cat_arr_id','good.created_at','good.city_id')
             ->latest('updated_at');
-        // 获取 type_id 为 1 的数据
-        $result['type1'] = $this->processGoods(
-            $query->clone()
-                ->where('type_id', 1)
-                ->offset(($data['page'] - 1) * $data['pageSize'])
-                ->limit($data['pageSize'])
-                ->get(),
-            $data
-        );
-        // 获取 type_id 为 2 的数据
-        $result['type2'] = $this->processGoods(
-            $query->clone()
-                ->where('type_id', 2)
-                ->offset(($data['page'] - 1) * $data['pageSize'])
-                ->limit($data['pageSize'])
-                ->get(),
-            $data
-        );
-        if (empty($result)) {
-            return Result::error("查询失败", 0);
+            $result['type1_count'] = $query->clone()->where('type_id', 1)->count();
+            // 获取 type_id 为 1 的数据
+            $result['type1'] = $this->processGoods(
+                $query->clone()
+                    ->where('type_id', 1)
+                    ->offset(($data['page'] - 1) * $data['pageSize'])
+                    ->limit($data['pageSize'])
+                    ->get(),
+                $data
+            );
+            $result['type2_count'] = $query->clone()->where('type_id', 2)->count();
+            // 获取 type_id 为 2 的数据
+            $result['type2'] = $this->processGoods(
+                $query->clone()
+                    ->where('type_id', 2)
+                    ->offset(($data['page'] - 1) * $data['pageSize'])
+                    ->limit($data['pageSize'])
+                    ->get(),
+                $data
+            );
+        if(empty($result)){
+            return Result::error("查询失败", 0); 
         }
 
         return Result::success($result);
@@ -2146,7 +2114,7 @@ class NewsService implements NewsServiceInterface
             'good.status' => 2,
             'good.website_id' => $data['website_id'],
             'good.id' => $data['id'],
-        ];
+        ]; 
         $goods = Good::where($where)
             ->where('good.id', $data['id'])
             ->leftJoin('website_category', 'website_category.category_id', 'good.catid')
@@ -2188,8 +2156,7 @@ class NewsService implements NewsServiceInterface
         });
     }
     // 封装处理由问题
-    function processJob($job, $data)
-    {
+    function processJob($job, $data) {
         return $job->map(function ($job) use ($data) {
             $category = $job->cat_arr_id ?? '';
             $cityid = $job->city_arr_id ?? '';
@@ -2222,35 +2189,35 @@ class NewsService implements NewsServiceInterface
                 }
             }
             // 获取简历最后一级地区
-            if (isset($job->city_id) && !empty($job->city_id)) {
+            if(isset($job->city_id) &&!empty($job->city_id)){
                 $city = District::where('id', $job->city_id)->first(['name']);
-                $job->hunt_cityname = $city->name ?? '';
+                $job->hunt_cityname = $city->name?? '';
             }
             // 组合详细地址
-            if (isset($job->address_arr_id) && !empty($job->address_arr_id)) {
+            if(isset($job->address_arr_id) && !empty($job->address_arr_id)){
                 $address_id = json_decode($job->address_arr_id, true) ?? [];
-                if (is_array($address_id) && !empty($address_id)) {
+                if(is_array($address_id) && !empty($address_id)){
                     $address = District::whereIn('id', $address_id)
-                        ->orderBy('level', 'asc')
-                        ->get(['name'])
-                        ->pluck('name')
-                        ->implode('');
+                    ->orderBy('level', 'asc')
+                    ->get(['name'])
+                    ->pluck('name')
+                    ->implode('');
                     // $job->address_name = $address ?? '';
                     $job->address_name = ($address ?? '') . ($job->address ?? '');
                 }
             }
             // 取行业
-            if (!empty($job->hy_id) || !empty($job->industry) || !empty($job->company_hy_id)) {
+            if(!empty($job->hy_id) || !empty($job->industry) || !empty($job->company_hy_id)){
                 $hy_name = JobIndustry::when($job, function ($query) use ($job) {
-                    if (!empty($job->industry)) {
+                    if(!empty($job->industry)){
                         $query->where('hyid', $job->industry);
-                    } else if (!empty($job->hy_id)) {
+                    }else if(!empty($job->hy_id)){
                         $query->where('hyid', $job->hy_id);
-                    } else {
+                    }else{
                         $query->where('hyid', $job->company_hy_id);
                     }
                 })->first(['hyname']);
-                $job->hy_name = $hy_name->hyname ?? '';
+                $job->hy_name = $hy_name->hyname?? '';
             }
             // 取职位
             if ((isset($job->zw_id) && !empty($job->zw_id)) || (isset($job->job) && !empty($job->job))) {
@@ -2440,12 +2407,11 @@ class NewsService implements NewsServiceInterface
                                 'book.cat_id',
                                 'book.description',
                                 'book.updated_at',
-                                DB::raw("'$child_pinyin' as pinyin")
-                            )
+                                DB::raw("'$child_pinyin' as pinyin"))
                             ->orderBy('updated_at', 'desc')
                             ->limit($childImgNum)
                             ->get()->all();
-                        // 查询子栏目文字新闻
+                            // 查询子栏目文字新闻
                         $childTextArticles = Book::where('cat_id', $childCatId)
                             ->where('status', 2)
                             ->leftJoin('website_category', function ($join) use ($website) {
@@ -2462,8 +2428,7 @@ class NewsService implements NewsServiceInterface
                                 'book.cat_id',
                                 'book.description',
                                 'book.updated_at',
-                                DB::raw("'$child_pinyin' as pinyin")
-                            )
+                                DB::raw("'$child_pinyin' as pinyin"))
                             ->orderBy('updated_at', 'desc')
                             ->limit($childTextNum)
                             ->get()->all();
@@ -2504,16 +2469,8 @@ class NewsService implements NewsServiceInterface
         $categorys = WebsiteCategory::where('website_id', $data['website_id'])
             ->where('pid', $category['pid'])
             ->select(
-                'category_id',
-                'alias',
-                'aLIas_pinyin',
-                'pid',
-                'sort',
-                'is_url',
-                'web_url',
-                'seo_title',
-                'seo_keywords',
-                'seo_description',
+                'category_id','alias','aLIas_pinyin','pid','sort','is_url','web_url',
+                'seo_title','seo_keywords','seo_description',
                 DB::raw("CONCAT('$parent_pinyin', '/', aLIas_pinyin) as pinyin")
             )
             ->orderBy('sort')
@@ -2538,13 +2495,13 @@ class NewsService implements NewsServiceInterface
         $query = clone $query;
         $Book = $query
             ->limit($data['pageSize'])
-            ->offset(($data['page'] - 1) * $data['pageSize'])
+            ->offset(($data['page']-1)*$data['pageSize'])
             ->get()->all();
-
+        
         $result = [
             'category' => $categorys,
             'books' => $Book,
-            'count' => $count,
+            'count' =>$count,
         ];
         // if(empty($result)){
         //     return Result::error("查询失败", 0);
@@ -2558,8 +2515,8 @@ class NewsService implements NewsServiceInterface
      *  */
     public function getWebsiteBookInfo(array $data): array
     {
-        $web = Website::where('id', $data['website_id'])->first(['id', 'website_name']);
-        if (empty($web)) {
+        $web = Website::where('id', $data['website_id'])->first(['id','website_name']);
+        if(empty($web)){
             return Result::error("查询失败", 0);
         }
         $book = Book::where('status', 2)
@@ -2588,15 +2545,7 @@ class NewsService implements NewsServiceInterface
             }
         }
         $categorys = $query->where('pid', $pid)
-            ->select(
-                'category_id',
-                'alias',
-                'aLIas_pinyin',
-                'pid',
-                'sort',
-                'is_url',
-                'web_url',
-                'category_arr_id as cat_arr_id',
+            ->select('category_id','alias','aLIas_pinyin','pid','sort','is_url','web_url','category_arr_id as cat_arr_id',
             )
             ->orderBy('sort')
             ->get();
@@ -2607,7 +2556,7 @@ class NewsService implements NewsServiceInterface
         ];
         return Result::success($result);
     }
-    /**
+     /**
      * 尝试
      * @param array $data
      * @return array
@@ -2616,7 +2565,7 @@ class NewsService implements NewsServiceInterface
     {
         $input['id'] = $data['id'];
         $input['website_id'] = $data['website_id'];
-        // 将 JSON 字符串转换为 PHP 数组
+            // 将 JSON 字符串转换为 PHP 数组
         $data = json_decode($input['id'], true);
         $result = [];
         $article = $data;
@@ -2690,15 +2639,8 @@ class NewsService implements NewsServiceInterface
                     $q->WhereRaw("JSON_CONTAINS(job_hunting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
                 });
             })
-            ->select(
-                'job_hunting.id',
-                'job_hunting.cat_arr_id',
-                'job_hunting.job',
-                'job_hunting.industry',
-                'job_hunting.city_arr_id',
-                'job_hunting.experience',
-                'job_hunting.updated_at'
-            )
+            ->select('job_hunting.id','job_hunting.cat_arr_id','job_hunting.job','job_hunting.industry',
+            'job_hunting.city_arr_id','job_hunting.experience','job_hunting.updated_at','job_hunting.salary')
             ->orderBy('updated_at', 'desc')
             ->limit($data['job1_num'])
             ->get();
@@ -2708,6 +2650,7 @@ class NewsService implements NewsServiceInterface
         } else {
             $job_huntings = $this->processJob($job_hunting, $web);
         }
+        // 0:待审核 1:已通过 2:已拒绝 
         $job_recruiting = JobRecruiting::where('job_recruiting.status', 1)
             ->where('job_recruiting.website_id', $data['website_id'])
             ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
@@ -2716,19 +2659,10 @@ class NewsService implements NewsServiceInterface
                 });
             })
             ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
-            ->select(
-                'job_recruiting.id',
-                'job_recruiting.cat_arr_id',
-                'job_recruiting.title',
-                'job_recruiting.jtzw_id',
-                'job_recruiting.hy_id',
-                'job_recruiting.city_arr_id',
-                'job_recruiting.due_data',
-                'job_recruiting.updated_at',
-                'job_recruiting.experience',
-                'job_recruiting.educational',
-                'job_company.business_name',
-            )
+            ->select('job_recruiting.id','job_recruiting.cat_arr_id','job_recruiting.title',
+            'job_recruiting.jtzw_id','job_recruiting.hy_id','job_recruiting.city_arr_id',
+            'job_recruiting.due_data','job_recruiting.updated_at','job_recruiting.experience',
+            'job_recruiting.educational','job_recruiting.salary','job_recruiting.zw_id','job_company.business_name')
             ->orderBy('updated_at', 'desc')
             ->limit($data['job2_num'])
             ->get();
@@ -2771,7 +2705,8 @@ class NewsService implements NewsServiceInterface
         if (isset($data['jtzw_id']) && !empty($data['jtzw_id'])) {
             array_push($where, ['jtzw_id', $data['jtzw_id']]);
         }
-        $query = JobRecruiting::where('job_recruiting.status', 1)
+        if((isset($data['type']) && $data['type'] == 1) || !isset($data['type'])){
+            $query = JobRecruiting::where('job_recruiting.status', 1)
             ->where('job_recruiting.website_id', $data['website_id'])
             ->where($where)
             ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
@@ -2779,36 +2714,30 @@ class NewsService implements NewsServiceInterface
                     $q->WhereRaw("JSON_CONTAINS(job_recruiting.city_arr_id, '" . intval($data['city_id']) . "') = 1");
                 });
             })
-            ->when(isset($data['catid_id']) && !empty($data['catid_id']), function ($query) use ($data) {
-                $query->where(function ($q) use ($data) {
-                    $q->WhereRaw("JSON_CONTAINS(job_recruiting.cat_arr_id, '" . intval($data['catid_id']) . "') = 1");
+            ->when(isset($data['catid']) &&!empty($data['catid']), function ($query) use ($data) {
+                $query->where(function($q) use ($data) {
+                    $q->WhereRaw("JSON_CONTAINS(job_recruiting.cat_arr_id, '". intval($data['catid']). "') = 1");
                 });
             })
             ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
-            ->select(
-                'job_recruiting.id',
-                'job_recruiting.hy_id',
-                'job_recruiting.title',
-                'job_recruiting.zw_id',
-                'job_recruiting.jtzw_id',
-                'job_recruiting.city_arr_id',
-                'job_recruiting.due_data',
-                'job_recruiting.cat_arr_id',
-                'job_recruiting.updated_at'
-            )
+            ->select('job_recruiting.id','job_recruiting.hy_id','job_recruiting.title','job_recruiting.zw_id',
+            'job_recruiting.jtzw_id','job_recruiting.city_arr_id','job_recruiting.due_data',
+            'job_recruiting.cat_arr_id','job_recruiting.updated_at')
             ->orderBy('updated_at', 'desc');
-        $recruit_count = $query->count();
-        $query = clone $query;
-        $JobRecruiting = $query
-            ->offset(($data['page'] - 1) * $data['pageSize'])
-            ->limit($data['pageSize'])
-            ->get();
-        if (empty($JobRecruiting)) {
-            $JobRecruiting = "暂无相关职位信息";
-        } else {
-            $JobRecruiting = $this->processJob($JobRecruiting, $website_id);
+            $recruit_count = $query->count();
+            $query = clone $query;
+            $JobRecruiting = $query
+                ->offset(($data['page']-1)*$data['pageSize'])
+                ->limit($data['pageSize'])
+                ->get();
+            if(empty($JobRecruiting)){
+                $JobRecruiting = "暂无相关职位信息";
+            }else{
+                $JobRecruiting = $this->processJob($JobRecruiting, $website_id);
+            }
         }
-        $query = JobHunting::where('status', 2)
+        if((isset($data['type']) && $data['type'] == 2) || !isset($data['type'])){
+            $query = JobHunting::where('status', 2)
             ->where('job_hunting.website_id', $data['website_id'])
             ->where($where)
             ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
@@ -2823,22 +2752,26 @@ class NewsService implements NewsServiceInterface
             })
             ->select('id', 'sexy', 'experience', 'origin', 'industry', 'name', 'job', 'job_name_get', 'city_arr_id', 'cat_arr_id', 'created_at', 'updated_at')
             ->orderBy('updated_at', 'desc');
-        $hunt_count = $query->count();
-        $query = clone $query;
-        $JobHunting = $query
-            ->offset(($data['page'] - 1) * $data['pageSize'])
-            ->limit($data['pageSize'])
-            ->get();
-        if (empty($JobHunting)) {
-            $JobRecruiting = "暂无相关简历信息";
-        } else {
-            $JobHunting = $this->processJob($JobHunting, $website_id);
+            $hunt_count = $query->count();
+            $query = clone $query;
+            $JobHunting = $query
+                ->offset(($data['page']-1)*$data['pageSize'])
+                ->limit($data['pageSize'])
+                ->get();
+            if(empty($JobHunting)){
+                $JobRecruiting = "暂无相关简历信息";
+            }else{
+                $JobHunting = $this->processJob($JobHunting, $website_id);
+            }
         }
+
+
+        
         $result = [
-            'JobRecruiting' => $JobRecruiting,
-            'recruit_count' => $recruit_count,
-            'JobHunting' => $JobHunting,
-            'hunt_count' => $hunt_count,
+            'JobRecruiting' => $JobRecruiting ?? [],
+            'recruit_count' =>$recruit_count ?? 0,
+            'JobHunting' => $JobHunting ?? [],
+            'hunt_count' =>$hunt_count ?? 0,
         ];
         return Result::success($result);
     }
@@ -3032,6 +2965,36 @@ class NewsService implements NewsServiceInterface
         }
         return Result::success($result);
     }
+    /**
+     * 招工招聘  -我的职位(企业会员)
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteJobRecruiting(array $data): array
+    {
+        $web = Website::where('id', $data['website_id'])->first('id');
+        if(empty($web)){
+            return Result::error("该网站不存在", 0);
+        }
+        $user = User::where('id', $data['user_id'])->first(['id','type_id']);
+        if(empty($user) || ($user['type_id']!= 3 && $user['type_id']!= 10000)){
+            return Result::error("用户暂无权限!", 0);
+        }
+        // '状态   0:待审核;1:已审核通过;(只有企业会员需要审核);2:已拒绝;
+        $result = JobRecruiting::where('website_id', $data['website_id'])
+            ->when(isset($user['type_id']) && $user['type_id']== 3, function ($query) use ($user) {
+                $query->where('user_id', $user['id']);
+            })
+            ->where('status', 1)
+            ->select('id','title','website_id','user_id','updated_at')
+            ->orderBy('updated_at', 'desc')
+            ->limit($data['pageSize'])
+            ->get();
+        if(empty($result)){
+            return Result::error("暂无相关职位信息", 0);
+        }
+        return Result::success($result);
+    }
     /**
      * 验证导航名称是否重复
      * @return void

+ 5 - 1
app/JsonRpc/NewsServiceInterface.php

@@ -363,6 +363,10 @@ interface NewsServiceInterface
      * @param array $data
      * @return array
      */
-    public function test(array $data): array;
     public function myApplyList(array $data): array;
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteJobRecruiting(array $data):array;
 }