Authored by biao

Merge remote-tracking branch 'origin/develop/wap' into beta/wap

@@ -71,6 +71,21 @@ class Cache @@ -71,6 +71,21 @@ class Cache
71 else { 71 else {
72 $result = HoodCache::Memcached($node)->get(self::makeKey($key, $node)); 72 $result = HoodCache::Memcached($node)->get(self::makeKey($key, $node));
73 } 73 }
  74 +
  75 + // 当接口异常,一级缓存没取到数据的情况
  76 + if ($node === 'slave') {
  77 + $incrementKey = self::makeKey('_increment_' . $key, 'slave');
  78 + $incrementValue = HoodCache::Memcached('slave')->get($incrementKey, 'slave');
  79 + // 接口调用失败累计5次之后,回填二级缓存数据到一级缓存, 重置计数值为0
  80 + if (is_int($incrementValue) && $incrementValue > 5) {
  81 + HoodCache::Memcached('master')->set(self::makeKey($key, 'master'), $result, 300);
  82 + HoodCache::Memcached('slave')->set($incrementKey, 0, 3600);
  83 + }
  84 + // 接口调用失败次数累加
  85 + else {
  86 + HoodCache::Memcached('slave')->increment($incrementKey, 1, 0, 3600);
  87 + }
  88 + }
74 } catch (Exception $e) { 89 } catch (Exception $e) {
75 $result = array(); 90 $result = array();
76 } 91 }
@@ -99,6 +114,32 @@ class Cache @@ -99,6 +114,32 @@ class Cache
99 } 114 }
100 115
101 /** 116 /**
  117 + * 累加
  118 + *
  119 + * @param string $key
  120 + * @param int $offset
  121 + * @param int $initialValue
  122 + * @param int $expiry
  123 + * @return boolean
  124 + */
  125 + public static function increment($key, $offset = 1, $initialValue = 0, $expiry = 0)
  126 + {
  127 + return HoodCache::Memcached('master')->increment(self::makeKey($key, 'master'), $offset, $initialValue, $expiry);
  128 + }
  129 +
  130 + /**
  131 + * 递减
  132 + *
  133 + * @param string $key
  134 + * @param int $offset
  135 + * @return boolean
  136 + */
  137 + public static function decrement($key, $offset = 1)
  138 + {
  139 + return HoodCache::Memcached('master')->decrement(self::makeKey($key, 'master'), $offset);
  140 + }
  141 +
  142 + /**
102 * 生成键名 143 * 生成键名
103 * 144 *
104 * @param string $key 键名 145 * @param string $key 键名
@@ -490,7 +490,9 @@ $yohoPage.on('touchstart', '.btn-minus', function() { @@ -490,7 +490,9 @@ $yohoPage.on('touchstart', '.btn-minus', function() {
490 490
491 //延迟刷新,否则面板可能无法隐藏 491 //延迟刷新,否则面板可能无法隐藏
492 setTimeout(function() { 492 setTimeout(function() {
493 - window.location.reload(); 493 +
  494 + //获取当前页面商品类型:普通商品/预售商品
  495 + window.location.href = '/cart/index/index?cartType=' + $('#cartType').val();
494 }, 1); 496 }, 1);
495 } 497 }
496 }).fail(function() { 498 }).fail(function() {