$this->mall_id], ['addons_name' => MchEnum::ADDONS_NAME], ['status' => StatusEnum::ENABLED]]); if ($data == false) return $this->error(AddonsMarketingSetting::getStaticError()); $content = json_decode($data['content'], true); if (empty($content[3]['data']['goods'])) { return $this->success('success', []); } $mch_ids = []; foreach ($content[3]['data']['goods'] as $good) { $mch_ids[] = $good['params']['id'] ?? 0; } $mch_ids = array_unique($mch_ids); $mch_list = Mch::find() ->select('id,store_name,logo_img,praise') ->where( ['mall_id' => $this->mall_id,'status' => StatusEnum::ENABLED, 'check_status' => MchEnum::CHECK_ADOPT, 'id' => $mch_ids]) ->andWhere(['or', ['>', 'expire_time', time()], ['expire_time' => 0]]) ->indexBy('id') ->asArray() ->all(); foreach ($content[3]['data']['goods'] as $k=>$good) { if(!empty($good['params']['id'])){ $mch_id = $good['params']['id']; if(!isset($mch_list[$mch_id])) unset($content[3]['data']['goods'][$k]); } } $data['content'] = json_encode($content); return $this->success('', $data); } }