diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index 1bd53570..9bf61fae 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -2506,21 +2506,22 @@ class StoreOrderRepository extends BaseRepository $data = SpreadsheetExcelService::instance()->_import($arrary['path'], $arrary['sql'], $arrary['where'], 1); if (!$data) return false; unset($data[0]); - $mer_cate_id = Db::name('store_category')->where('mer_id', $merId)->where('cate_name', '默认分类')->value('store_category_id'); - if (!$mer_cate_id || $mer_cate_id == 0) { - $mer_cate = ['pid' => 0, 'cate_name' => '默认分类', 'path' => '/', 'mer_id' => $merId, 'sort' => 0, 'is_show' => 1, 'create_time' => date('Y-m-d H:i:s')]; - $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); - $mer_cate['pid'] = $mer_cate_id; - $mer_cate['path'] = '/' . $mer_cate_id . '/'; - $mer_cate['level'] = 1; - $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); - } + // $mer_cate_id = Db::name('store_category')->where('mer_id', $merId)->where('cate_name', '默认分类')->value('store_category_id'); + // if (!$mer_cate_id || $mer_cate_id == 0) { + // $mer_cate = ['pid' => 0, 'cate_name' => '默认分类', 'path' => '/', 'mer_id' => $merId, 'sort' => 0, 'is_show' => 1, 'create_time' => date('Y-m-d H:i:s')]; + // $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); + // $mer_cate['pid'] = $mer_cate_id; + // $mer_cate['path'] = '/' . $mer_cate_id . '/'; + // $mer_cate['level'] = 1; + // $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); + // } $typeCode = Db::name('merchant_type')->where('mer_type_id', $merId)->value('type_code'); $product_type = 0; if ($typeCode == Merchant::TypeCode['TypeSupplyChain']) { $product_type = 98; //供应链 } foreach ($data as $datum) { + $find = Db::name('store_product')->where('mer_id', $merId)->where('store_name', $datum['value']['store_name'])->find(); $attr_one = explode('|', $datum['value']['attr_one']); $attr_two = explode('|', $datum['value']['attr_two']); @@ -2573,6 +2574,7 @@ class StoreOrderRepository extends BaseRepository $spec_type = 1; $detail = $attr; + /**查询平台分类 */ $cate_id_one = Db::name('store_category')->where('mer_id', 0)->where('cate_name', $datum['value']['cate_id_one'])->value('store_category_id'); if ($cate_id_one) { $cate_id_two = Db::name('store_category')->where('mer_id', 0)->where('cate_name', $datum['value']['cate_id_two'])->value('store_category_id'); @@ -2580,9 +2582,35 @@ class StoreOrderRepository extends BaseRepository $cate_id = $cate_id_two; } } + /**查询商户分类 */ + $mer_cate_id=0; + if( $datum['value']['cate_id_one_mer'] !=''&& $datum['value']['cate_id_one_two']!=''){ + $cate_id_one_mer = Db::name('store_category')->where('level',0)->where('mer_id', $merId)->where('cate_name', $datum['value']['cate_id_one_mer'])->value('store_category_id'); + /**有一级分类 */ + if($cate_id_one_mer){ + $cate_id_one_two = Db::name('store_category')->where('pid',$cate_id_one_mer)->where('level',1)->where('mer_id', $merId)->where('cate_name', $datum['value']['cate_id_one_two'])->value('store_category_id'); + /**有二级分类 */ + if($cate_id_one_two){ + $mer_cate_id =$cate_id_one_two; + }else{ + $mer_cate['pid'] = $cate_id_one_two; + $mer_cate['path'] = '/' . $cate_id_one_two . '/'; + $mer_cate['level'] = 1; + $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); + } + }else{ + $cate_id_one_mer_arr = ['pid' => 0, 'cate_name' => $datum['value']['cate_id_one_mer'], 'path' => '/', 'mer_id' => $merId, 'sort' => 0, 'is_show' => 1, 'create_time' => date('Y-m-d H:i:s')]; + $cate_id_one_mer = Db::name('store_category')->insertGetId($cate_id_one_mer_arr); + $mer_cate['pid'] = $cate_id_one_mer; + $mer_cate['path'] = '/' . $cate_id_one_mer . '/'; + $mer_cate['level'] = 1; + $mer_cate_id = Db::name('store_category')->insertGetId($mer_cate); + } + } $bar_code = (int) $datum['value']['bar_code']; $bar_code_where = ['is_used' => 1, 'status' => 1, 'is_del' => 0]; $bar_code_field = 'id,store_name,bar_code,manu_address,price,stock,image,slider_image,spec,trademark,manu_name,manu_address,note'; + $library=null; if ($bar_code) { $library = Db::name('product_library')->where('bar_code', $bar_code)->where($bar_code_where)->field($bar_code_field) ->withAttr('slider_image', function ($value, $data) { @@ -2622,7 +2650,7 @@ class StoreOrderRepository extends BaseRepository "guarantee_template_id" => "", "cate_id" => $cate_id, "mer_cate_id" => [ - 0 => $mer_cate_id //要修改 + 0 => $mer_cate_id ], 'product_type' => $product_type, "unit_name" => $datum['value']['unit_name'], diff --git a/app/common/repositories/store/product/ProductRepository.php b/app/common/repositories/store/product/ProductRepository.php index 4fc2c7da..74a72371 100644 --- a/app/common/repositories/store/product/ProductRepository.php +++ b/app/common/repositories/store/product/ProductRepository.php @@ -239,7 +239,9 @@ class ProductRepository extends BaseRepository $result = $this->dao->create($product); $settleParams = $this->setAttrValue($data, $result->product_id, $productType, 0, $data['mer_id']); - // $settleParams['cate'] = $this->setMerCate($data['mer_cate_id'], $result->product_id, $data['mer_id']); + if(isset($data['mer_cate_id']) &&$data['mer_cate_id']!=0){ + $settleParams['cate'] = $this->setMerCate($data['mer_cate_id'], $result->product_id, $data['mer_id']); + } $settleParams['attr'] = $this->setAttr($data['attr'], $result->product_id); if (in_array($productType, [0, 98, 99])) app()->make(ParameterValueRepository::class)->create($result->product_id, $data['params'] ?? [], $data['mer_id']); $this->save($result->product_id, $settleParams, $content, $product, $productType);