getAssociationGoodsIds($params['id']); if (empty($gids)) return []; $goods = StoreGoods::lists([ 'where' => [ ['mall_id' => $this->mall_id], ['store_id' => $this->store_id], ['id' => $gids], ['status' => StatusEnum::ENABLED], ['is_on_sale' => StatusEnum::ENABLED], ['check_status' => StatusEnum::ENABLED], ], 'order' => 'id desc', 'select'=> 'id, goods_name, price, original_price, cover_pic, sales_num, virtual_sales, unit' ]); if (!empty(StoreGoods::getStaticError())) return StoreGoods::getStaticError(); if (!empty($goods)) { foreach ($goods as &$good) { $good['sales_num'] += $good['virtual_sales']; unset($good['virtual_sales']); } } return $goods; } /** * 获取门店预约商品ID * @return array */ public function getGoodsIds() { return StoreGoodsReserve::find() ->where(['mall_id' => $this->mall_id]) ->andWhere(['store_id' => $this->store_id]) // ->andWhere(['status' => StatusEnum::ENABLED]) ->andWhere(['reserve_type' => StatusEnum::ENABLED]) // ->andWhere(['is_on_sale' => StatusEnum::ENABLED]) // ->andWhere(['check_status' => StatusEnum::ENABLED]) ->select(['goods_id']) ->column(); } public function getAssociationGoodsIds($staff_user_id) { $goods_ids = ReservationServiceStoreGoods::find() ->where(['mall_id' => $this->mall_id]) ->andWhere(['store_id' => $this->store_id]) ->andWhere(['user_id' => $staff_user_id,'status'=>StatusEnum::ENABLED]) ->select(['goods_id']) ->column(); $goods_ids = StoreGoods::find() ->where(['mall_id' => $this->mall_id]) ->andWhere(['store_id' => $this->store_id]) ->andWhere(['id' => $goods_ids]) ->andWhere(['goods_type' => GoodsTypeEnum::GoodsTypeReserved]) ->andWhere(['status' => StatusEnum::ENABLED]) ->andWhere(['is_on_sale' => StatusEnum::ENABLED]) ->andWhere(['check_status' => StatusEnum::ENABLED]) ->select(['id']) ->column(); return $goods_ids; } }