修复导入商品

This commit is contained in:
mkm 2023-11-24 10:53:02 +08:00
parent 5c5dc50bc0
commit ad7675fb50
2 changed files with 41 additions and 11 deletions

View File

@ -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'],

View File

@ -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);