|
@@ -273,7 +273,7 @@ class Product extends Controller
|
|
|
$all_data['company_id'] = $admin_company_id;
|
|
$all_data['company_id'] = $admin_company_id;
|
|
|
}
|
|
}
|
|
|
$data = $ProductModel->where($map)->first();
|
|
$data = $ProductModel->where($map)->first();
|
|
|
- if (!empty($data)) {
|
|
|
|
|
|
|
+ if (!empty($data) && $enable_full_quantity == 1) {
|
|
|
//继续校验规格是否存在
|
|
//继续校验规格是否存在
|
|
|
$product_specs_tring = $all_data['product_specs'];
|
|
$product_specs_tring = $all_data['product_specs'];
|
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
@@ -303,6 +303,21 @@ class Product extends Controller
|
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格记录']);
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格记录']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }else if (!empty($data) && $enable_full_quantity == 0) {
|
|
|
|
|
+ $platforms = $platform_string ? explode(',', $platform_string) : '';
|
|
|
|
|
+ $platforms = $platforms ? array_unique($platforms) : '';
|
|
|
|
|
+
|
|
|
|
|
+ $platform_data = $ProductModel->platform_data();
|
|
|
|
|
+ foreach ($platforms as $platform) {
|
|
|
|
|
+ $product_specs_log = $ProductModel
|
|
|
|
|
+ ->whereRaw("FIND_IN_SET(?, platform)", [$platform])
|
|
|
|
|
+ ->where(['product_brand' => $product_brand, 'product_name' => $all_data['product_name'],'status'=>'0'])
|
|
|
|
|
+ ->first();
|
|
|
|
|
+ $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
|
|
|
|
|
+ if (!empty($product_specs_log)) {
|
|
|
|
|
+ return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品记录']);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 写入数据表
|
|
// 写入数据表
|
|
@@ -371,7 +386,7 @@ class Product extends Controller
|
|
|
$map['company_id'] = $admin_company_id;
|
|
$map['company_id'] = $admin_company_id;
|
|
|
}
|
|
}
|
|
|
$data = $ProductModel->where($map)->where('id', '!=', $id)->first();
|
|
$data = $ProductModel->where($map)->where('id', '!=', $id)->first();
|
|
|
- if (!empty($data)) {
|
|
|
|
|
|
|
+ if (!empty($data) && $enable_full_quantity == 1) {
|
|
|
//继续校验规格是否存在
|
|
//继续校验规格是否存在
|
|
|
$product_specs_tring = $all_data['product_specs'];
|
|
$product_specs_tring = $all_data['product_specs'];
|
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
@@ -402,6 +417,21 @@ class Product extends Controller
|
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格记录']);
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格记录']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }else if (!empty($data) && $enable_full_quantity == 0) {
|
|
|
|
|
+ $platforms = $platform_string ? explode(',', $platform_string) : '';
|
|
|
|
|
+ $platforms = $platforms ? array_unique($platforms) : '';
|
|
|
|
|
+
|
|
|
|
|
+ $platform_data = $ProductModel->platform_data();
|
|
|
|
|
+ foreach ($platforms as $platform) {
|
|
|
|
|
+ $product_specs_log = $ProductModel
|
|
|
|
|
+ ->whereRaw("FIND_IN_SET(?, platform)", [$platform])
|
|
|
|
|
+ ->where(['product_brand' => $product_brand, 'product_name' => $all_data['product_name'],'status'=>'0'])
|
|
|
|
|
+ ->first();
|
|
|
|
|
+ $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
|
|
|
|
|
+ if (!empty($product_specs_log)) {
|
|
|
|
|
+ return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品记录']);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// 更新数据表
|
|
// 更新数据表
|
|
|
$where = ['id' => $id];
|
|
$where = ['id' => $id];
|
|
@@ -460,7 +490,7 @@ class Product extends Controller
|
|
|
}
|
|
}
|
|
|
$Product = $ProductModel->where($where)->first();
|
|
$Product = $ProductModel->where($where)->first();
|
|
|
if (!$Product) return json_send(['code' => 'error', 'msg' => '记录不存在']);
|
|
if (!$Product) return json_send(['code' => 'error', 'msg' => '记录不存在']);
|
|
|
- if (!empty($Product)) {
|
|
|
|
|
|
|
+ if (!empty($Product) && $Product->enable_full_quantity == 1) {
|
|
|
//继续校验规格是否存在
|
|
//继续校验规格是否存在
|
|
|
$product_specs_tring = $Product->product_specs;
|
|
$product_specs_tring = $Product->product_specs;
|
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
$product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
|
|
@@ -492,6 +522,22 @@ class Product extends Controller
|
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格启用记录']);
|
|
return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品规格启用记录']);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }else if (!empty($data) && $Product->enable_full_quantity == 0) {
|
|
|
|
|
+ $platform_string = $Product->platform;
|
|
|
|
|
+ $platforms = $platform_string ? explode(',', $platform_string) : '';
|
|
|
|
|
+ $platforms = $platforms ? array_unique($platforms) : '';
|
|
|
|
|
+
|
|
|
|
|
+ $platform_data = $ProductModel->platform_data();
|
|
|
|
|
+ foreach ($platforms as $platform) {
|
|
|
|
|
+ $product_specs_log = $ProductModel
|
|
|
|
|
+ ->whereRaw("FIND_IN_SET(?, platform)", [$platform])
|
|
|
|
|
+ ->where(['product_brand' => $Product->product_brand, 'product_name' => $Product->product_name,'status'=>'0'])
|
|
|
|
|
+ ->where('id', '!=', $id)->first();
|
|
|
|
|
+ $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
|
|
|
|
|
+ if (!empty($product_specs_log)) {
|
|
|
|
|
+ return json_send(['code' => 'error', 'msg' => $platform_name.'存在重复的商品启用记录']);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// 执行修改
|
|
// 执行修改
|
|
|
$result = $ProductModel->changeStatus($Product, $status);
|
|
$result = $ProductModel->changeStatus($Product, $status);
|