Răsfoiți Sursa

修改c端:获取商品列表的接口;初步定义c端企业的接口

15313670163 1 săptămână în urmă
părinte
comite
5e015a7ff4
2 a modificat fișierele cu 137 adăugiri și 71 ștergeri
  1. 122 71
      app/JsonRpc/NewsService.php
  2. 15 0
      app/JsonRpc/NewsServiceInterface.php

+ 122 - 71
app/JsonRpc/NewsService.php

@@ -1866,77 +1866,77 @@ class NewsService implements NewsServiceInterface
      * @param array $data
      * @return array
      *  */
-  public function getWebsiteshopList(array $data): array
-  {
-    // return Result::success($data);
-    $where = [
-      'status' => 2,
-      'website_id' => $data['website_id'],
-    ];
-    if ((empty($data['catid']) || !isset($data['catid'])) && (empty($data['keyword']) || !isset($data['keyword'])) && (empty($data['city_id']) || !isset($data['city_id']))) {
-      return Result::error("查询失败", 0);
-    }
-    if ((empty($data['catid']) || !isset($data['catid'])) && (!empty($data['city_id']) || isset($data['city_id']))) {
-      $category = WebsiteCategory::where('website_id', $data['website_id'])->where('pid', $data['id'])->orderBy('sort')->first(['category_id']);
-      $data['catid'] = $category->category_id ??  0;
-    }
-    if (isset($data['keyword']) && !empty($data['keyword'])) {
-      array_push($where, ['name', 'like', '%' . $data['keyword'] . '%']);
-    }
-    if (isset($data['type_id']) && !empty($data['type_id'])) {
-      array_push($where, ['type_id', $data['type_id']]);
-    }
-    $query = Good::where($where)
-      ->when(isset($data['catid']) && !empty($data['catid']), function ($query) use ($data) {
-        $query->where(function ($q) use ($data) {
-          $q->WhereRaw("JSON_CONTAINS(good.cat_arr_id, '" . intval($data['catid']) . "') = 1")
-            ->orWhereRaw("JSON_CONTAINS(good.cat_arr_id, '\"" . intval($data['catid']) . "\"') = 1");
-        });
-      })
-      ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
-        $query->where(function ($q) use ($data) {
-          $q->WhereRaw("JSON_CONTAINS(good.city_arr_id, '" . intval($data['city_id']) . "') = 1")
-            ->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.com',
-        'good.catid',
-        'good.type_id',
-        'good.website_id',
-        'good.cat_arr_id',
-        'good.created_at',
-        'good.city_id'
-      )
-      ->latest('updated_at');
-    $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);
-    }
+    public function getWebsiteshopList(array $data): array
+    {
+        // return Result::success($data);
+        $where = [
+            'status' => 2,
+            'website_id' => $data['website_id'],
+        ];
+        if((empty($data['catid']) ||!isset($data['catid'])) && (empty($data['keyword']) ||!isset($data['keyword'])) && (empty($data['city_id']) || !isset($data['city_id']))){
+            return Result::error("查询失败", 0);
+        }
+        if ((empty($data['catid']) || !isset($data['catid'])) && (!empty($data['city_id']) || isset($data['city_id']))) {
+            $category = WebsiteCategory::where('website_id', $data['website_id'])->where('pid',$data['id'])->orderBy('sort')->first(['category_id']);
+            $data['catid'] = $category->category_id ??  0;
+        }
+        if(isset($data['keyword']) &&!empty($data['keyword'])){
+           array_push($where, ['name', 'like', '%'. $data['keyword'].'%']);
+        }
+        if(isset($data['type_id']) && !empty($data['type_id'])){
+            array_push($where, ['type_id', $data['type_id']]);
+        }
+        $query = Good::where($where)
+            ->when(isset($data['catid']) &&!empty($data['catid']), function ($query) use ($data) {
+                $query->where(function($q) use ($data) {
+                    $q->WhereRaw("JSON_CONTAINS(good.cat_arr_id, '". intval($data['catid']). "') = 1")
+                    ->orWhereRaw("JSON_CONTAINS(good.cat_arr_id, '\"". intval($data['catid']). "\"') = 1");
+                });
+            })
+            ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
+                $query->where(function($q) use ($data) {
+                    $q->WhereRaw("JSON_CONTAINS(good.city_arr_id, '". intval($data['city_id']). "') = 1")
+                        ->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.com',
+            'good.catid','good.type_id','good.website_id','good.cat_arr_id','good.created_at','good.city_id')
+            ->latest('updated_at');
+            if(isset($data['ismix']) && $data['ismix'] == 1){
+                $result['count'] = $query->clone()->count();
+                $result['goods'] = $this->processGoods(
+                    $query->clone()
+                        ->offset(($data['page'] - 1) * $data['pageSize'])
+                        ->limit($data['pageSize'])
+                        ->get(),
+                    $data
+                );
+            }else{
+                $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);
   }
@@ -6086,4 +6086,55 @@ class NewsService implements NewsServiceInterface
             return Result::success($result);
         }
     }
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompany(array $data): array
+    {
+        $job = JobRecruiting::where('job_recruiting.website_id', $data['website_id'])
+            ->where('job_recruiting.status', 1)
+            ->where('job_recruiting.id', $data['id'])
+            ->leftJoin('job_company', 'job_recruiting.id', '=', 'job_company.job_id')
+            ->select('job_company.*')
+            ->first();
+        if(empty($job)){
+            return Result::error("暂无相关公司信息", 0);
+        }
+        return Result::success($job['company_id']);
+    }
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompanyInfo(array $data): array
+    {
+        $job = JobCompany::where('job_company.website_id', $data['website_id'])
+            ->where('job_company.status', 1)
+            ->where('job_company.id', $data['id'])
+            ->select('job_company.*')
+            ->first();
+        if(empty($job)){
+            return Result::error("暂无相关公司信息", 0);
+        }
+        return Result::success($job);
+    }
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompanyList(array $data): array
+    {
+        $job = JobCompany::where('job_company.website_id', $data['website_id'])
+            ->where('job_company.status', 1)
+            ->select('job_company.*')
+            ->get();
+        if(empty($job)){
+            return Result::error("暂无相关公司信息", 0);
+        }
+        return Result::success($job);
+    }
+
+
+
 }

+ 15 - 0
app/JsonRpc/NewsServiceInterface.php

@@ -396,6 +396,21 @@ interface NewsServiceInterface
      */
     public function getWebsiteTsbbDetail(array $data):array;
     public function getWebsiteLevelJob(array $data):array;
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompany(array $data):array;
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompanyInfo(array $data):array;
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteCompanyList(array $data):array;
 
     /**
      * 农网导航首页