$data['enable_full_quantity'], 'platform' => $data['platform'], 'product_name' => $data['product_name'], 'product_specs' => $data['product_specs'], 'minimum_order_quantity' => $data['minimum_order_quantity'], 'sampling_cycle' => $data['sampling_cycle'], 'sampling_start_time' => $data['sampling_start_time'], 'sampling_end_time' => $data['sampling_end_time'], 'product_brand' => $data['product_brand'], 'insert_time' => time(), ]; $Product_id = $this->insertGetId($insert_data); return $Product_id; } /** * 连表查询商品关键字 * @author 唐远望 * @version 1.0 * @date 2026-03-31 */ public function product_keyword(){ return $this->hasMany(ProductKeywordModel::class,'collect_product_id','id'); } /** * 写入数据 * @author 唐远望 * @version 1.0 * @date 2025-12-30 * @param $data * @return bool */ public function addProduct($data) { DB::beginTransaction(); try { // 计算品规数量 $product_specs_data = isset($data['product_specs']) && $data['product_specs'] != '' ? explode(',', $data['product_specs']) : ''; //移除数组内空值 $product_specs_data = !empty($product_specs_data) ? array_filter($product_specs_data) : ''; $insert_data = [ 'enable_full_quantity' => $data['enable_full_quantity'], 'platform' => $data['platform'], 'product_brand' => $data['product_brand'], 'product_name' => $data['product_name'], 'product_specs' => $data['product_specs'], 'product_specs_number' => $data['product_specs'] ? count($product_specs_data) : 1, 'minimum_order_quantity' => $data['minimum_order_quantity'], 'sampling_cycle' => $data['sampling_cycle'], 'sampling_start_time' => $data['sampling_start_time'], 'sampling_end_time' => $data['sampling_end_time'], 'company_id' => $data['company_id'], 'insert_time' => time(), ]; $Product_id = $this->insertGetId($insert_data); // 如果存在采集配置的关键字 $product_keyword = $data['product_keyword']; if (trim($product_keyword) != '') { $ProductKeywordModel = new ProductKeywordModel(); $product_keyword_data = explode(',', $product_keyword); $keyword_data = []; foreach ($product_keyword_data as $key => $value) { if (trim($value) == '') continue; $keyword_data[] = [ 'collect_product_id' => $Product_id, 'keyword' => $value, ]; } $ProductKeywordModel->insert($keyword_data); } DB::commit(); return $Product_id; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } /** * 编辑内容 * @author 唐远望 * @version 1.0 * @date 2025-12-30 * @param $data * @return bool */ public function editProduct_content($Product, $data) { DB::beginTransaction(); try { // 计算品规数量 $product_specs_data = isset($data['product_specs']) && $data['product_specs'] != '' ? explode(',', $data['product_specs']) : ''; //移除数组内空值 $product_specs_data = !empty($product_specs_data) ? array_filter($product_specs_data) : ''; $Product->enable_full_quantity = $data['enable_full_quantity']; $Product->platform = $data['platform']; $Product->product_brand = $data['product_brand']; $Product->product_name = $data['product_name']; $Product->product_specs = $data['product_specs']; $Product->product_specs_number = $product_specs_data ? count($product_specs_data) : 1; $Product->minimum_order_quantity = $data['minimum_order_quantity']; $Product->sampling_cycle = $data['sampling_cycle']; $Product->sampling_start_time = $data['sampling_start_time']; $Product->sampling_end_time = $data['sampling_end_time']; $Product->update_time = time(); $Product->save(); // 如果存在采集配置的关键字 $product_keyword = $data['product_keyword']; if (trim($product_keyword) != '') { $ProductKeywordModel = new ProductKeywordModel(); //查询是否配置了关键字,如果有则删除重新添加 $keyword_count = $ProductKeywordModel->where('collect_product_id', $Product->id)->count(); if ($keyword_count > 0) { $ProductKeywordModel->where('collect_product_id', $Product->id)->delete(); } $product_keyword_data = explode(',', $product_keyword); $keyword_data = []; foreach ($product_keyword_data as $key => $value) { if (trim($value) == '') continue; $keyword_data[] = [ 'collect_product_id' => $Product->id, 'keyword' => $value, ]; } $ProductKeywordModel->insert($keyword_data); } DB::commit(); return true; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } /** * 更新数据 * @author 唐远望 * @version 1.0 * @date 2025-12-30 * @param $data * @return bool */ public function updateProduct($where, $data) { DB::beginTransaction(); try { $this->editProduct_content($where, $data); DB::commit(); return true; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } /** * 修改状态 * @author 唐远望 * @version 1.0 * @date 2025-12-30 * @param $id * @param $status * @return bool */ public function changeStatus($Product, $status) { $Product->status = $status; $Product->update_time = time(); $Product->save(); return true; } /** * 删除数据 * @author 唐远望 * @version 1.0 * @date 2025-12-30 * @param $id * @return bool */ public function deleteProduct($where) { $Product = $this->where($where)->first(); if (!$Product) { return false; } DB::beginTransaction(); try { $Product->delete(); DB::commit(); return true; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } }