Browse Source

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

15313670163 6 ngày trước cách đây
mục cha
commit
0420d59a3a
1 tập tin đã thay đổi với 95 bổ sung86 xóa
  1. 95 86
      app/JsonRpc/NewsService.php

+ 95 - 86
app/JsonRpc/NewsService.php

@@ -1887,13 +1887,13 @@ class NewsService implements NewsServiceInterface
     {
         return $goods->map(function ($good) use ($data) {
             $catid = $good->catid ?? 0;
-        //     $pinyin = '';
+            //     $pinyin = '';
             $category = WebsiteCategory::where('category_id', $catid)->where('website_id', $data['website_id'])->first();
             if (!empty($category->pid) && $category->pid != 0) {
                 $level = json_decode($category->category_arr_id);
                 $pinyin = WebsiteCategory::where('website_id', $data['website_id'])
                     ->whereIn('category_id', $level)
-                    ->orderByRaw('FIELD(category_id, '. implode(',', $level). ')')
+                    ->orderByRaw('FIELD(category_id, ' . implode(',', $level) . ')')
                     ->get(['aLIas_pinyin'])
                     ->pluck('aLIas_pinyin')
                     ->implode('/');
@@ -1918,61 +1918,70 @@ class NewsService implements NewsServiceInterface
      *  */
     public function getWebsiteshop(array $data): array
     {
-        $input['id'] = $data['id']; 
-        $input['website_id'] = $data['website_id']; 
-        $catid = $data['catid']; 
-        $data = json_decode($input['id'] ?? '', true) ?? []; 
-        $result['goods'] = array_map(function ($item) use ($input) { 
+        $input['id'] = $data['id'];
+        $input['website_id'] = $data['website_id'];
+        $catid = $data['catid'];
+        $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). "') = 0") 
-                              ->orWhereRaw("JSON_CONTAINS(good.level, '\"". intval($Levelid). "\"') = 0"); 
-                        }); 
-                        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')
+            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) . "') = 0")
+                                ->orWhereRaw("JSON_CONTAINS(good.level, '\"" . intval($Levelid) . "\"') = 0");
+                        });
+                        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')
             ->orderBy('article.updated_at', 'desc')
             ->first();
         return Result::success($result);
@@ -1986,53 +1995,52 @@ class NewsService implements NewsServiceInterface
     {
         $website = $data['website_id'];
         $category = WebsiteCategory::where('website_id', $website)
-            ->whereRaw("JSON_CONTAINS(category_arr_id, '". intval($data['id']). "') = 1")
-            ->orWhereRaw("JSON_CONTAINS(category_arr_id, '\"". intval($data['id']). "\"') = 1")
-            ->select('category_id', 'alias','aLIas_pinyin','pid','category_arr_id')
+            ->whereRaw("JSON_CONTAINS(category_arr_id, '" . intval($data['id']) . "') = 1")
+            ->orWhereRaw("JSON_CONTAINS(category_arr_id, '\"" . intval($data['id']) . "\"') = 1")
+            ->select('category_id', 'alias', 'aLIas_pinyin', 'pid', 'category_arr_id')
             ->orderBy('sort')
             ->get();
-        
+
         $cat =  $category->map(function ($item) use ($website) {
-                $cat_arr_id = json_decode($item->category_arr_id, true) ?? [];
-                $pid = $item->pid?? 0;
-                if(!empty($cat_arr_id) && is_array($cat_arr_id) && $pid != 0){
-                    $pinyin = WebsiteCategory::whereIn('category_id', $cat_arr_id)
-                        ->where('website_id', $website)
-                        ->orderByRaw('FIELD(category_id, '. implode(',', $cat_arr_id). ')')
-                        ->get(['aLIas_pinyin'])
-                        ->pluck('aLIas_pinyin')
-                        ->implode('/');
-                }else{
-                    $pinyin = $item->aLIas_pinyin ?? '';
-                }
-                $item->pinyin = $pinyin;
-            })
-            ;
-        if(empty($category)){
+            $cat_arr_id = json_decode($item->category_arr_id, true) ?? [];
+            $pid = $item->pid ?? 0;
+            if (!empty($cat_arr_id) && is_array($cat_arr_id) && $pid != 0) {
+                $pinyin = WebsiteCategory::whereIn('category_id', $cat_arr_id)
+                    ->where('website_id', $website)
+                    ->orderByRaw('FIELD(category_id, ' . implode(',', $cat_arr_id) . ')')
+                    ->get(['aLIas_pinyin'])
+                    ->pluck('aLIas_pinyin')
+                    ->implode('/');
+            } else {
+                $pinyin = $item->aLIas_pinyin ?? '';
+            }
+            $item->pinyin = $pinyin;
+        });
+        if (empty($category)) {
             return Result::error("栏目查询失败", 0);
         }
         $cat_tree = Result::buildMenuTree($category);
         $web['website_id'] = $website;
         $goods = Good::where('website_id', $website)
             ->where('status', 2)
-            ->select('good.id as good_id', 'name','imgurl','description','updated_at','catid','type_id','website_id')
+            ->select('good.id as good_id', 'name', 'imgurl', 'description', 'updated_at', 'catid', 'type_id', 'website_id')
             ->latest('updated_at')
-            ->offset(($data['page']-1)*$data['pageSize'])
+            ->offset(($data['page'] - 1) * $data['pageSize'])
             ->limit($data['pageSize'])
             ->get();
-        
-        if($goods->isEmpty()){
+
+        if ($goods->isEmpty()) {
             return Result::error("商品查询失败", 0);
         }
-        if($goods->count() > 1){
+        if ($goods->count() > 1) {
             $goods = $this->processGoods($goods, $web);
-        }else{
+        } else {
             $catid = $goods[0]['catid'] ?? 0;
             $good_category = WebsiteCategory::where('category_id', $catid)->where('website_id', $data['website_id'])->first();
             if (!empty($good_category->pid) && $good_category->pid != 0) {
                 $level = json_decode($good_category->category_arr_id);
                 $pinyin = WebsiteCategory::whereIn('category_id', $level)
-                    ->orderByRaw('FIELD(category_id, '. implode(',', $level). ')')
+                    ->orderByRaw('FIELD(category_id, ' . implode(',', $level) . ')')
                     ->get(['aLIas_pinyin'])
                     ->pluck('aLIas_pinyin')
                     ->implode('/');
@@ -2046,8 +2054,8 @@ class NewsService implements NewsServiceInterface
             'goods' => $goods,
         ];
         // $resul['goods'] = $goods;
-        if(empty($result)){
-            return Result::error("查询失败", 0); 
+        if (empty($result)) {
+            return Result::error("查询失败", 0);
         }
         return Result::success($result);
     }
@@ -2138,7 +2146,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')
@@ -3255,6 +3263,7 @@ class NewsService implements NewsServiceInterface
             ->leftJoin('district', 'district.id', '=', 'job_hunting.city_id')
             ->leftJoin('job_enum', 'job_enum.evalue', '=', 'job_hunting.salary')
             ->leftJoin('user', 'job_hunting.user_id', '=', 'user.id')
+            //职位----是申请职位
             ->leftJoin('job_position', 'job_hunting.job_name_get', '=', 'job_position.zwid')
             ->select('job_apply.*', 'job_position.zwname as job_name', 'job_hunting.salary as salary', 'district.name as cityname', 'job_enum.ename as salary_name', 'user.nickname as nickname', 'user.user_name as username')
             ->orderBy("job_hunting.updated_at", "desc")