paramsTokenService->analyze('banner_logo_list'); //获取ssdb上的首页banner 市场 列表 $market_list = $this->paramsTokenService->analyze('banner_market_list'); //根据前端指定的指获取店铺id 字符串 并拆分成数组 if(isset($market_list['market_id_'.$market_id]) && !empty($market_list['market_id_'.$market_id])) { $store_list = $market_list['market_id_' . $market_id]; $store_list = explode(',', $store_list); //遍历店铺 foreach ($store_list as $store_id) { $banners[] = [ 'id' => $store_id, 'item' => 1, 'item_text' => 'page', 'logo' => $logo_list['store_id_' . $store_id], 'redirect_url' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, 'src' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, 'src2' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, ]; } }else{ $banners = Ad::query()->select(['id','title','logo','item','src','src2']) ->where([ 'type' => Ad::TYPE_BANNER, 'status' => Ad::STATUS_YES ]) ->orderBy('orderby', 'desc') ->get(); } return $banners; } public function getBannerByMarketId($params) { $market_id = $params['market_id'] ?? 0; //获取ssdb上的首页banner logo 列表 $logo_list = $this->paramsTokenService->analyze('banner_logo_list'); //获取ssdb上的首页banner 市场 列表 $market_list = $this->paramsTokenService->analyze('banner_market_list'); //根据前端指定的指获取店铺id 字符串 并拆分成数组 if(isset($market_list['market_id_'.$market_id]) && !empty($market_list['market_id_'.$market_id])) { $store_list = $market_list['market_id_' . $market_id]; $store_list = explode(',', $store_list); //遍历店铺 foreach ($store_list as $store_id) { $banners[] = [ 'id' => $store_id, 'item' => 1, 'item_text' => 'page', 'logo' => $logo_list['store_id_' . $store_id], 'redirect_url' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, 'src' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, 'src2' => '/zh_cjdianc/pages/takeout/takeoutindex?storeid=' . $store_id, ]; } }else{ $banners = $this->adService->banners(); } return $banners; } public function ssdbPurchaseRecord($data,$user_id,$global_order_id) { foreach ($data as $k => $v){ if($v['money'] == 0.01){ //添加特价商品购买记录到ssdb $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $ssdb->exec('set', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$user_id.'_'.$v['good_id'], $global_order_id); $end_timestamp = strtotime(date('Y-m-d').'23:59:59'); $end_time = $end_timestamp - time(); $ssdb->exec('expire', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$user_id.'_'.$v['good_id'],$end_time); } } return true; } public function delSsdbPurchaseRecord($global_order_id) { $order_main = OrderMain::where('global_order_id',$global_order_id) ->select('id','user_id') ->first(); $order_id = $order_main->id; $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $order = Order::query() ->where('order_main_id',$order_id) ->select('id','user_id') ->get() ->toArray(); foreach ($order as $k1 => $v1){ $goods = OrderGoods::query() ->where([ ['order_id','=',$v1['id']], ['money','=',0.01], ]) ->select('good_id') ->get() ->toArray(); foreach ($goods as $k2 => $v2) { $ssdb->exec('del', SsdbKeysPrefix::PURCHASE_RECORD. date('Ymd') .'_'.$v1['user_id'].'_'.$v2['good_id']); } } return true; } public function PurchaseLimit($orderGoods) { $sum = 0; foreach ($orderGoods as $goods){ if($goods['money'] == 0.01){ if($sum > 0){ return false; } $sum++; } } return true; } }