From 0636425c66c99c11800f59bf3ce067bf1db32e5d Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Mon, 22 Apr 2024 11:47:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85=20=20=E7=89=B9=E6=AE=8A=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E4=BF=A1=E6=81=AF=E5=A2=9E=E5=8A=A0=E5=95=86?= =?UTF-8?q?=E5=93=81ID=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/product/ProductRepository.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) 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;