Преглед изворни кода

[智价云] 采集&清洗增加商品品牌以及关键字

tangyuanwang пре 1 дан
родитељ
комит
37afb339f2

+ 42 - 33
app/Http/Controllers/Manager/Collect/Product.php

@@ -45,9 +45,9 @@ class Product extends Controller
         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{
+        if ($is_admin != 1 && $company_id != 0) {
+            $map[] = ['company_id', '=', $company_id];
+        } else {
             $map[] = ['company_id', '=', $admin_company_id];
         }
         // 查询数据
@@ -62,21 +62,22 @@ class Product extends Controller
                 $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):'';
+                $result['data'][$key]['product_specs'] = $product_specs ? array_filter($product_specs) : '';
             }
         }
         // 加载模板
         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){
+    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');
@@ -96,15 +97,15 @@ class Product extends Controller
         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{
+        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','product_specs'])
+            ->select(['id', 'product_name', 'product_specs'])
             ->distinct('product_name')
             ->orderByDesc('id')->get()->toarray();
         // 分配数据
@@ -113,7 +114,7 @@ class Product extends Controller
             foreach ($result as $key => $value) {
                 $product_specs = isset($value['product_specs']) ?  explode(',', $value['product_specs']) : '';
                 //移除空数组
-                $result[$key]['product_specs'] = $product_specs ? array_filter($product_specs):'';
+                $result[$key]['product_specs'] = $product_specs ? array_filter($product_specs) : '';
             }
         }
         // 加载模板
@@ -148,7 +149,7 @@ class Product extends Controller
         $data->platform = isset($data->platform) ? explode(',', $data->platform) : '';
         $product_specs = isset($data->product_specs) ?  explode(',', $data->product_specs) : '';
         //移除空数组
-        $data->product_specs = $product_specs ? array_filter($product_specs):'';
+        $data->product_specs = $product_specs ? array_filter($product_specs) : '';
         // 加载模板
         return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]);
     }
@@ -165,7 +166,7 @@ class Product extends Controller
         $request->scene('add')->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');//是否管理员操作 0=是1=否
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         //商品启用数量
         // $product_count = $ProductModel->where('status', 0)->count();
         //判断是否超过限制
@@ -174,10 +175,14 @@ class Product extends Controller
         // }
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         //采集信息配置
-        $enable_full_quantity = request('enable_full_quantity', 1);//全量,0启用,1禁用
+        $enable_full_quantity = request('enable_full_quantity', 1); //全量,0启用,1禁用
         $all_data['enable_full_quantity'] = $enable_full_quantity;
-        if($enable_full_quantity == 1 && !isset($all_data['product_specs'])){
+        if ($enable_full_quantity == 1 && !isset($all_data['product_specs'])) {
             return json_send(['code' => 'error', 'msg' => '非全量采集时,商品规格不能为空']);
         }
         $minimum_order_quantity = request('minimum_order_quantity', 1);
@@ -209,7 +214,7 @@ class Product extends Controller
         $admin_id   = request('access_token.uid', 0); //用户ID
         $table_name = $ProductModel->getTable();
         $notes_type = 1; //操作类型,1添加,2修改,3=删除
-        $this->addAdminHistory('采集配置-商品管理',$company_id, $admin_id, $is_admin, $table_name, $notes_type, [], $all_data, '新增了商品' . $all_data['product_name'] . '信息');
+        $this->addAdminHistory('采集配置-商品管理', $company_id, $admin_id, $is_admin, $table_name, $notes_type, [], $all_data, '新增了商品' . $all_data['product_name'] . '信息');
         // 告知结果
         return json_send(['code' => 'success', 'msg' => '新增成功']);
     }
@@ -226,15 +231,19 @@ class Product extends Controller
         $request->scene('edit')->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');//是否管理员操作 0=是1=否
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         // 接收参数
         $id         = request('id', 0);
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         //采集信息配置
-        $enable_full_quantity = request('enable_full_quantity', 1);//全量,0启用,1禁用
+        $enable_full_quantity = request('enable_full_quantity', 1); //全量,0启用,1禁用
         $all_data['enable_full_quantity'] = $enable_full_quantity;
-        if($enable_full_quantity == 1 && !isset($all_data['product_specs'])){
+        if ($enable_full_quantity == 1 && !isset($all_data['product_specs'])) {
             return json_send(['code' => 'error', 'msg' => '非全量采集时,商品规格不能为空']);
         }
         $minimum_order_quantity = request('minimum_order_quantity', 1);
@@ -259,9 +268,9 @@ class Product extends Controller
         // 更新数据表
         $where = ['id' => $id];
         // 权限判断
-        if ($is_admin != 1 && $company_id != 0){
-             $where['company_id'] = $company_id;
-        }else{
+        if ($is_admin != 1 && $company_id != 0) {
+            $where['company_id'] = $company_id;
+        } else {
             $where['company_id'] = $admin_company_id;
         }
         $Product = $ProductModel->where($where)->first();
@@ -274,7 +283,7 @@ class Product extends Controller
         $admin_id   = request('access_token.uid', 0); //用户ID
         $table_name = $ProductModel->getTable();
         $notes_type = 2; //操作类型,1添加,2修改,3=删除
-        $this->addAdminHistory('采集配置-商品管理',$company_id, $admin_id, $is_admin, $table_name, $notes_type, $oldData, $all_data, '修改了商品' . $oldData['product_name'] . '信息');
+        $this->addAdminHistory('采集配置-商品管理', $company_id, $admin_id, $is_admin, $table_name, $notes_type, $oldData, $all_data, '修改了商品' . $oldData['product_name'] . '信息');
         // 告知结果
         return json_send(['code' => 'success', 'msg' => '修改成功']);
     }
@@ -292,7 +301,7 @@ class Product extends Controller
         $request->scene('set_status')->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');//是否管理员操作 0=是1=否
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         // 接收数据
         $id                = request('id', 0);
         $status            = request('status', 0);
@@ -306,9 +315,9 @@ class Product extends Controller
         }
         // 查询用户
         $where = ['id' => $id];
-        if ($is_admin != 1 && $company_id != 0){
-             $where['company_id'] = $company_id;
-        }else{
+        if ($is_admin != 1 && $company_id != 0) {
+            $where['company_id'] = $company_id;
+        } else {
             $where['company_id'] = $admin_company_id;
         }
         $Product = $ProductModel->where($where)->first();
@@ -321,7 +330,7 @@ class Product extends Controller
         $admin_id   = request('access_token.uid', 0); //用户ID
         $table_name = $ProductModel->getTable();
         $notes_type = 2; //操作类型,1添加,2修改,3=删除
-        $this->addAdminHistory('采集配置-商品管理',$company_id, $admin_id, $is_admin, $table_name, $notes_type, [], ['status' => $status], '修改了商品' . $Product->product_name . '状态');
+        $this->addAdminHistory('采集配置-商品管理', $company_id, $admin_id, $is_admin, $table_name, $notes_type, [], ['status' => $status], '修改了商品' . $Product->product_name . '状态');
         // 告知结果
         return             json_send(['code' => 'success', 'msg' => '设置成功']);
     }
@@ -340,14 +349,14 @@ class Product extends Controller
         $request->scene('delete')->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');//是否管理员操作 0=是1=否
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
         // 接收数据
         $id = request('id', 0);
         // 查询用户
         $where = ['id' => $id];
-        if ($is_admin != 1 && $company_id != 0){
-             $where['company_id'] = $company_id;
-        }else{
+        if ($is_admin != 1 && $company_id != 0) {
+            $where['company_id'] = $company_id;
+        } else {
             $where['company_id'] = $admin_company_id;
         }
         // 执行删除
@@ -362,7 +371,7 @@ class Product extends Controller
             $admin_id   = request('access_token.uid', 0); //用户ID
             $table_name = $ProductModel->getTable();
             $notes_type = 3; //操作类型,1添加,2修改,3=删除
-            $this->addAdminHistory('采集配置-商品管理',$company_id, $admin_id, $is_admin, $table_name, $notes_type, $Product->toarray(), [], '删除了商品' . $Product->product_name . '信息');
+            $this->addAdminHistory('采集配置-商品管理', $company_id, $admin_id, $is_admin, $table_name, $notes_type, $Product->toarray(), [], '删除了商品' . $Product->product_name . '信息');
             // 告知结果
             DB::commit();
             return             json_send(['code' => 'success', 'msg' => '删除成功']);

+ 10 - 2
app/Http/Controllers/Manager/WashConfig/LowPriceGoods.php

@@ -31,7 +31,7 @@ class LowPriceGoods extends Controller
      * @date      2025-12-02
      * 
      */
-    public function list(Request $request, LowPriceGoodsModel $LowPriceGoodsModel,LowPriceGoodsCompanyModel $LowPriceGoodsCompanyModel, ProductCategoryModel $ProductCategoryModel)
+    public function list(Request $request, LowPriceGoodsModel $LowPriceGoodsModel, LowPriceGoodsCompanyModel $LowPriceGoodsCompanyModel, ProductCategoryModel $ProductCategoryModel)
     {
         $request->scene('list')->validate();
         $admin_company_id = request('admin_company_id', '0');
@@ -174,6 +174,10 @@ class LowPriceGoods extends Controller
         }
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         $store_scope = request('store_scope', '');
         $all_data['store_scope'] = $store_scope;
         $company_scope = request('company_scope', '');
@@ -224,6 +228,10 @@ class LowPriceGoods extends Controller
         $id         = request('id', 0);
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         $store_scope = request('store_scope', '');
         $all_data['store_scope'] = $store_scope;
         $company_scope = request('company_scope', '');
@@ -476,7 +484,7 @@ class LowPriceGoods extends Controller
                     $insert_product_data['company_id']  = $admin_company_id;
                 }
                 $insert_product_data['product_name'] = $item[0]; // 商品名称
-                $insert_product_data['category_id'] =$category_id; // 商品分类
+                $insert_product_data['category_id'] = $category_id; // 商品分类
                 $insert_product_data['product_specs'] = $item[2]; // 商品规格
                 $insert_product_data['suggested_price'] = $item[3]; // 指导价格
                 $insert_product_data['platform'] = $platform_id_text != '' ? substr($platform_id_text, 0, -1) : '0'; // 平台:0=全部,1=淘宝,2=京东,3=拼多多,4=美团,5=药师帮,6=1药城,7=药久久

+ 8 - 0
app/Http/Controllers/Manager/WashConfig/ViolationProduct.php

@@ -180,6 +180,10 @@ class ViolationProduct extends Controller
         }
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         $store_scope = request('store_scope', '');
         $all_data['store_scope'] = $store_scope;
         $company_scope = request('company_scope', '');
@@ -230,6 +234,10 @@ class ViolationProduct extends Controller
         $id         = request('id', 0);
         // 接收数据
         $all_data = request()->all();
+        $product_brand = request('product_brand', '');
+        $product_keyword = request('product_keyword', '');
+        $all_data['product_brand'] = $product_brand;
+        $all_data['product_keyword'] = $product_keyword;
         $store_scope = request('store_scope', '');
         $all_data['store_scope'] = $store_scope;
         $company_scope = request('company_scope', '');

+ 44 - 4
app/Models/Manager/Collect/Product.php

@@ -5,6 +5,7 @@ namespace App\Models\manager\Collect;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\DB;
+use App\Models\manager\Collect\ProductKeyword as ProductKeywordModel;
 
 /**
  * 采集配置-商品管理
@@ -41,6 +42,7 @@ class Product extends Model
             '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);
@@ -61,12 +63,13 @@ class Product extends Model
         DB::beginTransaction();
         try {
             // 计算品规数量
-            $product_specs_data =isset($data['product_specs']) && $data['product_specs'] !='' ? explode(',', $data['product_specs']) : '';
+            $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_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,
@@ -78,6 +81,21 @@ class Product extends Model
                 '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;
             // 成功处理...
@@ -102,12 +120,13 @@ class Product extends Model
         DB::beginTransaction();
         try {
             // 计算品规数量
-             $product_specs_data =isset($data['product_specs']) && $data['product_specs'] !='' ? explode(',', $data['product_specs']) : '';
+            $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_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;
@@ -117,6 +136,27 @@ class Product extends Model
             $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;
             // 成功处理...

+ 26 - 0
app/Models/Manager/Collect/ProductKeyword.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Models\manager\Collect;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\DB;
+
+/**
+ * 采集配置-商品关键字管理
+ * @author: 唐远望
+ * @version: 1.0
+ * @date: 2026-03-31
+ */
+class ProductKeyword extends Model
+{
+    use HasFactory;
+    // 与模型关联的表名
+    protected $table = 'collect_product_keyword';
+    // 是否主动维护时间戳
+    public $timestamps = false;
+    // 定义时间戳字段名
+    // const CREATED_AT = 'insert_time';
+    // const UPDATED_AT = 'update_time';
+
+}

+ 39 - 0
app/Models/Manager/WashConfig/LowPriceGoods.php

@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\DB;
 use App\Models\Manager\WashConfig\LowPriceGoodsCompany as LowPriceGoodsCompanyModel;
 use App\Models\Manager\WashConfig\LowPriceGoodsPlatform as LowPriceGoodsPlatformModel;
+use App\Models\manager\WashConfig\LowPriceGoodsKeyword as LowPriceGoodsKeywordModel;
 
 
 /**
@@ -44,6 +45,7 @@ class LowPriceGoods extends Model
             '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(),
         ];
         $LowProduct_id = $this->insertGetId($insert_data);
@@ -66,6 +68,7 @@ class LowPriceGoods extends Model
 
             $insert_data = [
                 'company_id' => $data['company_id'],
+                'product_brand' => $data['product_brand'],
                 'platform' => $data['platform'],
                 'product_name' => $data['product_name'],
                 'product_specs' => $data['product_specs'],
@@ -102,6 +105,21 @@ class LowPriceGoods extends Model
                 }
                 $LowPriceGoodsPlatformModel->insert($insert_platform_data);
             }
+            // 如果存在采集配置的关键字
+            $product_keyword = $data['product_keyword'];
+            if (trim($product_keyword) !='') {
+                $ProductKeywordModel = new LowPriceGoodsKeywordModel();
+                $product_keyword_data = explode(',', $product_keyword);
+                $keyword_data =[];
+                foreach ($product_keyword_data as $key => $value) {
+                    if(trim($value) == '') continue;
+                    $keyword_data[] = [
+                        'lowprice_product_id' => $LowProduct_id,
+                        'keyword' => $value,
+                    ];
+                }
+                $ProductKeywordModel->insert($keyword_data);
+            }
             DB::commit();
             return true;
             // 成功处理...
@@ -132,6 +150,7 @@ class LowPriceGoods extends Model
             $company_scope = $data['company_scope'] != '' ? 2 : 1; //公司范围1=全部公司 2=指定公司
             $LowProduct->company_id = $data['company_id'];
             $LowProduct->platform = $data['platform'];
+            $LowProduct->product_brand = $data['product_brand'];
             $LowProduct->product_name = $data['product_name'];
             $LowProduct->product_specs = $data['product_specs'];
             $LowProduct->suggested_price = $data['suggested_price'];
@@ -174,6 +193,26 @@ class LowPriceGoods extends Model
                 }
                 $LowPriceGoodsPlatformModel->insert($insert_platform_data);
             }
+            // 如果存在采集配置的关键字
+            $product_keyword = $data['product_keyword'];
+            if (trim($product_keyword) !='') { {
+                $ProductKeywordModel = new LowPriceGoodsKeywordModel();
+                //查询是否配置了关键字,如果有则删除重新添加
+                $keyword_count = $ProductKeywordModel->where('lowprice_product_id', $LowProduct->id)->count();
+                if ($keyword_count > 0) {
+                    $ProductKeywordModel->where('lowprice_product_id', $LowProduct->id)->delete();
+                }
+                $product_keyword_data = explode(',', $product_keyword);
+                $keyword_data = [];
+                foreach ($product_keyword_data as $key => $value) {
+                    if (trim($value) == '') continue;
+                    $keyword_data[] = [
+                        'lowprice_product_id' => $LowProduct->id,
+                        'keyword' => $value,
+                    ];
+                }
+                $ProductKeywordModel->insert($keyword_data);
+            }
             DB::commit();
             return true;
             // 成功处理...

+ 26 - 0
app/Models/Manager/WashConfig/LowPriceGoodsKeyword.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Models\Manager\WashConfig;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * 清洗配置-低价商品关键字
+ * @author: 唐远望
+ * @version: 1.0
+ * @date: 2026-03-11
+ */
+class LowPriceGoodsKeyword extends Model
+{
+    use HasFactory;
+    // 与模型关联的表名
+    protected $table = 'washconfig_lowprice_product_keyword';
+    // 是否主动维护时间戳
+    public $timestamps = false;
+    // 定义时间戳字段名
+    // const CREATED_AT = 'insert_time';
+    // const UPDATED_AT = 'update_time';
+
+
+}

+ 39 - 0
app/Models/Manager/WashConfig/ViolationProduct.php

@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\DB;
 use App\Models\Manager\WashConfig\ViolationProductCompany as ViolationProductCompanyModel;
 use App\Models\Manager\WashConfig\ViolationProductPlatform as ViolationProductPlatformModel;
+use App\Models\Manager\WashConfig\ViolationProductKeyword as ViolationProductKeywordModel;
 
 
 /**
@@ -38,12 +39,14 @@ class ViolationProduct extends Model
         $insert_data = [
             'company_id' => $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);
@@ -102,6 +105,21 @@ class ViolationProduct extends Model
                 }
                 $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;
             // 成功处理...
@@ -131,6 +149,7 @@ class ViolationProduct extends Model
             $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;
@@ -171,6 +190,26 @@ class ViolationProduct extends Model
                 }
                 $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;
             // 成功处理...

+ 26 - 0
app/Models/Manager/WashConfig/ViolationProductKeyword.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace App\Models\Manager\WashConfig;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * 清洗配置-违规商品关键字
+ * @author: 唐远望
+ * @version: 1.0
+ * @date: 2026-03-11
+ */
+class ViolationProductKeyword extends Model
+{
+    use HasFactory;
+    // 与模型关联的表名
+    protected $table = 'washconfig_violation_product_keyword';
+    // 是否主动维护时间戳
+    public $timestamps = false;
+    // 定义时间戳字段名
+    // const CREATED_AT = 'insert_time';
+    // const UPDATED_AT = 'update_time';
+
+
+}