$this->mall_id], ['addons_name' => StoreEnum::ADDONS_NAME], ['status' => StatusEnum::ENABLED]]); $content = json_decode($data['content'],true); $store_ids = []; if(isset($content[3]['data']['goods'])){ foreach ($content[3]['data']['goods'] as $item){ $store_ids[]=$item['params']['id']; } $store_list = Store::lists([ 'where'=>[ ['id'=>$store_ids], ['status' => StatusEnum::ENABLED], ['check_status' => StoreEnum::CHECK_ADOPT], ['or', ['>', 'expire_time', time()], ['expire_time' => 0]] ], 'index'=>'id' ]); $store_arr = []; foreach ($content[3]['data']['goods'] as $item){ if(isset($store_list[$item['params']['id']])){ $item['params']['store_name'] = $store_list[$item['params']['id']]['store_name']; $store_arr[]=$item; } } $content[3]['data']['goods'] = $store_arr; } if(isset($content[4]['data']['goods'])){ $store_ids = $goods_ids = []; foreach ($content[4]['data']['goods'] as $item){ $goods_ids[]=$item['params']['id']; $store_ids[]=$item['params']['store_id']; } $store_list = Store::lists([ 'where'=>[ ['id'=>$store_ids], ['status' => StatusEnum::ENABLED], ['check_status' => StoreEnum::CHECK_ADOPT], ['or', ['>', 'expire_time', time()], ['expire_time' => 0]] ], ]); $store_goods_list = StoreGoods::lists([ 'where'=>[ ['id'=>$goods_ids], ['status' => StatusEnum::ENABLED], ['check_status' => StoreEnum::CHECK_ADOPT], ['is_on_sale' =>1], ], 'index'=>'id' ]); $store_id_arr =array_column($store_list,'id'); $goods_arr = []; foreach ($content[4]['data']['goods'] as $item){ if(in_array($item['params']['store_id'],$store_id_arr)){ if(isset($store_goods_list[$item['params']['id']])){ $goods_arr[]=$item; } } } $content[4]['data']['goods'] = $goods_arr; } $data['content'] = json_encode($content); if ($data == false) return $this->error(AddonsMarketingSetting::getStaticError()); return $this->success('', $data); } public function actionConf() { $decoration = \Yii::$app->services->setting->addons->get($this->mall_id, StoreEnum::ADDONS_NAME, 'decoration'); $return['near_shop_title'] = $decoration['near_shop_title'] ?? '附近商家'; return $this->success('', $return); } }