$data['company_id'], 'platform' => $data['platform'], 'product_brand' => $data['product_brand'], 'product_name' => $data['product_name'], 'product_specs' => $data['product_specs'], 'store_scope' => $data['store_scope'] != '' ? 2 : 1, //店铺范围1=全部店铺 2=指定店铺 'company_scope' => $data['company_scope'] != '' ? 2 : 1, //公司范围1=全部公司 2=指定公司 'category_id' => $data['category_id'], 'specify_responsible_person' => $data['specify_responsible_person'], 'product_brand' => $data['product_brand'], 'insert_time' => time(), ]; $ViolationProduct_id = $this->insertGetId($insert_data); return $ViolationProduct_id; } /** * 连表查询商品关键字 * @author 唐远望 * @version 1.0 * @date 2026-03-31 */ public function product_keyword(){ return $this->hasMany(ViolationProductKeywordModel::class,'violation_product_id','id'); } /** * 写入数据 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * @param $data * @return bool */ public function addViolationProduct($data) { DB::beginTransaction(); try { $insert_data = [ 'company_id' => $data['company_id'], 'platform' => $data['platform'], 'product_name' => $data['product_name'], 'product_specs' => $data['product_specs'], 'store_scope' => $data['store_scope'] != '' ? 2 : 1, //店铺范围1=全部店铺 2=指定店铺 'company_scope' => $data['company_scope'] != '' ? 2 : 1, //公司范围1=全部公司 2=指定公司 'category_id' => $data['category_id'], 'specify_responsible_person' => $data['specify_responsible_person'], 'insert_time' => time(), ]; $ViolationProduct_id = $this->insertGetId($insert_data); if ($insert_data['company_scope'] == 2) { $ViolationProductCompanyModel = new ViolationProductCompanyModel(); $insert_company_data = []; $company_scope = explode(',', $data['company_scope']); foreach ($company_scope as $company_id) { $insert_company_data[] = [ 'violation_product_logid' => $ViolationProduct_id, 'company_id' => $company_id, ]; } $ViolationProductCompanyModel->insert($insert_company_data); } if ($data['platform'] != 0) { $ViolationProductPlatformModel = new ViolationProductPlatformModel(); $insert_platform_data = []; $platform_scope = explode(',', $data['platform']); foreach ($platform_scope as $platform_id) { $insert_platform_data[] = [ 'company_id' => $data['company_id'], 'product_id' => $ViolationProduct_id, 'platform_id' => $platform_id, ]; } $ViolationProductPlatformModel->insert($insert_platform_data); } // 如果存在采集配置的关键字 $product_keyword = $data['product_keyword']; if (trim($product_keyword) != '') { $ProductKeywordModel = new ViolationProductKeywordModel(); $product_keyword_data = explode(',', $product_keyword); $keyword_data = []; foreach ($product_keyword_data as $key => $value) { if (trim($value) == '') continue; $keyword_data[] = [ 'violation_product_id' => $ViolationProduct_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-03 * @param $data * @return bool */ public function editViolationProduct_content($ViolationProduct, $data) { DB::beginTransaction(); try { $ViolationProductCompanyModel = new ViolationProductCompanyModel(); $ViolationProductPlatformModel = new ViolationProductPlatformModel(); $store_scope = $data['store_scope'] != '' ? 2 : 1; //店铺范围1=全部店铺 2=指定店铺 $company_scope = $data['company_scope'] != '' ? 2 : 1; //公司范围1=全部公司 2=指定公司 $ViolationProduct->company_id = $data['company_id']; $ViolationProduct->platform = $data['platform']; $ViolationProduct->product_brand = $data['product_brand']; $ViolationProduct->product_name = $data['product_name']; $ViolationProduct->product_specs = $data['product_specs']; $ViolationProduct->store_scope = $store_scope; $ViolationProduct->company_scope = $company_scope; $ViolationProduct->category_id = $data['category_id']; $ViolationProduct->specify_responsible_person = $data['specify_responsible_person']; $ViolationProduct->update_time = time(); $ViolationProduct->save(); $violation_product_companycount = $ViolationProductCompanyModel->where('violation_product_logid', $ViolationProduct->id)->count(); if ($violation_product_companycount > 0) { $ViolationProductCompanyModel->where('violation_product_logid', $ViolationProduct->id)->delete(); } if ($company_scope == 2) { $insert_company_data = []; $company_scope = explode(',', $data['company_scope']); foreach ($company_scope as $company_id) { $insert_company_data[] = [ 'violation_product_logid' => $ViolationProduct->id, 'company_id' => $company_id, ]; } $ViolationProductCompanyModel->insert($insert_company_data); } $violation_product_platformcount = $ViolationProductPlatformModel->where('product_id', $ViolationProduct->id)->count(); if ($violation_product_platformcount > 0) { $ViolationProductPlatformModel->where('product_id', $ViolationProduct->id)->delete(); } if ($data['platform'] != 0) { $insert_platform_data = []; $platform_scope = explode(',', $data['platform']); foreach ($platform_scope as $platform_id) { $insert_platform_data[] = [ 'company_id' => $data['company_id'], 'product_id' => $ViolationProduct->id, 'platform_id' => $platform_id, ]; } $ViolationProductPlatformModel->insert($insert_platform_data); } // 如果存在采集配置的关键字 $product_keyword = $data['product_keyword']; if (trim($product_keyword) != '') { $ProductKeywordModel = new ViolationProductKeywordModel(); //查询是否配置了关键字,如果有则删除重新添加 $keyword_count = $ProductKeywordModel->where('violation_product_id', $ViolationProduct->id)->count(); if ($keyword_count > 0) { $ProductKeywordModel->where('violation_product_id', $ViolationProduct->id)->delete(); } $product_keyword_data = explode(',', $product_keyword); $keyword_data = []; foreach ($product_keyword_data as $key => $value) { if (trim($value) == '') continue; $keyword_data[] = [ 'violation_product_id' => $ViolationProduct->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-03 * @param $data * @return bool */ public function updateViolationProduct($where, $data) { DB::beginTransaction(); try { $this->editViolationProduct_content($where, $data); DB::commit(); return true; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } /** * 修改状态 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * @param $id * @param $status * @return bool */ public function changeStatus($ViolationProduct, $status) { $ViolationProduct->status = $status; $ViolationProduct->update_time = time(); $ViolationProduct->save(); return true; } /** * 删除数据 * @author 唐远望 * @version 1.0 * @date 2025-12-03 * @param $id * @return bool */ public function deleteViolationProduct($where) { $ViolationProduct = $this->where($where)->first(); if (!$ViolationProduct) { return false; } DB::beginTransaction(); try { $ViolationProductCompanyModel = new ViolationProductCompanyModel(); $company_id_log = $ViolationProductCompanyModel->where('violation_product_logid', $ViolationProduct->id)->get(); if (!empty($company_id_log)) { $ViolationProductCompanyModel->where('violation_product_logid', $ViolationProduct->id)->delete(); } $ViolationProduct->delete(); DB::commit(); return true; // 成功处理... } catch (\Exception $e) { DB::rollBack(); // 错误处理... return false; } } /** * 平台定义 * @author 唐远望 * @version 1.0 * @date 2025-12-31 */ public function platform_data() { $platform_data = [ '全部' => '0', '淘宝' => '1', '京东' => '2', '拼多多' => '3', '美团' => '4', '药师帮' => '5', '1药城' => '6', '药九九' => '7', '药易购' => '8', '药帮忙' => '9', '熊猫药药' => '10' ]; return $platform_data; } }