优化:商品详情 特殊商品输出信息增加商品ID信息

This commit is contained in:
wuhui_zzw 2024-04-22 11:47:26 +08:00
parent 3b3c58470d
commit 0636425c66
1 changed files with 13 additions and 6 deletions

View File

@ -1404,7 +1404,7 @@ class ProductRepository extends BaseRepository
$product['province_list'] = [];// 当前商品绑定的全部存在地区信息的省公司发起人
$product['province_has_list'] = [];// 存在当前商品库存的省公司门店
if($product['agent_two_ids'] && $product['copy_product_id'] > 0 && $product['supplier_mer_id'] > 0){
$product['province_list'] = Agent::getDB()
$province_list = Agent::getDB()
->field('id,province_id,mer_id')
->whereIn('id',$product['agent_two_ids'])
->where('province_id','>',0)
@ -1421,17 +1421,24 @@ class ProductRepository extends BaseRepository
$hasProvinceMer = Product::getDB()
->alias('a')
->join('merchant m', 'a.mer_id = m.mer_id', 'LEFT')
->whereIn('m.mer_id', array_filter(array_column($product['province_list'], 'mer_id')))
->whereIn('m.mer_id', array_filter(array_column($province_list, 'mer_id')))
->where('m.status',1)
->where('m.mer_state',1)
->where('m.is_del',0)
->where('a.copy_product_id',$product['copy_product_id'])
->where('a.supplier_mer_id',$product['supplier_mer_id'])
->group('m.mer_id')
->column('m.mer_id');
$product['province_has_list'] = array_values(array_filter(array_map(function($item) use ($hasProvinceMer){
if(in_array($item['mer_id'],$hasProvinceMer)) return (int)$item['mer_id'];
},$product['province_list'])));
->column('a.product_id', 'm.mer_id');
$province_has_list = [];
foreach($province_list as $provinceIndex => $provinceItem){
$merId = (int)$provinceItem['mer_id'];
$province_list[$provinceIndex]['product_id'] = $hasProvinceMer[$merId] ?? 0;
// 获取存在货源的地区
if(in_array($merId,array_keys($hasProvinceMer))) $province_has_list[] = $merId;
}
$product['province_has_list'] = $province_has_list;
$product['province_list'] = $province_list;
}
return $product;