AI 1 개월 전
부모
커밋
53a705620f
2개의 변경된 파일48개의 추가작업 그리고 15개의 파일을 삭제
  1. 45 14
      app/JsonRpc/NewsService.php
  2. 3 1
      app/Model/Good.php

+ 45 - 14
app/JsonRpc/NewsService.php

@@ -569,30 +569,46 @@ class NewsService implements NewsServiceInterface
         //名称
         if (isset($data['name']) && $data['name']) {
             $where = [
-                'name' => $data['name'],
+                'good.name' => $data['name'],
             ];
         }
+        $where1 = [];
         //website_id
-        if (isset($data['website_id']) && $data['website_id']) {
-            $where = [
-                'website_id' => $data['website_id'],
-            ];
+        // if (isset($data['website_id']) && $data['website_id']) {
+        //     $where1 = [
+        //         'good.website_id', 'like', '%' . $data['website_id'] . '%',
+        //     ];
+        // }
+        // website_name
+        if (isset($data['website_name']) && $data['website_name']) {
+            $where1[] = ['website.website_name', 'like', '%' . $data['website_name'] . '%'];
         }
-        //catid
-        if (isset($data['catid']) && $data['catid']) {
-            $where = [
-                'catid' => $data['catid'],
-            ];
+
+        // catid
+        if (isset($data['category_name']) && $data['category_name']) {
+            $where1[] = ['category.name', 'like', '%' . $data['category_name'] . '%'];
         }
 
         // $result = Good::where($where)
         // ->orderBy("updated_at", "desc")->paginate($data['pige_size'], ['*'], 'page', $data['page']);
         $result = Good::where($where)
-            ->orderBy("updated_at", "desc")
+            ->when(!empty($where1), function ($query) use ($where1) {
+                return $query->where($where1);
+            })
+            ->leftJoin('district', 'good.city_id', '=', 'district.id')
+            ->leftJoin('website', 'good.website_id', '=', 'website.id')
+            ->leftJoin('category', 'good.catid', '=', 'category.id')
+            ->select('good.*', 'district.name as cityname', 'website.website_name as website_name', 'category.name as category_name')
+            ->orderBy("id", "desc")
             ->limit($data['page_size'])
             ->offset(($data['page'] - 1) * $data['page_size'])
             ->get();
-        $count = Good::where($where)->count();
+        $count = Good::where($where)
+            ->leftJoin('district', 'good.city_id', '=', 'district.id')
+            ->leftJoin('website', 'good.website_id', '=', 'website.id')
+            ->leftJoin('category', 'good.catid', '=', 'category.id')
+            ->select('good.*', 'district.name as cityname', 'website.website_name as website_name', 'category.name as category_name')
+            ->orderBy("updated_at", "desc")->count();
         $data = [
             'rows' => $result->toArray(),
             'count' => $count,
@@ -613,8 +629,15 @@ class NewsService implements NewsServiceInterface
     }
     public function addGood(array $data): array
     {
-
-        $result = Good::create($data);
+        // unset($data['city_arr_id']);
+        // unset($data['cat_arr_id']);
+        $data['city_id'] = end($data['city_arr_id']);
+        $data['catid'] = end($data['cat_arr_id']);
+        $data['city_arr_id'] = isset($data['city_arr_id']) ? json_encode($data['city_arr_id']) : '';
+        $data['cat_arr_id'] = isset($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
+        $data['imgurl'] = isset($data['imgurl']) ? json_encode($data['imgurl']) : '';
+        unset($data['imgUrl']);
+        $result = Good::insert($data);
         if (empty($result)) {
             return Result::error("添加失败", 0);
         }
@@ -622,6 +645,14 @@ class NewsService implements NewsServiceInterface
     }
     public function updateGood(array $data): array
     {
+        $data['city_id'] = end($data['city_arr_id']);
+        $data['catid'] = end($data['cat_arr_id']);
+        $data['city_arr_id'] = isset($data['city_arr_id']) ? json_encode($data['city_arr_id']) : '';
+        $data['cat_arr_id'] = isset($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
+        $data['imgurl'] = isset($data['imgurl']) ? json_encode($data['imgurl']) : '';
+        //设置东八区
+        date_default_timezone_set('Asia/Shanghai');
+        $data['updated_at'] = date('Y-m-d H:i:s');
         $result = Good::where('id', $data['id'])->update($data);
         if (empty($result)) {
             return Result::error("更新失败", 0);

+ 3 - 1
app/Model/Good.php

@@ -18,10 +18,12 @@ class Good extends Model
     /**
      * The attributes that are mass assignable.
      */
-    protected array $fillable = [];
+    // protected array $fillable = [];
 
     /**
      * The attributes that should be cast to native types.
      */
     protected array $casts = [];
+
+    protected array $guarded = [];
 }