Explorar o código

[智价云] 商品名称规格列表

tangyuanwang hai 13 horas
pai
achega
bb9142b451

+ 55 - 0
app/Http/Controllers/Manager/Collect/Product.php

@@ -69,6 +69,61 @@ class Product extends Controller
         return        json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
     }
 
+     /**
+     * 商品名称规格列表
+     * @author    唐远望
+     * @version   1.0
+     * @date      2026-03-25
+     * 
+     */
+    public function product_name_specs_list(Request $request, ProductModel $ProductModel){
+
+        $request->scene('product_name_specs_list')->validate();
+        $admin_company_id = request('admin_company_id', '0');
+        $company_id = request('access_token.company_id', '0');
+        $is_admin = request('access_token.is_admin', '0');
+        // 查询条件
+        $map  = [];
+        $limit = request('limit', config('page_num', 10));
+        $status    = request('status', '');
+        $start_time = request('start_time', '');
+        $end_time = request('end_time', '');
+        $product_name = request('product_name', '');
+        $platform = request('platform', '');
+        // 时间条件
+        if ($start_time) $map[] = ['insert_time', '>=', strtotime($start_time)];
+        if ($end_time) $map[]   = ['insert_time', '<=', strtotime($end_time)];
+        // 其他条件
+        if (is_numeric($status)) $map[] = ['status', '=', $status];
+        if ($product_name) $map[] = ['product_name', 'like', "%$product_name%"];
+        if (is_numeric($platform) || $platform) $map[] = ['platform', 'like', "%$platform%"];
+        // 权限判断
+        if ($is_admin != 1 && $company_id != 0){
+             $map[] = ['company_id', '=', $company_id];
+        }else{
+            $map[] = ['company_id', '=', $admin_company_id];
+        }
+        // 查询数据
+        $result = $ProductModel->query()
+            ->where($map)
+            ->select(['id','product_name'])
+            ->distinct('product_name')
+            ->orderByDesc('id')->toarray();
+        // 分配数据
+        if (!$result)  return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => []]);
+        if (isset($result['data']) && count($result['data']) > 0) {
+            foreach ($result['data'] as $key => $value) {
+                $result['data'][$key]['platform'] = isset($value['platform']) ? explode(',', $value['platform']) : '';
+                $product_specs = isset($value['product_specs']) ?  explode(',', $value['product_specs']) : '';
+                //移除空数组
+                $result['data'][$key]['product_specs'] = $product_specs ? array_filter($product_specs):'';
+            }
+        }
+        // 加载模板
+        return        json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
+    }
+
+
     /**
      * 详情
      * @author    唐远望

+ 1 - 0
app/Http/Requests/Manager/Collect/Product.php

@@ -47,6 +47,7 @@ class Product extends BaseRequest
         'edit'                  => ['id','platform','product_name'],
         'set_status'              => ['id', 'status'],
         'delete'                  => ['id'],
+        'product_name_specs_list' => [],
     ];
 
     /**

+ 2 - 0
routes/manager.php

@@ -325,6 +325,8 @@ Route::any('collect/product/edit', [App\Http\Controllers\Manager\Collect\Product
 Route::any('collect/product/delete', [App\Http\Controllers\Manager\Collect\Product::class, 'delete']);
 //采集配置-商品管理-状态修改
 Route::any('collect/product/set_status', [App\Http\Controllers\Manager\Collect\Product::class,'set_status']);
+//采集配置-商品管理-商品名称规格列表
+Route::any('collect/product/product_name_specs_list', [App\Http\Controllers\Manager\Collect\Product::class, 'product_name_specs_list']);
 
 //外部-公司管理-列表
 Route::any('external/company/list', [App\Http\Controllers\Manager\External\Company::class, 'list']);