diff --git a/app/common/repositories/store/product/ProductRepository.php b/app/common/repositories/store/product/ProductRepository.php index 6d65441..735faf8 100644 --- a/app/common/repositories/store/product/ProductRepository.php +++ b/app/common/repositories/store/product/ProductRepository.php @@ -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;