|
@@ -44,6 +44,7 @@ class limitime
|
|
|
const XIANSHI_STATE_CLOSE = 2;
|
|
|
const XIANSHI_STATE_CANCEL = 3;
|
|
|
|
|
|
+ const cache_name = 'all_limitime';
|
|
|
const STORE_ID = 6;
|
|
|
|
|
|
static private $stInstance = null;
|
|
@@ -69,15 +70,30 @@ class limitime
|
|
|
|
|
|
private function init()
|
|
|
{
|
|
|
+ $data = $this->read_cache();
|
|
|
+ $this->limit_list = $data['limit_list'];
|
|
|
+ $this->mGoodsidLimitGoods = $data['goodsidLimitGoods'];
|
|
|
+ $this->mLimitGoods = $data['limitGoods'];
|
|
|
+ }
|
|
|
+
|
|
|
+ private function read_cache()
|
|
|
+ {
|
|
|
+ $prefix = 'mb_activity';
|
|
|
+ $items = rcache(self::cache_name, $prefix);
|
|
|
+
|
|
|
+ if (!empty($items)) {
|
|
|
+ return unserialize($items['data']);
|
|
|
+ }
|
|
|
+
|
|
|
+ $limit_list = [];
|
|
|
+ $goodsidLimitGoods = [];
|
|
|
+ $limitGoods = [];
|
|
|
+
|
|
|
$mod = Model('p_xianshi');
|
|
|
$condition = array();
|
|
|
$condition['store_id'] = self::STORE_ID;
|
|
|
$condition['state'] = self::XIANSHI_STATE_NORMAL;
|
|
|
|
|
|
- $this->limit_list = array();
|
|
|
- $this->mGoodsidLimitGoods = array();
|
|
|
- $this->mLimitGoods = [];
|
|
|
-
|
|
|
$list = $mod->getXianshiList($condition);
|
|
|
foreach ($list as $val)
|
|
|
{
|
|
@@ -89,21 +105,27 @@ class limitime
|
|
|
$goods_list = Model('p_xianshi_goods')->getXianshiGoodsList(array('xianshi_id' => $xianshi_id));
|
|
|
foreach ($goods_list as $xianshi_goods) {
|
|
|
$goods_id = intval($xianshi_goods['goods_id']);
|
|
|
- $this->add_limitgoods($goods_id,$xianshi_goods);
|
|
|
+ self::add_limitgoods($goodsidLimitGoods,$goods_id,$xianshi_goods);
|
|
|
$gids[] = $goods_id;
|
|
|
}
|
|
|
- $this->mLimitGoods[$xianshi_id] = $gids;
|
|
|
- $this->limit_list[$xianshi_id]['goods_list'] = $gids;
|
|
|
+ $mLimitGoods[$xianshi_id] = $gids;
|
|
|
+ $limit_list[$xianshi_id]['goods_list'] = $gids;
|
|
|
}
|
|
|
+
|
|
|
+ $data = array('limit_list' => $limit_list,'goodsidLimitGoods' => $goodsidLimitGoods, 'limitGoods' => $limitGoods);
|
|
|
+ wcache(self::cache_name, array('data' => serialize($data)), $prefix);
|
|
|
+
|
|
|
+ return $data;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- private function add_limitgoods($goods_id,$limit_goods)
|
|
|
+ private static function add_limitgoods(&$goodsidLimitGoods,$goods_id,$limit_goods)
|
|
|
{
|
|
|
- if(isset($this->mGoodsidLimitGoods[$goods_id])) {
|
|
|
- $this->mGoodsidLimitGoods[$goods_id][] = $limit_goods;
|
|
|
+ if(isset($goodsidLimitGoods[$goods_id])) {
|
|
|
+ $goodsidLimitGoods[$goods_id][] = $limit_goods;
|
|
|
} else {
|
|
|
- $this->mGoodsidLimitGoods[$goods_id] = [];
|
|
|
- $this->mGoodsidLimitGoods[$goods_id][] = $limit_goods;
|
|
|
+ $goodsidLimitGoods[$goods_id] = [];
|
|
|
+ $goodsidLimitGoods[$goods_id][] = $limit_goods;
|
|
|
}
|
|
|
}
|
|
|
|